The TopoFusion Difficulty and Effort Index

TopoFusion computes two statistics: Difficulty and Effort.
The aim of the new statistics computed is to "rank" gps tracks of
hikes and bike rides in some reasonable way. The most obvious method,
of course, is to sort tracks by total distance or total climbing. But
these numbers leave much out of the story.

Here is where our "Difficulty Index" comes in. The idea is that
hiking and cycling get harder the steeper a hill is. So, a route
should receive more "credit" the steeper its climbs are.

For example, climbing 1000 feet in 1 mile is harder than climbing 1000
feet in 2 miles. But how to quantify this?

Looking at the physics behind it does not really help, unfortunately,
because the same amount of work is done regardless of the grade.
Another possibility is to look at the number of calories burned (there
are equations for this) based on weight, grade and speed. If you look
at calories burned you will actually get more calories burned on the 2
mile / 1000 foot case since you went twice as far. But this doesn't
seem to fit with reality, at least for me. I think there are many
factors that throw this off. First, we are dealing with rough, loose
trail surfaces, not paved roads or wedges. As grade increases,
traction becomes a serious loss of energy. Also, as grade increases
often things get more technical, which burns more energy. Second, I
characteristically expend more energy the steeper a hill is. I think
this is true of nearly all hikers and cyclists. You get used to a
quick pace on the flats and want to stay as close to that when you hit
the hills, even though it requries much more energy. In fact, often
this fact is forced on cyclists--the minimum energy requried to keep
wheels rolling can be very high indeed on steep loose slopes. This
fact, coupled with the non-linearity of the efficiency of the human
machine, provides good reason to believe steeper hills require more
effort (and not just a linear factor). Third, it's a matter of
perception. Routes with very steep climbs just seem harder. We
shouldn't necessarily be rewarding this perception, however, the
"Difficulty Index" is based on a perceptual model, since it was tuned
by me.

So, what is the computation?

First a few properties of the index.

1 - Climbs are weighted by their grade (steepness). 2 tracks with the
same amount of total climbing could receive vastly different ratings.

2 - The rating is cumulative, that is, rating "points" are accumlated
along the track. The rating is not so much "how hard are the hills",
but more "how hard is the entire ride." For example, you could have a
wall of a climb (maybe 2000 feet in a mile), but if that is all the
ride consists of, it will not be rated very high compared to very long
rides.

3 - Flat miles, and distance in general, do count towards the rating.
So adding flat miles onto a track will still increase its rating.

Thus, we loop through all the segments between GPS points in a track
and compute:

Where Diff_S is the difficulty of each segment (between two GPS points). We
then add all Diff_S values together, across the GPS track. Then we divide by
10,000 in order to scale the numbers to a more user friendly range. A hard
mountain bike ride might be 50 on the difficulty index, this way, and a REALLY
hard one might hit 100.
This sum, Difficulty Index, is displayed in a column of the active file list in
TopoFusion. The numbers themselves don't "mean" anything, but are
intended as a comparision metric between tracks.

How did I come up with Grade ^ 1.7? Trial and error, and my own
perceptions. I loaded up 30 or 40 tracks, then played around with
various mathematical functions (and constants), until an ordering I
felt was reasonable emerged. The result is in TopoFusion.

Effort Index

Difficulty Index measures how hard a route is, based only on distance
and steepness. Another interesting question is, how much effort did I
put into the ride?

The idea here is to multiply the difficulty rating factor by the speed
traveled, so that you get credit for pushing it on the hills, much
moreso than on the flats. This is computed in the same way (by
stepping through the GPS track):

Effort Index = Effort Index + Difficutly rating * (1 + Speed)

Where speed is in meters/second. It is 1 + Speed so that we're not
multiplying by a factor less than 1.

Again, I tried a number of possible functions, including exponentials,
but found this to make the most sense.

Notes: - All of this is of course very rough and somewhat
unstable to GPS errors. I have made some effort to throw out
ridiculous grades, speeds, et cetera, but bad data will still, in
general, give bad results. But I am fairly happy with it so far.

Any comments, ideas, questions? Please email Scott at
smorris@topofusion.com. I am very interested to hear thoughts about
these ratings, especially if you have tracks with ratings that you
cannot explain.