The Fitbit Blog

Get inspired. Stay motivated. Find your fit.

A brief look into how the Fitbit algorithms work

Again, I apologize for the infrequency of these blog posts. I’m a procrastinator when it comes to writing these things, which is bad.  A commenter suggested in a previous post that we make shorter more frequent updates rather than really long infrequent updates, which is what I’ll try to do in the future.

That said, you’re stuck with a long post this time around :)

On shipping…The bad news is that I still can’t give out a concrete date, yet. The good news is that we’ve resolved the problems around charging, which had been holding us up. I hope to have a firm shipping date soon. We’re waiting for one last round of prototypes to confirm our design and to tune a few last things. You’ve already been waiting patiently and the last thing we’d want to do is ship out anything that isn’t worthy of your wait. Rest assured, my team and I are singularly focused on getting the Fitbit out the door in a high quality way. I get enough queries from friends and relatives constantly asking when we’re shipping. :)

We’re also steadily working on the website. We hope to release a preview of that before the Fitbit ships so that you can get familiar with the interface.

We’ve also had a bunch of questions about the algorithms behind the Fitbit, so let me talk about that. The Fitbit’s primary method of collecting data is an accelerometer. Its accelerometer constantly measures the acceleration of your body and algorithms convert this raw data into useful information about your daily life, such as calories burned, steps, distance and sleep quality.

How do we develop these algorithms? Our approach is that we have test subjects wear the Fitbit while also wearing a device that produces a “truth” value. For calories, this “truth” device might be something like a Parvo Medics TrueOne 2400 or a Cosmed K4b2. You’d look really stylish wearing one of these:


These devices measure the gas composition of your breath, which is a very accurate way of measuring calorie burn. By wearing this type of device and the Fitbit at the same time, equations/algorithms can be developed that attempt to accurately convert the raw data collected by the Fitbit into the calorie numbers reported by the “truth” device.

Developing these algorithms take a lot of experimentation and test data. Sometimes the algorithms you develop work very well in one case but completely fail in another. For instance, your algorithm might be really accurate for slow walking but starts to fall apart during running. A lot of our research is finding algorithms that work reasonably well across a lot of different scenarios.

Here’s a recent result from a calorie measurement test we ran on a treadmill. RevB is the 2nd hardware revision of the Fitbit. The light grey line is what the treadmill showed for calories burned. The black line is what the Parvo TrueOne 2400 reported. The vertical lines are error bars which show the range of accuracy for the Parvo. As long as the Fitbit falls within those error bars, you can consider the results to be pretty good. As shown on this graph, the Fitbit measures calories reasonably well up to 8mph, where it starts to underreport calories slightly. This is an older result…we’ve improved things since then. The Fitbit’s software is also upgradeable over the wireless link, so as we constantly improve our algorithms, these improvements will be automatically uploaded to your Fitbit.

Calories burned on treadmill test

To develop the algorithms for step counting, we have test subjects wear the Fitbit while also carrying a click counter and clicking off steps. Sometimes we also have the test subject wear competitive devices so that we can measure how good we are against them. Here’s a photo of a typical setup. I’ve masked out the competitive devices to protect the innocent. (also, so they don’t get upset at us :) )

Device Test Belt

We really try to put the step counting algorithms through a lot of different (some crazy) scenarios:

This graph shows % step accuracy for climbing stairs quickly at 2 stairs/sec for the Fitbit vs 2 leading pedometers:

Fast stair climbing

You see that we’re fairly close to each other. We all average about ~89% accuracy.

An interesting thing happens when we start taking stairs a bit slower at 1 stair/sec:

Slow stair climbing

You see that the first pedometer really collapses to 20.5% accuracy, the 2nd pedometer degrades slightly and the Fitbit actually improves.

Here’s another graph which shows results from an 80 year old male with a cane walking 0.25miles around the block in 11 minutes (1.5mph). The Fitbit does pretty well here with 97.4% accuracy.

Results for an 80 year old male with cane

Most pedometers have trouble with people who take soft steps, which include a lot of elderly people. The cane here also can cause confusion, since the cane could look like a 3rd step in a stride. Even though these were some of the best pedometers on the market, they still had trouble in cases where you just weren’t simply walking smoothly and firmly in a straight line.

In general throughout our step counting tests, we found that the more expensive pedometers have better accuracy. If you ever get a free pedometer at work, just toss it out. Are you in the market to to buy a $5 or $10 pedometer? Don’t bother. Chances are you’ll be very disappointed.

Related Post

Join the Conversation

28 CommentsLeave a comment

  • Thanks for the update!! I’m happy to hear about the charging situation. Thought that was a wonderful idea about the preview of the fitbit site before the shipping date. I can’t wait to take a peek.

    Take care and thanks for all your hard work!

  • Any advancements on international shipping? Specifically Canada? I know your site says ‘pending tests’, but I was wondering how far that come along, and how much longer you expect it to be.

    Always glad to get updates on this, and keep up the good work! I’m glad things are still in motion.

  • Just a quick note to say that I thoroughly enjoyed your last post on the scientific analysis/data and charts of how the technology is built to perform. Hope to see someone from your team at the next quantified-self meetup: Fitbit gets quite a few questions and attention at our meetings. The audience would be very interested in sharing about this kind of technology as well as learning how the data can improve one’s life.

    =) Faren

  • Is there any consideration for if you take a very bumpy car ride for an hour or so while wearing the fitbit? Will it show that time as calories burnt? Can you pause it or turn it off for these times? Or on the website, can you block a section of time and “delete” it?

    Just wondering.

  • I have a black belt in the martial arts discipline of Tae Kwon Do and I am interested in finding out if your Fitbit will be able to measure my caloric consumption. Many of our exercise include hard/fast punching and jumping kicks – do you think that this type of movement can be measured accurately?

  • Hi Steve,

    Yes, we are producing a limited number on our first production run, mainly to ensure a highly quality level. Most of our team will be in Singapore personally inspecting and testing these first units, rather than letting our manufacturer handle it completely.

    There will be enough produced to cover everyone who has pre-ordered a Fitbit so far.


  • Hi Gorp,

    On the website, you will be able to replace a period of time with a specific activity that you select. In terms of filtering out bumps from a car, that is one scenario that we have specifically tried to handle. I hope to publish some results from that in a future post.


  • Thanks for the update! It was very informative. I have a question similar to Gorp’s. I sit at a desk for the majority of the day for my job. If I’m wearing the fitbit and my leg is bouncing up and down, will it register that as if I might be running? If that’s the case, then it would be nice to be able to pause/turn off the fitbit or be able to disregard a section of data on the website that I knew was innacurate.

  • I’ve heard Philips is bringing out a produst that is kind of similar, except they have lice coaches on the other end to motivate you along the way.

    Is that something you’re thinking of adding?



  • Out of simple curiosity, I just wanted to ask about how many pre-orders have been taken?

    Also, when you start shipping, will all of the orders be sent out at once… or will it be more of a staggered shipping?

  • Hey thanks for the update!

    I’ve been looking forward for FitBit since TechCrunch50.

    Please enable international shipping! I’m from Chile and really want this product.

  • Ok, so we didnt get a Christmas present release, let’s see if we can get it in time this spring for all those people who want to get in shape.
    (you know you are the only thing stopping those fat slobs from getting in shape.)

    International shipping is a must.

    @Simon: What is lice coaching?

  • How accurate will Fitbit be at measuring activity/calories while rowing and canoeing? My rowing machine measures quite accurately, but I’m wondering about on-water rowing & paddling (2 entirely different actions).

    That said, I’m most interested in the sleep-measuring ability of Fitbit.

  • Congratulations on a great product idea. This is going to cause quite a stir at the sleep apnea websites. There is a large contingent of us who use CPAP with software to monitor our breathing each night. Our dream has been to have a relatively inexpensive device that would also tell us how much we actually sleep.* I think many of us will want to try this device.

    *Ultimately we want an EEG-like device that records the sleep stages achieved each night.

  • Sorry, I am so excited about the product that I forgot one thing. Already, some of our clan has expressed privacy concerns about uploading data on our sleep habits to an internet server. Some sleep apnea patients see it as a health privacy issue and would prefer to limit the data to their own computers. Will you speak about security and privacy of data on your server and a future possibility of offering stand-alone software?

  • Your explanations of the process and difficulties of going from design to manufactured product were quite interesting. Ditto for the detailed information on responsiveness of the sensor and how its data gets translated into calories and recorded movements. I don’t recall ever being given such a ringside seat to the development and inner workings of a consumer product. This kind of attention to your customers is what builds consumer interest and loyalty.

    And… it gives us something to do while we wait impatiently for shipment of the final product!

  • Great mention in the NYT article over the weekend. Is it true that you don’t anticipate having product available until early summer?

  • Today Apple released information about the iPhone OS 3.0, which will include the ability for applications to be able to talk to external hardware. Would you consider writing an iPhone app that downloads fitbit data while we’re out and about? I think it would be awesome to be able to load the app and see what I’ve done so far during the day without having to go home to the base station. If all this goes on your servers, initially the app could just serve as a pass-through, sending the data to the site and not trying to provide a nice native display on the iPhone.

    Thanks for these blog posts. I’ve got you subscribed in Google Reader and can’t wait for my fitbit!

  • Nice work guys, but a product like yours is already in the marketplace, it’s called bodybugg, I have been using it and it’s terrific.

    What’s the difference with yours?

  • So it is in fact confirmed that Fitbit can help one tell if one is suffering from sleep apnea? My father has it, and my sleep quality is highly variable. If Fitbit can do this, we would both be interested. Thanks!

  • Hey, quick question.

    Will the Fitbit recognize calories burned while moving in place? I play DDR, which involves a lot of twisting, but it’s my primary calorie burner.

Leave a Reply

Your email address will not be published. Required fields are marked *