Accuracy using Estimote Beacons


I am using 3 Estimote beacons for developing an iOS application in which I need to know the exact distance and direction of the device from the beacon.
I have used iOS’s CLLocation as well as Estimote’s framework but both of them give an incorrect value for the distance. Moreover, the values fluctuate a lot, the beacon even goes into unknown state (accuracy -1.000) a lot of times.
Why does the accuracy changes every seconds?