Nowadays, research and development of various indoor positioning systems (IPS) have been increasing owing to flourishing social and commercial interest in location-based services (LBSs). Among LBS technologies, we used the Bluetooth low energy beacon in our system, which consumes less energy and is embedded in many current smartphones and tablets. In particular, the fingerprinting method has become a prime choice in the design of IPS owing to its good location estimation and the fact that a line-of-sight from access points is not required. We propose an improved two-step fingerprinting localization using multiple fingerprint features to enhance the localization accuracy. The proposed system uses a propagation model to convert RSS of beacons to distance and estimate the weighted centroid (WC) of nearby beacons. The estimated WCs along with signal strength and rank of the nearby beacons are stored in the server database for localization instead of RSS from all the deployed beacons. First, the proposed system makes use of diverse fingerprinting features to increase localization accuracy that also reduces both the physical size of the database and the amount of data communication with the server in the execution phase; second, affinity propagation clustering minimizes the searching space of RPs and reduces the computational cost; third, exponential averaging is introduced to smooth the noisy RSS. The experimental results obtained by real field deployment show that the proposed method significantly improves the performance of the positioning system in both the positioning accuracy and radio-map database size. INDEX TERMS Affinity propagation clustering, BLE, Exponential averaging, RSS, Weighted centroid.