KOM Hunter

How it works

2.0 Before you start

For the data nerds. Nobody has to read this to ride. It is here because some of us cannot enjoy a number until we know where it came from.

The short version: we take your power, your weight, your bike, the road and the air, and we ride the segment for you, a tenth of a second at a time. You still have to do the real one yourself.

2.1 What a prediction is, and what it is not

A predicted time is the time our model rides a segment in, with your power profile, your weight and your bike, on that road and in that air. It is the answer to "how fast could I go here if I gave it everything?", for right now or for an hour you pick.

It is a calculation. It is not a promise, and it does not know that you slept badly or that a delivery van is parked in the bike lane.

The gap to the record compares that time with the fastest time on Strava's leaderboard: the QOM when your profile says female, the KOM otherwise.

gap=trecord−tpredictedtrecord\text{gap} = \frac{t_{\text{record}} - t_{\text{predicted}}}{t_{\text{record}}}

Above zero, the model has you ahead of the record. Below zero, behind.

It is a margin and not a probability. A gap of +3% means the predicted time is 3% faster than the record. It does not mean a 3% chance of anything, or a 97% chance. Crowns are not handed out by spreadsheet.

A dash instead of a time means we could not predict it. Most often we hold no power profile for you yet, or there is no forecast for the hour you asked about.

2.2 Your engine: the power profile

Everything starts with how much power you can hold, and for how long.

The power curve. Your best average power for twelve durations: 5, 10, 20 and 30 seconds, and 1, 2, 5, 10, 20, 30, 45 and 60 minutes.

There are two ways to get one.

FTP, functional threshold power, is what you can hold for about an hour. We take the higher of your 60-minute power and 95% of your 20-minute power, to the nearest watt. If you know yours better, enter it. An FTP you entered stays until you change it or clear the field.

CP and W′. Critical power, CP, is the power you can hold for a long time without digging a hole. W′, "W prime", is the size of the hole you are allowed to dig: a fixed amount of work, in joules, that you can spend above CP. Ride above CP and W′ drains. Ride below it and W′ fills back up.

The model behind it, from Monod and Scherrer, says that the work you can do in a time tt is

t⋅P=CP⋅t+W′t \cdot P = CP \cdot t + W'

Plot t⋅Pt \cdot P against tt for the points of your curve and you get a line. Its slope is your CP and its intercept is your W′. We fit that line to your whole curve, so one freak effort does not decide it. CP and W′ are always calculated. There is nowhere to type them.

Power you can hold, by duration. From the curve, CP and W′ we work out what you can hold for 45 seconds and for 2, 5, 8, 20, 40 and 60 minutes.

Which power a prediction uses. One power for the whole segment, chosen by how long the segment is. A short segment is ridden on your sprint; a long one on your threshold.

Segment length The power we ride it on
Under 500 m What you can hold for 45 seconds
500 m to 1 km 2 minutes
1 to 2 km 5 minutes
2 to 4 km 8 minutes
4 to 8 km 20 minutes
8 to 20 km 40 minutes, with one third of it taken from your FTP
20 km and more Your FTP

So your FTP matters only on long segments. On everything under 8 km the time comes from your curve, CP and W′. That is the whole point of having a curve.

No power meter? Then there are no rides to read a curve from, and we give you a default profile: about 275 watts for 20 minutes and 250 watts for an hour. We tell you when you are on it. Those are somebody's numbers, not yours, so your times cannot be accurate until you enter your own. Even rough ones beat ours.

2.3 The ride: physics, minus the suffering

The segment in chunks. A segment is not one slope and one direction, so we cut it into chunks that are. We walk along the route looking 50 metres ahead. When the gradient ahead differs from the chunk we are in by more than 2 percentage points, or the direction by more than 10 degrees, a new chunk starts. No chunk is shorter than 15 metres. Each chunk knows its length, its average gradient, the direction it points in, where it is, how high it is and what the surface is like.

The forces. Three things hold you back, and one of them sometimes helps.

Fgravity=m g sin⁡(arctan⁡G)Frolling=Crr m g cos⁡(arctan⁡G)Fair=12 ρ CdA vair2F_{\text{gravity}} = m\,g\,\sin(\arctan G) \qquad F_{\text{rolling}} = C_{rr}\,m\,g\,\cos(\arctan G) \qquad F_{\text{air}} = \tfrac{1}{2}\,\rho\,C_dA\,v_{\text{air}}^{2}

Of the power you put into the pedals, 97% reaches the road. The other 3% warms your chain.

The ride itself. We ride each chunk in steps of a tenth of a second. In each step the force that moves you is your power at the wheel divided by your speed, less the three forces above:

Fnet=η Pv−Fair−Frolling−Fgravitya=FnetmF_{\text{net}} = \frac{\eta\,P}{v} - F_{\text{air}} - F_{\text{rolling}} - F_{\text{gravity}} \qquad a = \frac{F_{\text{net}}}{m}

Your speed changes by aa times a tenth of a second, you move on, and we do it again until the chunk is done. The speed you leave a chunk with is the speed you enter the next one with, so a fast descent carries you into the next rise, as it does on the road. The segment starts at 9 metres a second, about 32 km/h: a flying start, because nobody takes a crown from a standstill.

Spending and getting back W′. While your power is above CP, the chunk costs you

Wspent′=(P−CP)⋅ΔtW'_{\text{spent}} = (P - CP)\cdot \Delta t

When a chunk would empty the tank, we do not let you finish it at that power. We ride the chunk again on a lower power, set by how much of the tank you had left. Legs do the same, with less warning.

While your power is below CP, W′ comes back, faster the further below CP you are:

recovery rate=CP−Pτ,τ=546 e−0.01 (CP−P)+316 seconds\text{recovery rate} = \frac{CP - P}{\tau}, \qquad \tau = 546\,e^{-0.01\,(CP - P)} + 316 \ \text{seconds}

It never fills beyond full.

Downhill you can push a little harder than the power chosen for the segment, because gravity is doing part of the work. We allow the chosen power plus W′ divided by 300, and never more than twice your CP.

2.4 The sky: wind and air

Where it comes from. The forecast is NOAA's Global Forecast System, GFS, on its quarter-degree grid. NOAA runs it four times a day, and we take each run as it arrives. It reaches seven days ahead, hour by hour.

Wind along the route. A segment turns, and the wind does not turn with it. For every chunk we take the wind at that chunk's position, at the moment the model has you arriving there, and set it against the direction the chunk points in. A headwind adds to the air you push through and a tailwind takes away from it. A tailwind faster than you are pushes you.

Thin air and thick air. Drag grows with the density of the air, and air is not the same everywhere. We work the density out from temperature, pressure and humidity. The forecast's grid is coarse, about 25 km, and its idea of how high the ground is can be far from the road you are on, so we first move its temperature and pressure to the real height of each chunk. Warm, humid air at altitude is thin, and thin air is fast. Cold, dry air at sea level is thick, and you will feel every bit of it.

Without a forecast we use still air at 1.225 kg/m³, the textbook value for sea level.

What you see and what we use. The weather on your screen is the weather near the start of the segment at the moment you set off. The prediction uses the weather along the whole route, chunk by chunk, as you would meet it. Gusts and rain are shown, but they do not change the time yet.

Where it works. Wind and weather cover California, Oregon, Washington, Hawaii and Baja California today. Elsewhere a time is predicted in still air, and there is no seven-day forecast.

2.5 The road: smooth, rough, and "is this even a road?"

A good tyre on fresh tarmac rolls almost for free. On gravel it does not. For each chunk we look up what OpenStreetMap says about the road under it and turn that into a score from 1 to 32. The score raises the rolling resistance, and on rough ground the drag as well.

What the map says Score What it does to rolling resistance
Asphalt, concrete, any paved road 1 Nothing. This is the baseline.
Cobbles, setts, paving stones 8 20% more
Gravel, compacted or bare ground 14 50% more
Dirt, unpaved 18 70% more
Mud 24 Double
Sand, grass 28 Two and a half times

When the map names no surface, we go by the kind of road: a street or a main road counts as paved, a cycleway as nearly so, a track or a service road as gravel, a path as dirt. A track's grade, from 1 to 5, makes it rougher still.

When the map knows nothing at all about the ground under a chunk, we assume a rough one, a score of 20. The map data we hold covers the United States, Canada, Mexico and Greenland. Outside them every chunk is "unknown", and predicted times come out slower than they should.

2.6 The week ahead: the forecast and the best time to ride

With Pro, the same ride is run for every hour of the next seven days, each with the wind and the air of that hour. That gives a time for every hour you could set off.

The best time to ride is the hour with the fastest time. That is all it is: we ride the segment once for every hour in the range and keep the quickest. Times are shown in the segment's own time zone, so "8 in the morning" means 8 in the morning where the segment is.

A forecast gets less sure the further ahead it looks, and it is replaced four times a day. The best hour for Saturday can move between Tuesday and Friday. Look again before you pin a number on.

2.7 The fine print, for honest nerds

What the model does not know, it cannot ride.

The predictions KOM Hunter shows are estimates from a mathematical model and the data we have. Your real time can differ, for reasons the model does not see: a sudden change in the weather, the state of the road, traffic, or how you feel that day. Use your own judgment.

And ride safely. No crown is worth a red light.