Efficiency Score based on miles in a city & miles run

I’d love to see an efficiency ranking of a city - i.e. Cityville has 100 miles of road and it took Eric 130 miles of running to complete, but it to JP 143, so Eric was 77% efficient vs. JP’s 70%

1 Like

I did some calculations on the cities i have completed.


Interesting to see. Roughly 27 - 37 % extra mileage was needed, compared to the city km count
(The city Heerlen is grayed, since it is not correct to determine the exact km from my data. Lot's of non CS runs that pollute the analysis)

I calculated the total run mileage, and extracted the 100% km for that town. Then i calculated how much more km’s i did run to actually achieve 100%.

The more rural towns are slightly more inefficient to run. But i had expected more difference between rural (Long distance roads and agricultural roads/tracks outside city centers) vs. citylike cities (dense streetcount per sq. km)

So for a city with 300 km streetlength for 100% you need roughly 375-400 km to get it. in my efficiency of planning as less duplicates as possible at least :slight_smile:


Before we establish the efficiency score, we’ll need to work out the kinks in the “mileage per city” calcs.

My first attempt at seeing what I might get for actual efficiency took me to Portage, OH which is listed as having 8.41 miles of road.

I am really good, then because I finished the city in a single 7.09 mile run. :face_with_raised_eyebrow:

That might happen of course if you have streets with only two nodes, one at each end, which you take when passing the crossing by perpendicular roads. So you haven’t run the street, but you have taken all nodes

Nope, not the case.

This is a full coverage completion, not just nodes.

In fact, I actually ran a LOT of streets twice due to dead ends or town lines.

1 Like

While not against the idea, this seems like it would require a lot of massaging of data on a per person basis. While CS could do some of the heavy lifting with calculations, there would still likely be individual runs each person doesn’t want included in the efficiency calculation. They don’t want to manually delete a whole bunch of runs from CS but also don’t want it to be calculated. For example, runner does a 20 mile run that is 99% on trails but crosses one street and hits a single node. This would likely be swept up in calculation but could skew desired result for runner. If the city the runner is in is ~1000 miles of streets, this could mean ~2% skew error.

To add some comparison to @petje analysis, I specifically titled each of my runs on Strava (ex: Run Project #XX). From there I used a 3rd party site to filter my runs to only those that had this specific title. That gave me total mileage, elevation, moving time, etc. So for my main city (Durham, North Carolina - CityStrides), as of today, I’ve run:
1929.9 miles across 297 runs with a total elevation of 106,783 feet and 271:02:30 of moving time. CS calculates total city street mileage of 1263.85 miles. All these numbers get slightly changed each time OSM data gets updated and I do another run.


I touched on this subject here, All Streets or All Nodes? - #64 by ericjrw, and was actually looking for something else, but wanted to chime in.

Seeing this number, on 100% completion cities would be interesting, as it possibly could identify Striders who did not really “run their whole town”, without actually calling that out.

So the real first person would likely have an efficiency > 100%, not less.

1 Like

Just found this thread.

How did you figure out the number of miles run to complete the city (Eric’s 130 and JP’s 143, in your example)? I can’t see a practical way to do that.

He was just using random numbers as examples, but when I send out the congratulatory email upon completing a city I get the total mileage by summing up the activity distance for any activity that completed a street in the city.
:thinking: Thinking about this further, now, I’m going to change this to sum up the distances for activities that complete any nodes - that will be more accurate.

1 Like

Thanks for the reply.

I realized that @jpbari’s examples were made up; but I still couldn’t see how one could do it practically as a user. @petje’s numbers don’t seem to be made up, so it seems he found a way. I assume he has not gotten a completion email for all those cities, since that feature was introduced recently. (I’ve gotten one email, but completed four cities. I got the Cambridge email for a “re-completion”.)

I had to run 939 miles to complete Cambridge’s 152 miles (of course because I ran a ton in my hometown before discovering CS). Very inefficient. :grinning:

Lots of hunting :sweat_smile: for activities that progressed within a city. This really makes me want to display the ongoing distance on your city page.

I’d like to understand this better…
Did you complete Cambridge earlier than the email feature was released?
Did you receive more than one email?
I’m asking because I did run some code that emailed the biggest completed city to anyone who has completed one. I didn’t do it for every city because some people have several completed cities and I didn’t want to suddenly send people a bunch of email. People get real uppity about receiving email. :grimacing:

Yes, I completed Cambridge at least a year ago. After the most recent OSM update, it was briefly non-completed, but came back again. I assumed that that was what triggered the email, but could have been coincidental.

I got two emails, both on August 9th: 1:06pm and 7:42pm.

Oh! phew! ok … yeah, I sent out the emails on that date & the city happened to be updated on that date as well.

A post was split to a new topic: City’s total distance seems wrong

My numbers are correct since i import all my CS runs into excel from garmin connect, and calculate all my cities myself