Making Step Counting Smarter

While step counting has been a core feature of the wearable category since the launch of UP, it’s one of the features our team believes can continue to improve over time. While it is quite easy to implement a basic step counter, building a step counter that accommodates the rich experience of life is an exciting challenge.

At Jawbone, we’ve been able to improve step counting accuracy through over-the-air band updates. For example, in July, we were able to improve step counting for low weight steppers (individuals weighing less than 120lbs) through firmware update 1.1, and more improvements are on the way. In the interest of transparency, we’d like to provide some insight into the work we’re doing to further improve step counting over time.

We built our step counting system around one simple reality; 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.

Life is varied, and because of this rich variety of movement, we chose to avoid the more common, one size fits all signal processing approach to step counting. Instead, we took a machine learning approach (a process where an algorithm learns from data to get smarter in making its predictions) to counting steps. We’re continually educating our system to recognize steps so that it becomes smarter over time. Just like a toddler who has to roll to crawl to walk to run, if there’s a case we haven’t captured before, the computer needs to learn it.

Our firmware 1.1 release is a perfect example of how we put this methodology to the test. Firmware is the software that runs the hardware (band) system. After our 1.0 launch, we received a number of reports from users experiencing low step counts. As our Customer Care team chatted more with them, we were able to find a commonality of step undercounting in lower weight individuals (users weighing less than 120lbs). We recruited a number of low weight subjects and put them through a series of tests to collect their step data. Painstakingly, we labeled all true steps in the accelerometer data, and fed these new examples into our machine learning system.

Success! We were happy to see that our new model showed a significant improvement for low weight individuals without sacrificing performance for the remaining UP population. Once we had confirmation on all this goodness, we packaged and shipped the improvement into firmware release 1.1.

We’re always improving step counting over time. For this reason, UP2, UP3, and UP4 are the most accurate products we have ever released, and they’re only getting better. In August, we launched an Algorithm Learning Initiative (ALI) through Customer Care so that we can refine the overall UP experience based on feedback we receive directly from customers who have reported differences in step counts and distance reported through UP. This data has been invaluable to help us better understand the specifics of these customers’ experiences, as we have not see this across the majority of UP users. If you participated in this program, thank you! You’re helping us make improvements which is actively being incorporated in subsequent over-the-air firmware/band updates.

Machine learning works in practice, by identifying situations that may be underperforming and focusing on collecting data and training the system around that use case. This is where you can play a role. If you have certain situations where your data isn’t being captured, let us know by completing our Algorithm Learning Survey. This approach allows us to continue to improve and make our products work better for your unique life scenarios.

If you’d like to know more about our approach to machine learning from a technical point of view, we encourage you to read our blog on the subject by our VP of Algorithms, Stuart Crawford.

About The Author

Jeremiah Robison

Jeremiah Robison is responsible for software engineering, algorithms, and data science at Jawbone, a San Francisco company specializing in wearable technology and audio devices. His expertise is showcased in the popular Jawbone UP activity tracker, which has been praised for its elegant user experience. Earlier this year, Jawbone launched an open platform that will let the UP integrate with other health and fitness services. Prior to joining Jawbone in 2010, Robison was chief technology officer at Slide, where he spearheaded technology strategy and development. He has also worked for Openwave, where he designed and built the first HTML browser for mobile phones, and Apple, where he contributed to the handwriting-recognition software on the first Newton organizer. Robison is a computer science graduate of Stanford University, where he played on the national championship water polo team.