Tell your riders exactly what a session cost them. And prove it.
Session View reads every ride your athletes complete and returns what it cost in energy, what it demanded in carbohydrate, and where every figure came from. Under your own branding, the same evening the file lands.
A rider finishes at six and the file lands. You open the report and the zones, intervals and compliance are worked out for you, with a factual summary at the top. You read it, correct what needs correcting, and it goes out in your name — the same evening, not at the end of the week.
What changes is what you can say. You can tell a rider what the session cost and what it demanded in carbohydrate, and when they ask where either figure came from, show them — and the same answer holds when a nutritionist asks it.
Start with a setup call — we map your sources and load your own riders' sessions, then you have 14 days with your real data. No card required.
- Every ride
- Zones, intervals, compliance
- Every figure
- Linked to how it was worked out
- 100%
- Under your brand
This session cost 2,591 kcal. Carbohydrate oxidation ran at 205 g/h against a gut that absorbs about 90, so the plan fuels to the ceiling and shows the remaining 287 g coming out of glycogen — which is what the rider has to start the session carrying.
Right now, your riders' fuelling is guesswork.
You can estimate what a session cost. You can use a rule of thumb for carbohydrate. But when a rider asks where the number came from — or a nutritionist does — there is no answer that holds up.
Coaches and nutritionists have been doing this in spreadsheets, because no training platform gives them the figure.
- 01
Upload the ride, or connect the tools you already use
A standard ride file is enough to start. Nothing has to change about how your riders record.
- 02
The report is ready
Zones, intervals and compliance, the energy the session cost, and what it demanded in carbohydrate.
- 03
Read it, edit what needs editing, send it in your name
The analysis is a draft until you sign it. Riders see your brand and your words.
A session is modelled twice. Pre-session, it is built forward from the course, the rider and the conditions, so you know what it will ask and what it will cost before anyone turns a pedal. Post-session, it is rebuilt from what actually happened — sector by sector, with room to ask what a different pace would have changed.
The same model does both. Which means the plan and the outcome are measured the same way, and the difference between them is worth something.
One model, run in both directions.
Everything below comes out of the same physics and physiology. Nothing here is a separate product with its own idea of what a watt costs.
Build the demand
From the course, the rider, the equipment and the conditions, the model works out what the session will ask and what it will cost — before anyone rides it.
Take the session apart
From the file that comes back, the same model reconstructs what actually happened, sector by sector, and what it actually cost.
Because it is the same model, the plan and the outcome are measured on identical terms — so the difference between them means something rather than being an artefact of two tools disagreeing.
- The session read — zones, intervals, compliance
- The course simulated before it is ridden
- What-if scenarios, before or after
- Energy cost, substrate split and fuelling
- A CdA solved from the rider's own rides
Why this combination does not otherwise exist
Physics engines model the watts and carry no metabolic layer — they will tell you the time and nothing about the rider. Metabolic profiling gives combustion rates and knows nothing of the course — it will tell you the rider and nothing about the day. Session View runs both, in both directions, and shows the working for each.
The arithmetic is done for you. The judgement never is.
Bring in the ride file — .fit or .tcx, from any head unit or power meter. What comes back is the factual layer of the session, already worked out.
Time in zone
Power and heart rate, broken down by zone across the whole ride and within each effort.
Intervals, found automatically
Efforts are detected from the ride itself, with minimum, maximum and average power, heart rate and cadence for each one.
Compliance
What you prescribed against what was executed, effort by effort, with normalised power and intensity factor for the session and for each block. The gap is visible without scrubbing a chart.
A factual draft. You do the interpretation.
Each report opens with a structured written summary of what happened in the session. It is a starting draft of the factual layer, and it is yours to review, edit and sign off before a rider sees any of it. The groundwork is laid so your time goes on the judgement rather than on the arithmetic.
Stated as fact, because it is arithmetic
Compliance percentages, target against actual, time in each zone. These are calculations from the ride file, and the summary states them plainly.
Reported from the literature, never asserted about the rider
Where a question belongs to the art of coaching — fatigue, fuelling, how a block is periodised — the session itself raises the question, and the summary reports what published work says about that kind of observation before stopping. It does not tell you what it means for this rider on this day. That is your call, and it is the part no model makes.
The energy the session took, and what it took it from.
Mechanical work is measured. Everything after it is modelled, and the report says which is which at each step.
Mechanical work
The work done at the pedals, integrated from the power file. Measured, not estimated.
Metabolic cost
Mechanical work divided by gross efficiency — the rider's own figure where it has been measured, a population constant otherwise, and the report marks which.
Substrate partitioning
How much came from carbohydrate and how much from fat, in grams, computed per sample rather than once at the average. A session of hard efforts and easy recovery does not cost what its mean power suggests.
Oxidation against absorption
Carbohydrate oxidation as a rate, set against the exogenous absorption ceiling — the most the gut will take up in an hour. Where oxidation runs above it the difference is glycogen, and the report says how much came out of the tank rather than recommending an intake nobody can absorb.
The gap is not a target to fuel to; intake stops at what the gut absorbs. It is the size of the glycogen cost the session carries either way — which makes it a planning figure rather than an instruction, and it tells you whether the days either side of this ride belong in the decision.
Gross efficiency is the one that moves the calorie figure most. It is a population constant until a rider is tested, and every kilocalorie on the report carries that fact.
- Mechanical work
- 2,385 kJ
- Metabolic cost
- 2,591 kcal · 10,841 kJ
- Carbohydrate, total
- 512 g · 9,011 kJ
- Fat, total
- 46.3 g · 1,824 kJ
- CHO oxidation rate
- 205 g/h
- Absorption ceiling
- 90 g/h
- From glycogen
- 287 g
The number they are currently rebuilding by hand.
Nutritionists working with a rider work out session energy demand in a spreadsheet, because no training platform gives it to them. Session View produces the figure with its assumptions stated. A coach can share a rider's sessions — completed and planned — as a link, so the nutritionist reads the demand, exports the numbers, and does the nutrition.
We do not do the nutrition.
The link is generated by the coach, covers one rider, expires, and shows the rider as a reference rather than by name unless the coach chooses otherwise.
Fuelling from measured metabolism, not a population average.
Most fuelling figures a coach can get today rest on a population curve — ours included, and the report says so on its face. If the rider has been tested, that does not have to stay true.
The rider's profile takes the results of a lab or field metabolic test now, so the values are on file from the day you have them. Reading them into the substrate model in place of the default curves is what is being built.
Entered by hand. There is no connection to a testing provider and we do not imply one. The labelling that carries this is already running: every figure on a report names the tier it came from, so when a measured value does replace a default the change is visible on the page rather than asserted here — and until then the report shows you a population figure and calls it one.
- VO₂max
- maximum rate of oxygen uptake
- VLamax
- how fast they produce lactate
- MLSS
- maximal lactate steady state
- LT1 and LT2
- the two lactate turn points
- FatMax
- intensity of peak fat oxidation
- Combustion rates
- carbohydrate and fat, grams per minute
Your brand throughout.
Reports carry your coaching business's logo, colours and name. Riders see your brand, not ours.
Model the course before it is ridden.
A rider's watts are not worth the same everywhere. The model solves the four forces acting on the rider — aerodynamic drag, rolling resistance, gravity and change in kinetic energy — sector by sector, and puts the effort where a watt buys the most time. Into a headwind or up a gradient that return is large; on a descent it is close to none.
A course file, the rider's physiological profile and the forecast go in. Out comes a variable power target per sector rather than one flat number, a predicted split time, the mechanical work in kilojoules, the metabolic cost in kilocalories, and the carbohydrate requirement in grams per hour.
- Gradient and bearing, sector by sector, from the course file
- System mass — rider, bike and kit
- CdA in m², solved from the rider’s own rides
- Crr by surface type per sector
- Forecast wind speed and direction, resolved to yaw angle and air speed
- Air density in kg·m⁻³, from temperature, pressure and altitude
- Drivetrain efficiency
Wind is a forecast, and forecasts are wrong
Wind error is real and it propagates hard through an aerodynamic term. So the useful output is not one confident time. It is how the plan shifts under different wind assumptions — which sectors change, and by how much — so a rider knows what to do when the day is not what was forecast.
A drag figure is only worth the rides it came from.
CdA is the number that most moves a predicted time, and the easiest to get wrong. Almost everything here is about which rides are allowed to influence it.
One rider, more than one aerodynamic object
The same athlete on a time-trial bike is not the same aerodynamic object as that athlete on the road, and a single averaged figure describes neither. The two positions are solved and held separately, each from the rides ridden in it, so calibrating one never overwrites the other.
Segments, found and redrawn
Segments are detected from the course itself — gradient changes and bearing changes, ranked by how strongly each one divides the ride — and the coach can redraw the boundaries where the course disagrees with the algorithm.
Marking what does not count
The coach marks the segments where the rider was out of the saddle, changed position, or braked into a corner, and those are excluded from the regression. Braking and freewheeling are detected and dropped without being asked. A power-and-speed relationship that has nothing to do with aerodynamics cannot corrupt the fit.
Held fixed so the answer is well-posed
Mass, air density and drivetrain efficiency are held fixed and Crr is supplied rather than solved. Drag scales with the cube of speed and rolling resistance only linearly, which is what makes solving for one of them well-posed and solving for both at once not.
Solo rides only
Only rides confirmed as solo contribute. Sitting in a group changes the drag on a rider without changing anything about them, and a fit that cannot tell the difference is worse than no fit.
Ask what-if, before or after.
What if the rider's CdA improved. What if they held more power through this sector and less through that one. What does each change cost or save, in time and in energy.
The same model run against a different set of assumptions, so a decision can be argued about with numbers rather than instinct — before the ride when planning it, or after it when reviewing what happened.
A pre-ride scenario needs the fixed parameters already established: without a solved CdA and a Crr for the surface, the comparison has nothing to hold steady.
Demand is above the absorption ceiling, so the plan caps at the ceiling.
Every number says where it came from.
The reason to trust a figure is not that we produced it. It is that you can follow it back.
Traceable to source
Every input and every output links to where it came from — the source, the formula, the calculation that produced it. Supporting documentation sets out how each number was derived, so a figure in a report can be followed all the way back.
Uncertainty, stated
Every output carries the range around it and names the inputs that produced it. A number is never presented as more certain than the inputs behind it allow.
Marked for what it is
Measured on this ride, tested on this rider, a population figure, or an assumption of ours — each one is labelled on the report. Where we have not yet checked a constant against the paper it came from, the report says so on its face rather than letting it pass as established. And where one of our constants differs from the source it cites, the report states the divergence rather than letting our value stand behind someone else's name.
And where we cannot validate it, we say so
Some things we can check against every ride with a power meter. Others need a laboratory we have not been in yet. The reports draw that line rather than blurring it, because a figure you cannot check is a figure you cannot defend to a rider or a nutritionist.
Flagged when the ride leaves the method's range
The equations behind the substrate figures were established over a particular range of intensities. When a session spends time above that range, the report says how much and marks the split as correspondingly less certain, rather than presenting a number established under one set of conditions as though it held under another.
Range shown on every estimate. Sources listed on the report.
Built for the coaches who do the coaching.
If you work with club riders, amateur racers and age-groupers, this was written for you.
Solo coach
You do the analysis yourself, between sessions and around a job. The engine does the arithmetic and hands you something you can send without rewriting it.
Coaching agency
Every coach on your staff produces the same standard of analysis, under one brand, without agreeing on a house spreadsheet first.
Club or team
One place where the whole roster's sessions are read the same way, so a rider moving between coaches does not get a different answer to the same question.
A coach, their roster, and what changed.
We are running the first pilots now. This is where one of them will be written up in full — the roster, what they were doing before, and what the numbers changed about how they coach.
Pilot in progressPut defensible physiology in reach of the coaches who never had a lab.
Energy and fuelling numbers have been either guesswork or a black box for everyone outside a handful of professional programmes. Session View gives a working coach the same physiological reasoning, with every figure traceable to where it came from — so it can be explained to a rider, argued with by a nutritionist, and corrected when it is wrong.
Predictable pricing, scaled to your roster.
No setup fees and no per-report charges. Adjust active rider places whenever your roster changes.
- Time in power and heart rate zones on every ride
- Automatic interval detection, with compliance against what you prescribed
- Course modelling and what-if scenarios
- CdA solved from the rider's own rides
- Energy cost, substrate split and carbohydrate requirement per session
- A factual written summary on each report, for you to review and sign off
- Every figure traceable to how it was worked out
- Fully custom-branded web and PDF reports, no watermarks, un-gated links
- Every feature in Solo Pro — the capability is identical
- Five coach logins rather than one
- Up to 60 active riders, shared across the roster
- Every feature in Agency — the capability is identical
- Coach logins and rider places sized to your organisation
- Report delivery on your own domain
- A dedicated processing pipeline
- Access to the Session View API for your own systems
- Onboarding and support for a coaching staff
The analysis engine behind your coaching.
Session View runs as the analysis engine behind your coaching business. Riders receive reports under your identity, and the interpretation that comes with them is yours.
Start with a setup call — we map your sources and load your own riders' sessions, then you have 14 days with your real data.