Trail Science·6 min read·

Why Vertical Gain Is Misleading: Demystifying Km-Effort and Vertical Density

1,000 meters of elevation gain doesn't mean the same over 10 km as it does over 35 km. Discover how these two metrics transform how you gauge the true difficulty of your mountain runs on Strava.

TrailMetrics Team

TrailMetrics Team

Sports Science & Mountain Running

Share:XWhatsApp
Trail runner traversing a rugged mountain ridge at sunset

Trail runner traversing a rugged mountain ridge at sunset

Every trail runner has fallen into the trap of raw numbers: “I logged 1,000 meters of elevation gain today.” It sounds impressive on paper, but it only tells half the story.

Ascending 1,000 meters distributed gently across 35 kilometers on smooth rolling fire roads is worlds apart from grinding up that same 1,000 meters in a relentless 10-kilometer ascent over loose rock and switchbacks. In the first case, you can comfortably jog almost the entire distance; in the second, your calves, quads, and heart rate are locked in an intense battle against gravity.

To bring clarity and objective depth to your outings, TrailMetrics calculates two foundational parameters automatically on every Strava Trail Run: Km-Effort and Vertical Density.


1. Km-Effort: A Practical Workload Benchmark

The concept of Km-effort (popularized and widely used by organizations such as the International Trail Running Association (ITRA)) was designed to solve a simple dilemma: how to compare mountain outings where distance and elevation vary wildly.

It is not an exact laboratory measurement of metabolic expenditure, but rather a reliable empirical rule of thumb:

Km-Effort = Distance (km) + (Elevation Gain (m) / 100)

The General Approximation: Every 100 meters of cumulative climbing is estimated to demand roughly the equivalent effort of running 1 flat kilometer on road.

Practical Comparison:

  • Route A: 22 km with +800 m climb → 22 + 8 = 30 km-effort.
  • Route B: 14 km with +1,600 m climb → 14 + 16 = 30 km-effort.

Even though Route B is 8 kilometers shorter on your GPS watch, the estimated workload on your body is virtually identical. If you only looked at weekly mileage on your Strava feed, you would severely underestimate the physical toll of Route B.

Category Ranges & Real-World Race Benchmarks

Starting at 25 km-effort, TrailMetrics classifies your mountain run into its own sizing categories inspired by the ITRA framework. These are TrailMetrics' internal tiers — not official ITRA race certifications — but the underlying formula (distance + gain/100) and the general workload benchmarks are the same ones used across the international trail running community:

CategoryKm-Effort RangeTypical Profile & Real-World Examples
Cat. XS25 – 44 km-eMountain half-marathons & short trail races (e.g., 21 km with +1,000 m = 31 km-e)
Cat. S45 – 74 km-eClassic mountain marathons (e.g., Zegama-Aizkorri: 42 km with +2,736 m = 69 km-e)
Cat. M75 – 114 km-eDemanding mountain marathons & mid-range ultras (e.g., 70 km with +4,000 m = 110 km-e)
Cat. L115 – 154 km-eRugged 80k–100k mountain ultras (e.g., 80 km with +5,000 m = 130 km-e, or 100 km with +4,500 m = 145 km-e)
Cat. XL155 – 209 km-eDemanding 100k–120k mountain ultras (e.g., CCC: ~101 km with +6,100 m = ~162 km-e; Lavaredo Ultra Trail: ~120 km with +5,800 m = ~178 km-e — approx., 2025 edition)
Cat. XXL≥ 210 km-eIconic 100-milers and multi-day epics (e.g., TDS: ~148 km with +9,300 m = ~241 km-e; UTMB Mont-Blanc: ~171 km with +9,960 m = ~271 km-e — approx., 2025 edition)

2. Vertical Density: The Gradient Index (m+/km)

While Km-effort measures the overall magnitude of the workload, Vertical Density measures the steepness and terrain aggressiveness. It is calculated by dividing total climbing meters by total kilometers covered:

Vertical Density = (Elevation Gain (m) / Distance (km))

A value of 40 m+/km means that, on average, you ascend 40 vertical meters for every kilometer traveled forward. As a general rule of thumb, TrailMetrics groups routes into 5 tiers:

  1. 1Rolling Trail (< 30 m+/km): Gentle, rolling terrain with mild undulations where continuous running is generally viable.
  2. 2Mountain Trail (30 – 55 m+/km): Classic mountain singletrack where sustained climbs require alternating between running and brisk power hiking.
  3. 3Rugged Mountain (55 – 85 m+/km): Steep pitches and broken trails where running poles become a noticeable asset.
  4. 4Alpine Skyrun (85 – 120 m+/km): High alpine terrain, ridges, and couloirs where speed is dictated almost entirely by gradient.
  5. 5Extreme Vertical (> 120 m+/km): Vertical kilometer profiles and direct summit scrambles.

The Downhill Factor & Eccentric Muscle Strain

A key nuance: Vertical Density strictly tracks uphill climbing.

In circular (loop) routes, what goes up must come down, meaning a high vertical density implies a comparably steep descent in terms of raw gradient. That said, the actual toll on the legs depends heavily on terrain technicality: descending a groomed switchback fire road at 35% is very different from picking your way down loose scree at the same angle. Steep downhills in either case induce intense eccentric muscle contractions, resulting in substantial muscle micro-damage.

However, in point-to-point routes, this symmetry breaks: you might climb 1,000 m over 10 km and finish on a summit, or descend via a much gentler secondary trail. For this reason, TrailMetrics tracks not only positive climbing, but also your exact Uphill / Downhill Split and descent vertical speed (↓VAM).


3. Honest Limitations: What GPS Metrics Miss

No two numbers can capture the complete reality of a mountain outing. When reviewing your metrics, keep these practical constraints in mind:

  • Terrain Technicality: Running on a firm packed-dirt forestry track versus navigating wet limestone, loose scree, or tangled roots requires vastly different muscular stabilization and balance—even if both share the exact same 50 m+/km slope.
  • Altitude & Hypoxia: An effort at 2,800 meters above sea level imposes a much higher cardiovascular cost due to reduced oxygen partial pressure than the identical gradient at sea level.
  • Altimeter & GPS Precision: Accumulated elevation gain varies substantially depending on your watch hardware. Barometric altimeters are far more reliable than raw GPS triangulation, which can drift and falsely inflate elevation totals on cloud-covered or canyon trails.

4. How It Looks on Your Strava Feed

Instead of guessing your numbers or manually logging spreadsheets, TrailMetrics automatically processes your activity file through the Strava Webhook API and appends the official report directly to your activity description:

TEXTStrava Description Snippet
⛰️ — TRAILMETRICS — 🟠 Rugged Mountain (65 m+/km)

🗺️ Km-effort: 27.1 km (Cat. XS)
⚡ GAP: 5:29/km (best 5:10 · worst 6:01)
🚀 VAM: ↑847 m/h · ↓1662 m/h
🧗 Longest climb: 4.00 km · +550 m
📊 Load: 294 TRIMP (Hard, est.) · 📉 Fatigue: +2.1% (steady pacing)
⬆️⬇️ Uphill 62% · Downhill 32%

👉 Join the club: strava.com/clubs/trailmetrics
📲 trailmetrics.app

A quick breakdown of key metrics from this run:

  • Km-effort: 16.4 km distance + 1,065 m vertical gain yields 27.1 km-effort, earning a Cat. XS mountain workload category.
  • VAM: Vertical ascent speed (↑847 m/h) on climbs alongside technical descent speed (↓1662 m/h) on downhills.
  • Uphill / Downhill Split: 62% of moving time spent climbing (>+2% grade) and 32% descending (<−2% grade). The remaining 6% represents flat approach and transition segments.
  • Pacing Fatigue: Compares grade-adjusted pace between the first and last thirds of runs ≥ 6 km. A value of +2.1% reflects steady, consistent pacing throughout the entire run.

Your custom activity titles, personal notes, photos, and tagged friends remain completely untouched. It is 100% free, runs automatically in the background, and gives your mountain training the context it deserves.

Did you find this guide helpful?

Share it with your trail running group or mountain club.

Share:XWhatsApp
Connect your runs

Try TrailMetrics on your next Trail Run

We calculate km-effort, vertical density, grade adjusted pace (GAP), and VAM on every activity, appending it to your Strava description automatically.