Data Analysis: Showing The Working
Every number this site prints comes out of an equation, and every equation comes out of data with limits. This page is where I show that equation, work one prediction through by hand, and say plainly where the model stops being trustworthy.
What a model of a climb actually is
When this site predicts your Alpe du Zwift time, it is not simulating your ride. There is no virtual rider inside the code with a frontal area, a rolling resistance coefficient and a gravity term. That kind of first-principles physics model is a perfectly reasonable way to attack the problem, but it needs inputs almost nobody measures: your CdA sitting up at 11 km/h, the drivetrain loss in your specific trainer, the exact gradient your avatar saw through each of the 21 hairpins.
What this site uses instead is a fitted model. Take a set of climbs where both the finishing time and the power-to-weight ratio are known, plot time against W/kg, and find the curve that runs closest to those points. The curve is descriptive, not explanatory. It does not know why a rider at 4 W/kg finishes when they do. It knows that riders around 4 W/kg have historically finished around a certain time, and it interpolates between the points it was given.
That distinction matters more than it sounds. A physics model goes wrong when one of its coefficients is wrong. A fitted model goes wrong when the ride you are asking about is nothing like the rides it was fitted to. The long version of how the fitting was done is in the regression methodology article, and the ride-level patterns behind it are in the data behind Zwift climbing.
The equation this site uses
Here it is in full. This is the same expression that drives the Alpe du Zwift calculator, not a simplified version of it:
time_seconds = 148.60 × (W/kg)² - 1954.08 × (W/kg) + 8329.87Three constants, one input. Take a 75 kg rider holding 250 W for the whole climb and work it through step by step, so you can check the calculator by hand rather than trusting it.
- 1. Power to weight250 ÷ 75 = 3.33 W/kg
- 2. Square it3.33² = 11.0889
- 3. Quadratic term148.60 × 11.0889 = 1,647.81
- 4. Linear term1,954.08 × 3.33 = 6,507.09
- 5. Add the three terms1,647.81 - 6,507.09 + 8,329.87 = 3,470.59 seconds
- 6. Convert to minutes3,470.59 ÷ 60 = 57.84 minutes, or 57 minutes and 51 seconds
Type 75 kg and 250 W into the calculator and it returns 57.8 minutes. Nothing happens between the input box and the answer except that arithmetic. If you want the same treatment for the longer climb, the Ven-Top calculator uses its own fit, and the side-by-side comparison runs both at once.
Why the curve bends instead of running straight
The fair question is why the equation carries a squared term at all, when a straight line is simpler and easier to fit. The reason is exposure time. Alpe du Zwift is 12.2 km with 1,036 m of elevation gain, averaging roughly 8.5% across 21 hairpins. At 2.7 W/kg you are on that mountain for well over an hour, so 25 extra watts get applied for seventy-odd minutes and buy a lot of elapsed time. At 5.3 W/kg the same 25 W are applied for about half as long, and there is correspondingly less clock left for them to take away.
Run the same 75 kg rider up the climb in 25 W steps and the pattern is obvious. The right-hand column is the time saved by that step compared with the row above it.
| Power | W/kg | Predicted time | Saved by this step |
|---|---|---|---|
| 200 W | 2.67 | 69:32 | - |
| 225 W | 3.00 | 63:25 | 6:07 |
| 250 W | 3.33 | 57:51 | 5:34 |
| 275 W | 3.67 | 52:40 | 5:11 |
| 300 W | 4.00 | 48:11 | 4:29 |
| 325 W | 4.33 | 44:15 | 3:56 |
| 350 W | 4.67 | 40:45 | 3:30 |
| 375 W | 5.00 | 37:54 | 2:51 |
| 400 W | 5.33 | 35:36 | 2:18 |
If you want the exact rate at any point, differentiate the equation: the slope is 297.2 × (W/kg) - 1954.08 seconds per W/kg. At 3.33 W/kg that comes to about 964 seconds saved per extra W/kg, which for a 75 kg rider is 12.9 seconds per watt. At 5.00 W/kg the same calculation gives 6.2 seconds per watt.
The first 25 W buys six minutes. The last 25 W buys two minutes and eighteen seconds, for exactly the same training effort. A straight-line fit would have promised the same saving at every step, which would overstate the payoff for strong riders, understate it for everyone starting out, and eventually predict a negative finishing time. The quadratic term is doing real work here, and it is also the number that should shape your expectations: the closer you already are to your ceiling, the more power a given time saving costs.
Where the model stops being trustworthy
A fitted curve is only as honest as the boundaries you put around it. Four limits are worth stating out loud.
It only interpolates inside the range it was fitted to
The equation was fitted to observed climbs in the normal amateur band, and it gets shakier the further you move outside that band. There is even a hard mathematical edge: the parabola turns around at 1,954.08 ÷ (2 × 148.60) = 6.57 W/kg, where it predicts about 31:46. Push past that point and the equation claims more power makes you slower, which is nonsense. That is not a claim about cycling, it is what extrapolation does to any curve fit. The calculator refuses to print a time at all above 7.5 W/kg, which is past anything anyone has recorded.
It assumes steady power
The input is a single average. A rider who opens at 320 W, blows up on the middle hairpins and crawls home at 210 W can average the same 250 W as someone who sat locked on 250 W the whole way, and they will not finish together. The one who paced it evenly is usually faster, and the equation cannot see the difference: both rides get the same prediction.
It cannot see anything about you
Pacing discipline, whether you had somebody to chase, how well your trainer is calibrated, whether you started the climb fresh or 90 minutes into a group ride. None of it enters the equation. Those factors are real and they are worth minutes.
It prints a point, not a range
The output looks precise because it is a single number with a decimal on it. Treat it as the middle of a spread rather than a promise. If it says 57.8 minutes and you ride 59:40, the model was not badly wrong and neither were you. The same caveat applies to every other climb estimate on the Zwift climbs pages.
How to read any performance number critically
This applies to my numbers as much as to anyone else's. Three questions do most of the work.
How many rides is it built on?
A relationship drawn from twenty rides and one drawn from two thousand look identical once somebody plots them as a smooth line. The line hides the sample. If a claim does not come with a count, treat the shape of the curve as a rough guide rather than a measurement, and be especially wary at the ends where data is always thinnest.
Who decided which rides you see?
Public climb times are the times riders chose to publish, and people publish their good days. Nobody uploads the attempt where they cracked at hairpin 14 and soft pedalled the last 3 km. Any model fitted to public results is therefore fitted to a sample of successful attempts, which nudges its predictions optimistic. That is a structural bias, not a rounding error, and no amount of extra data fixes it if the data keeps arriving through the same filter.
Is there a mechanism, or just a correlation?
W/kg predicts climbing time well because there is a mechanism underneath it: on an 8.5% average gradient almost all your power goes into lifting mass against gravity, so watts per kilogram is close to the whole story. Compare that with a claim like "riders using a particular frame climb faster". Maybe the frame helps, or maybe faster riders are the ones who bother unlocking that frame. When you cannot name the mechanism, you are looking at a pattern, not a cause. The standard I try to hold myself to is written down in the editorial policy.
Send me a data point
A fitted curve improves in exactly one way: more observations, especially from the parts of the range where observations are scarce. If you ride Alpe du Zwift, three numbers are enough to be useful. Your finishing time from the banner at the bottom to the arch at the top, your average power for that segment, and your in-game weight. Send them through the contact page.
The most valuable submissions are the awkward ones. Climbs under 45 minutes and climbs over 75 minutes sit at the ends of the curve where it is weakest. Rides where you deliberately went out too hard are useful too, because they show how much the steady power assumption costs in practice.
I am not going to dress this up as a laboratory study. It is a curve fitted to rides that riders chose to share, published with its equation visible so you can disagree with it. If your times land consistently on one side of the prediction, tell me. If enough of them do, the constants change. The rest of the archive is at the blog index.