I have been carrying my Fitbit One for a little over two years with me and it keeps tracking my daily steps. It also tracks my distance covered by multiplying those steps using the stride length which you can either provide explicitly or implicitly setting your heights. In the winter of 2012 I bought my first ~Garmin Forerunner 410~ (replaced by a Garmin Forerunner 920XT) GPS watch to help me track my running (and other outdoor) activities. Since then I have worn it at every activity. Additionally before every running session I started a Fitbit activity to measure my step count. Over the last 18 month I have recorded 69 runs using both, the Fitbit and the watch. I put the data in a csv file so I could load it into R. Then I performed a linear regression to determine my stride length.

Fitbit stride length linear regression

In an ideal world, where the GPS watch would perform with a 100% accuracy and the Fitbit would recognize every single step taken, the regression fit would meet the origin. Unfortunately neither of them is that accurate. Our model gives us an intercept of 398.46m with a slope of 1.00421m and an adjusted R^2 of 0.97505 Based on that I have covered a whole lap of a competitive running track before I made a single step. 😉

I have noticed that the placement of the Fitbit has a huge impact on the amount of steps recorded. Attached to the pocket of my running shorts it seems to miss certain steps. I get much better results attaching it directly at my waist. Overall I am quite satisfied with the accuracy provided by the Fitbit. If you do a lot of interval training or vary your stride from session to session your result will be far more off.

The code for the regression is on Github: