Quantifying the Unquantifiable: Designing the Mountain Bike Efficiency Matrix

This is Part 1 of 3 in the Mountain Biking Efficiency Indicator series.

A year ago, I completed my master’s thesis at Hochschule Luzern, working on a problem that sits at the intersection of three things I care deeply about: cycling, data science, and software engineering. The project aimed to answer a deceptively simple question: How do you measure technical skill in mountain biking?

This is the story of building a real-time efficiency indicator in collaboration with Swiss Cycling, and what I learned about translating between the worlds of sports science and software engineering.

The Problem Every Coach Can See

If you’ve ever watched a cross-country mountain bike race, you’ve probably noticed something interesting: the fastest riders aren’t always the ones putting out the most power. Sometimes a rider with lower power output will demolish competitors who are working harder. The difference? Technical ability.

Traditional cycling metrics—power output, heart rate, speed, are excellent at measuring physiological effort. They tell you how hard someone is working. But they don’t capture how efficiently that effort translates into forward motion on technical terrain. A rider who picks better lines, maintains momentum through technical sections, and minimizes unnecessary braking can go faster while expending less energy.

As Damian Grundy, coach of the Australian national cross-country team, observed: riders with slower completion times sometimes generate higher power outputs than better performers [1]. The power is there, it’s just not being used effectively.

This creates a frustrating gap for coaches. They can watch a rider and immediately recognize technical inefficiency: fighting the bike, poor line choice, excessive braking. But when it comes to quantifying that assessment, providing objective feedback, or tracking improvement over time? The tools don’t exist.

The Efficiency Matrix Concept

The breakthrough came from focusing on relationships rather than absolutes. If two riders complete a segment at the same speed but one uses significantly less power, that difference reveals something fundamental about technical proficiency.

I developed what we’ve called the “efficiency matrix”, a visualization that maps performance into four quadrants based on the relationship between power output and velocity:

Efficiency Matrix

Each quadrant tells a story:

The green quadrant (fast & efficient) is optimal, high speed with low power expenditure. This is what “smooth” looks like in the data. The yellow quadrants represent trade-offs: either speed without efficiency (muscling through) or efficiency without speed (riding conservatively). The red quadrant (slow & inefficient) signals fundamental technical issues, high effort yielding minimal speed.

Screenshot of the efficiency matrix
Screenshot of the efficiency matrix from the application showing real segment data points distributed across quadrants

The beauty of this visualization is its immediacy. Coaches can see at a glance where a rider sits and understand what needs work. An athlete consistently in the red quadrant needs technical focus. Yellow-bottom-right suggests compensating for poor technique with power. The matrix provides a common language for something that was previously just “coach’s eye.”

Why Segments Matter
Breaking courses into discrete segments allows focused analysis across different terrain types. A rider might be highly efficient on climbs but inefficient through technical descents. Aggregate metrics would mask these patterns. Segment-level analysis reveals where technical work should focus.

The Technical Challenge: Physics Meets Data Science

The conceptual framework is straightforward. The implementation? That’s where things get interesting.

Understanding the Forces

Mountain biking performance is determined by the interplay of multiple resistance forces. On any given section, a rider must overcome rolling resistance (which varies dramatically between loose gravel and hardpack), grade resistance on climbs, and aerodynamic drag [2]. On technical terrain, these relationships become complex and non-linear.

Power meters provide objective physiological data, measuring the actual work being done. But translating instantaneous power measurements into meaningful efficiency metrics requires accounting for terrain characteristics, rider and bike weight, environmental conditions, and the segment’s technical demands.

The mathematical relationship is elegant in theory:

Friction losses in the drivetrain can be taken into account by incorporating the efficiency of the drivetrain, assumed here to be 97.7%:

$$ \begin{aligned} P_{\text{total}} = \frac{F_{\text{air}} \cdot v + F_{\text{slope}} \cdot v + F_{\text{roll}} \cdot v}{0.977} \end{aligned} $$
💡
Force Components

\(F_{\text{air}}\): Aerodynamic drag. Scales with the square of velocity (\(\frac{1}{2}\rho C_d A v^2\)), so it becomes the dominant force at higher speeds.

\(F_{\text{slope}}\): Grade resistance: the component of gravity acting along the slope (\(mg\sin\theta\)). The single largest force on any real climb.

\(F_{\text{roll}}\): Rolling resistance between tires and terrain (\(C_{rr}\,mg\cos\theta\)). Varies with tire pressure, tread pattern, and surface type.

In practice, each component is messy. Rolling resistance depends on tire pressure, surface type, and even rider weight distribution. Grade resistance varies continuously on undulating terrain. Air resistance follows a square relationship with velocity but is affected by body position and wind conditions.

Rather than attempting to model all these variables explicitly, the efficiency matrix takes a different approach: use the relationship between power and velocity as a proxy for the combined effect of all technical factors. If two riders face the same terrain and one uses less power for the same speed, they’re doing something right, whether that’s line choice, weight distribution, tire pressure, or bike setup.

Statistical Normalization: Making Comparisons Fair

You can’t simply plot raw power and speed values. Different riders have vastly different fitness levels. A 250-watt effort for one rider might be easy; for another, it might be maximal. Weather changes between sessions. Fatigue accumulates across laps.

The solution is z-score normalization, a statistical technique that standardizes values relative to a rider’s own performance distribution:

$$ \begin{aligned} z &= \frac{x - \mu}{\sigma} \\[0.5em] \text{where:} \quad x &= \text{observed value} \\ \mu &= \text{mean of the distribution} \\ \sigma &= \text{standard deviation} \end{aligned} $$

This transformation converts absolute values into relative performance. A z-score of +2 means “this segment was 2 standard deviations faster than your average.” Now you can meaningfully compare the same rider across different laps, different riders on the same segment, or the same rider testing different equipment setups.

The system also implements modified z-scores using median absolute deviation (MAD), which are more robust to outliers. Mountain biking data is noisy: crashes, mechanicals, brief dismounts create extreme values that would skew standard z-scores. Modified z-scores handle these edge cases gracefully.

Modified Z-Scores: Robustness to Outliers

Standard z-scores use mean and standard deviation, which are sensitive to extreme values. Modified z-scores use the median and MAD instead:

$$ \begin{aligned} z_{\text{modified}} &= 0.6745 \times \frac{x - \text{median}}{\text{MAD}} \\[0.8em] \text{where:} \quad x &= \text{observed value} \\ \text{MAD} &= \text{median absolute deviation} \end{aligned} $$

This makes the normalization robust to the occasional crash or mechanical issue that’s inevitable in mountain biking data.

References

  • W. Bertucci, S. Rogier, and R. Reiser II, Evaluation of aerodynamic and rolling resistances in mountain-bike field conditions, Journal of Sports Sciences, vol. 31, no. 14, pp. 1606–1613, 2013. doi:10.1080/02640414.2013.792945
  • F. Impellizzeri and S. Marcora, The Physiology of Mountain Biking, Sports Medicine, vol. 37, no. 1, pp. 59–71, 2007. doi:10.2165/00007256-200737010-00005