Why estimatesmart fee returning the same fee for diffeent blocks number? I am trying to calculate the fee per kb using the estimatesmartfee. 

I had called estimatesmart fee with  different type of blocks number .The fee remaing the same. 

estimatesmartfee(2)=estimatesmartfee(6)=estimatesmartfee(24)

above statement seems to be correct . Please let me know if there is some another changes need to be done using the estimatesmartfee
The estimatesmartfee fee estimation algorithm maintains local historical records of two things:


Transaction fees (sat/B) of confirmed transactions
Target Intervals: Blocks between mempool acceptance and confirmation


Based on these records, the algorithm will be able to provide an estimation of the minimum fees required to obtain confirmation within your specified block interval target n.

Specifically, when you query estimatesmartfee(n), you are asking for a 95% historic probability that your transaction will be mined in n blocks. 

There are two possibilities for why estimatesmartfee(n) will return equal fees for different targets.


It returns -1: The method doesn't have enough historical mempool records to perform the estimation.
For the mempool records on your local server, the fee rates for 95% confirmation probability within your indicated target values n fall within the same fee bucket range, resulting in the same sat/b values returned.


You may want to run the server a little longer and see if these values change.