Home / Blog / One step at a time: how Jawbone counts steps

One step at a time: how Jawbone counts steps

For my fitness tracker, I have a Jawbone UP3, which bills itself as “the most advanced tracker you can buy.” I like it, but I’m still waiting for some of the more advanced functions that they promised to implement with it when they launched it back at the end of last year.

Anyway, I was looking at Jawbone’s blog, and they have a couple of recent posts on step-counting, which is one of the core features of pretty much all fitness trackers.

If you don’t give it much thought, step counting should be pretty simple. Foot up, foot down. One step. How difficult can that be to figure out? But we also know that fitness trackers sometimes come up with information on how many steps have been taken that are wildly inaccurate. And if you do give it some thought, it’s easy to understand why.

Not only do people come in a wide range of heights and weights, and have a wide range of strides, but, as Jeremiah Robison wrote in “Making Step Counting Smarter”:

“…people are surprisingly varied and unique in the way they move. Some walk in sneakers, others in high heels. Some people swing their arms when they walk, others look like they’re carrying 2 suitcases wherever they go. There are commuters who walk, drivers who stroll, parents with baby carriages, and folks who jump, skip, or pedal their bike.”  (Source: Jawbone blog)

Jawbone’s approach factors this in, and they’re constantly refining their product. They have a machine learning system, and they do testing on subjects that cover different heights and weights, and are doing their stepping under varied surfaces and conditions. They recently put a fix in to accommodate low-weight individuals, whose steps were being undercounted.

In a more technical post of the subject, Stuart Crawford gets into more detail on Jawbone’s machine learning-based step classifier:

“In order to train the step classifier we provide the learning algorithm with enormous numbers of ‘labeled examples’.  A single example is simply a short snippet of accelerometer data, with a label indicating whether that snippet corresponds to one, two, or three steps.  Features of the accelerometer stream are then defined to describe each snippet.” (Source: Jawbone blog)

The full post is definitely worth a look, especially for someone like me. Machine Learning used to be called Artificial Intelligence (AI). Apparently those words spooked too many people, so it’s no longer as widely used a term. I studied AI at UMASS for my Master’s degree. At the time I studied what are called neural networks, basically simulations of the neurons in your brain. Each simulated neuron has a set of coefficients that get updated as the machine learns, similar to how the real brain functions.

And similar to what Jawbone’s doing with the foot, one step at a time.