Runkeeper vs Runmeter: which is more accurate?

I use the Runkeeper app  a lot.  It is extremely useful and almost indispensable. I use it to track my workouts, to advise me of my pace, to guide me if I will achieve my training goal.

But in the Yamaha Run For Heroes race, I discovered how pitifully imprecise the app is.  I don’t know if it is caused by the app itself, the limitations of the iPhone’s GPS chip, or the quality of the GPS signal in the area.  At first , the app was a few hundred meters ahead.  I would hear the kilometer mark through my headphones, only to see the corresponding kilometer sign up ahead.  I figured that the margin of error was still acceptable, but then, as I drudged along Buendia Avenue, the gap became even wider.  At the final third of the race, the app was almost a kilometer ahead.  It was telling me that I had already ran a distance of 16 kilometers when I just passed the 15 kilometer sign!

Check out this image:

Map generated by Runkeeper

It’s frustrating because I use Runkeeper to monitor and manage my pace.  If my goal is to finish the race in under 2:20, then I use Runkeeper to keep my pace somewhere around the 6:40 per kilometer.  I am particular about keeping tabs on my pace and to rein me in if I run too fast.

At first I considered switching to Runmeter.  According to their website, Runmeter uses some “Fuzzy Logic, based on apparent speed, distance, GPS accuracy.” Could this be just some empty sales pitch?  I used Runmeter in the Condura 16K race, and it was off by just 100 meters.

I checked the map that was generated by Runmeter.  GPS accuracy was incredibly accurate when I ran on the Skyway, where I had a clear view of the sky. I learned is that Buendia is notorious for screwing up GPS signals, probably because of the tall buildings.  And if you compare the map generated by Runkeeper with that of Runmeter, the variances are occurring in the same areas!

Map generated by Runmeter

Then I found this post coming from a Runmeter developer:

But one thing the iPhone does is use wi-fi and cell tower locations to more rapidly narrow in on the location on first use.  That’s great for a more fast lock, but since wi-fi and cell phone tower locations are so course, we need to avoid using any data derived from wi-fi or cell tower location.  And so, one thing that helps on the iPhone is to turn off wi-fi.

I can say fairly definitively that jostling does NOT affect accuracy. (Based on my two years of running with an iPhone, plus what I hear from customers.) But what DOES affect accuracy is how much “stuff” is between the iPhone and the sky, where “stuff” especially includes metal, but can also include trees, buildings, and  your body.  Running in Manhattan can lead to an inaccurate path being shown.  If you keep an iPhone with a backpack with a metal zipper, that can have an effect, too.

In short, when it comes to GPS accuracy, it matters little which app you use.  What you have to do is:

  • turn off wi-fi
  • turn off cellular data
  • keep as little stuff between the device and the sky

One thought on “Runkeeper vs Runmeter: which is more accurate?

  1. Mon, thanks for the update. I’m one of the developers of Runmeter, and the one who wrote the post that you quoted. I just wanted to add that we’ve spent many months on understanding the variability of GPS reception in the iPhone, and this has led us to build some fairly sophisticated algorithms for handling the GPS data, especially in low accuracy situations. It does include fuzzy math, since there are many inputs. Making sure our users get the best possible results from the data the iPhone provides is our top priority. — Steve Kusmer, Abvio

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s