I have GPS data for a few hundred walks/hikes/treks.

I would like to grade the walks by toughness, say from 1 (easy) to 10 (hard)

Is there a mathematical formulae I can use? Just using statistical analysis of the GPS data?

It should use

  • distance (longer is harder? e.g. 1 to 10 miles x 1 effort, over 10 x 1.5 effort),

  • height gain and height loss (a mountain at the end of the walk is harder?),

  • gradient (exponential effect? i.e. you may not notice walking up a 10% incline (zero effort), 20% might be ok (x1.5 effort), but 40% might very hard (x10 effort)

Thanks, Andrew


2 Answers 2


Very rough rule of thumb is that effort distance (ED) is horizontal distance (HD) + 5 * Vertical distance (VD)

So ED = HD + VD

example: A recent hike I took had a horizontal distance of 85 miles, and a vertical distance (up and down) of 25,000 feet. The effort distance ED = 85 + 125000/5280 or 110 miles.

In practice I've found that there is a critical slope for most people around 8-10% Below this slope, assuming you are in good shape, your travel is mostly due to your normal walkint speed, with slight slowing on the up hill and slight speeding on downhills up to about 4%.

Once you get beyond 10% up or 4% down, your speed is determined by your aerobic fitness for the uphill, and what condition your knees/ankles/tendons are going downhill. However these limits are variable per person, and require constant determination of slope. Given that the vertical error of GPS's is twice the horizontal, determining slope continuously is a crap shoot.

Try the first formula, and see if it matches your feel.

If you want to evaluate difficulty separately from length, try taking the ED and dividing it by the hours.)

  • "Given that the vertical error of GPS" ... I've found GPS-Device-Recorded elevation to be so inaccurate as to be useless for calculating height gain on a walk. We use Google Map's (or the UK's OS) elevation service (which uses interpolation from satellite radar). This produces much more accurate results (though there are issues if you're near a cliff - you're at the top or bottom, but interpolation may say the middle...) Dec 2, 2014 at 15:41
  • Much depends on the smoothing algolrithms, however on canoe trips the altitude registers usually within 5-10 meters of the marked elevation of the lake. However, I tend to use just the contour lines on the map route. Count the ones crossed or touched. Dec 3, 2014 at 1:46

Interesting question... It would be hard to really quantify something like this because it will be different for each person. Sure walking up a steep hill is always challenging, but some people are much better at it (but might struggle with steep downhill walks?).

Determining your Pace Index (how fast in MPH or KPH you walk), using your travel hiking time, is one approach you could take.

Try this equation:

Pace Index = (Distance) / (Travel Time + Elevation Factor)

For instance, if you are traveling 10 miles, and gaining zero elevation, and it takes 3.7 hours then your PI (Pace Index) would equal 2.7 (mph).

But if you added in 2000 feet of elevation gain and assume it takes you an extra hour per 1000 feet of gain then your pace index is now 1.75.

PI = (10 miles) / (3.7 hours + (2000 / 1000))

So the lower the PI the harder the hike.

Then you could assign each PI value to 1-10 difficulty value, so PI of 5 = 1, PI of 4 = 3, PI of 3 = 5 etc...

This would be a way to factor in hike length and elevation. It wouldn't help with when the elevation happens or the MANY other factors you may encounter on a hike (quality of trail, weather, altitude, pack weight, etc...)

Since you have the .gpx data it would be really interesting to hear is someone has developed an algorithm that factors all those things in.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.