One Full Year of FitBit Pedometer Data

I am currently away on an Internet Vacation. I’ll be back online on March 31. I have written one new post for each day of my Vacation so that folks don’t miss me too much while I am gone. But keep in mind, these posts have been scheduled ahead of time. Feel free to comment, as always, but note that since I am not checking email, I will likely not be replying to comments until I am back from my Vacation on March 31. With that said, enjoy!


I got my FitBit Ultra device on March 8, 2012, a little over a year ago now. I bought the device after reading Stephen Wolfram’s post on personal analytics. I like data and I though this would be interesting data to look at. Of course, on the day I got my device, I had virtually no data. Now it has been a year and I have a wealth of data. It’s really remarkable how much you can learn from data like this. And what’s key about this type of data is there is no effort to collect it, other than remembering to clip on your FitBit device each morning.

I thought, therefore, that I’d break this into two posts. In this post, I’ll discuss my year’s worth of pedometer data. In tomorrow’s post, I’ll describe how I collected and processed the data, as I imagine this question will come up.

Let’s start with the basic information and get that out of the way: I am working off of 363 days worth of data. (I am actually doing the analysis on March 7, and I didn’t start using the device until March 9, 2012, so strictly speaking this is not quite a year’s worth of data.) There are 18 days for which I have no data. These are day that I forgot to clip on my FitBit device. That’s actually not too bad. It amounts to just under 5% of the total days.

From March 9, 2012 through March 6, 2013 I walked 2,734,142 steps. Let’s call it 2.7 million to keep things simple. Across all those days–even the days for which I have no data, I averaged 7,511 steps. That’s somewhat below my goal. My goal had been to try to walk 10,000 steps every day.

How often did I meet my daily goal? I walked more than 10,000 steps on 77 days, or about once every five days overall.

The 2.7 million steps comes out to 1,320 miles, or an average of just over 3.5 miles each day.

The FitBit device also counts flights of stairs climbed. In the last year, I climbed 5,255 flights of stairs, for an average of more than 14 flights of stairs per day.

What about my best days? Well, for steps (and distance) my best day was December 17, 2012, when I walked 25,056 steps (11.3 miles). It was one of the days we were at Disney World with the kids. The following day was also well above 20,000 steps.

That’s all interesting factual information that I was able to derive from the basic data that FitBit supplies me with. What about some additional data? The FitBit device actually records how many steps you take each minute. The reports available on the website report out the data day-by-day, however. You have to request special permission to have access to the API that gives you your “intraday” (that is, minute-by-minute) data. Of course, you also have to know how to write code and use the FitBit API to get at this data. Fortunately, I was granted access to the data, and I happen to know how to write code. Early on, I wrote a Google App script that pulled my minute-by-minute data into a Google Spreadsheet each night. It is from that data that the following charts and plots are derived. I should also mention that this post by William Sehorn at Mathematica really helped me pull these charts together. (All of this part of the analysis was done in Mathematica.)

First, what does a typical day look like for me, in terms of walking? If you take my minute-by-minute data and aggregate it all, you can build a picture of what a typical day looks like. Mine looks like this:

FitBit Daily Distribution

There are a number of interesting observations that can be drawn from this data:

  1. I am generally up an moving about shortly after 6am. Remember this is aggregated for the entire year, so it includes weekends.
  2. I’ve been pretty good about going on my 10am walk every day. Right about the time I got my FitBit device, I started taking a mile-long walk at 10am every morning as a way to clear my head and get some fresh air. That big spike at 10am represents the aggregate data for my walk.
  3. I also walk to pick up the Little Man from his school after work. That spike is also pretty obvious at the 5pm mark or so.
  4. After work, I’m pretty active with the kids.
  5. Once the kids are in bed, I’m pretty much done, too. There is very little activity after 8pm, you’ll notice.

Another way of looking at the data is to look at what is known as a diurnal plot. This is one where date is plotted on the x-axis and time is plotted on the y-axis. The intersection is where you are actively taking steps. Rather than plot this at 1-minute intervals, the data has been aggregated to 5-minute intervals to make it a little easier to see. Here is my diurnal plot for the entire year:

FitBit Diurnal Plot

In this plot, each tiny purple dot represents steps take. The darker patches are where more steps are taken. The plot starts in March 2012 and ends yesterday in March 2013. A few observations:

  1. The strong purple at 10am that goes across most of the plot is my 10am walk.
  2. You’ll not that in late November, that 10am walk trailed off for a while, but has picked up again in mid-February. It wasn’t as easy to get out an walk when it is cold and rainy or cold and snowy.
  3. There are some white vertical bands here and there, for instance in early July. This is when I was away for a few days. While my FitBit device captures the minute-by-minute data, it wasn’t able to upload it to the site while I was away so might Google Apps script wasn’t able to get data for some days.
  4. Overall I’m remarkably consistent when I wake up. You’ll not a couple of heavy purpler marks early in the morning a couple of days in February. This was me attempting some early (5am) morning cardio workouts.

Finally, you probably want to see what the overall trend is like. This is done in two ways: looking at the trend day-to-day, and aggregated month-to-month. Indeed, you can stack these two charts and what you get, for me, is this:

FitBit Year Plot

The first chart shows my daily steps plotted over every day of the last 12 months. In this plot, it is very easy to identify those days that I forgot to clip on my FitBit. (Remarkably, although I started using the FitBit on March 9, 2012, the first time I forgot to clip it on wasn’t until November 29. Some of the gaps you see are due to being away and Google Scripts not being able to get the data for that day.)

The second chart shows the same data averaged by month. Here, it is a little easier to see the overall trend, which, I am afraid, is downward. But it is also recovering. Indeed, things seemed to drop off rapidly from October through the end of the year (when the temperatures were dropping). But since December, the trend has been increasingly upward, which I take as a good sign.

I did a few other plots. For instance, I correlated steps taken and flights of stairs climbed, and I found what you might expect–the more steps I walked, the greater tendency I had to climb more stairs. But I won’t bore you with those plots.

At some point, someone will ask if I would share the scripts I wrote to do this analysis. I will, eventually. I’ve already got the scripts in a repository on GitHub, and I just need to find the time to clean them up. But cleaning up scripts is pretty low on my priority list at the moment. When I make the repository public, I’ll let you know.

4 comments

  1. I’m a walker, too, but I vary the time of day according to my needs or whim. Does the FitBit capture all exercise? Have you thought about a plan B for bad weather days — like indoor walking DVDs, WiFit or the like? I keep reminding myself that I have to get that in place, altho’ I do walk in the rain as long as it’s not bitter cold or there’s no lightning.

    Interesting stats.

Comments

This site uses Akismet to reduce spam. Learn how your comment data is processed.