Methodology

How a figure is derived, and what stands behind it.

The reason to trust a number is not that we produced it. It is that you can follow it back , through the arithmetic that made it, to the evidence behind each constant that arithmetic used.


From the power file to the substrate split

One derivation, in order. Each step is marked measured or modelled, because that distinction is the whole point and it is not preserved by any tool that reports a single calorie figure.

  1. 01Measured

    Power, sampled through the ride

    The file's power channel is read as it arrived. Absent samples stay absent rather than being interpolated to zero, and the gaps are counted, so anything computed downstream is expressed over the time actually covered rather than over wall-clock elapsed time.

  2. 02Measured

    Mechanical work

    Power integrated over the powered time. This is the only quantity in the chain the file establishes directly, and it is what everything after it is anchored to. Its band comes from the stated accuracy of the recording device, treated as unknown unless the device identifies itself.

  3. 03Modelled

    Metabolic energy

    Mechanical work divided by gross efficiency , the fraction of metabolic energy that reaches the pedals. Where the rider has their own efficiency test on file, that figure is used and the output is labelled as tested on this rider. Where they do not, a population value is used and the output is labelled as a population figure. The two are never presented alike.

  4. 04Modelled

    Intensity, as a fraction of maximal oxygen uptake

    The substrate relationship is expressed against relative intensity rather than absolute power, so the metabolic rate is converted to a fraction of the rider's maximal oxygen uptake. A measured value is used where one exists; otherwise it is estimated from threshold power, and that estimate is labelled an assumption of ours and carried as such through everything downstream.

  5. 05Modelled

    Carbohydrate fraction, per sample

    At each sample, the proportion of energy coming from carbohydrate rather than fat is evaluated from that sample's relative intensity, then integrated across the session. This is computed sample by sample rather than once at the session average, and the two are different numbers by construction: the relationship is non-linear, so a figure taken at the mean is not the mean of the figures.

  6. 06Modelled

    Substrate mass, and the demand that follows

    The integrated split converts to mass of carbohydrate and of fat. The carbohydrate figure over the powered duration gives an hourly demand, which is then held against a ceiling on how much a rider can absorb , so what is reported as demand is what can actually be taken on, not an unbounded requirement.

  7. 07Modelled

    The shortfall, as a range

    Where demand exceeds what the ceiling permits, the difference is a deficit. It is reported as a range rather than a point, produced by running the same model at both ends of the efficiency spread already disclosed at step 03. A point estimate there would imply a precision the inputs do not support.

Steps 01 and 02 are what the file establishes. Everything from 03 onward is a model, and the report says so at each figure rather than once in a footnote.


The citation discipline

A constant is not a number in the source code. It is an entry in a register, and the register is the only thing in the system that can grant attribution.

Every constant carries its source and the date it was checked

An entry records the value, the claim that value supports, the source, and a locator precise enough to find it in that source , a table, a page. Marking an entry verified additionally requires the date it was checked, who checked it, and a resolvable identifier for the source. An entry lacking any of these cannot be marked verified.

Code cannot promote a value

Attribution is derived from the register at build time. There is no override parameter, and no path by which engine code can raise the tier of a value it is using. Editing the generated register by hand to raise a tier is the precise move the check exists to prevent, and the build fails on it.

Unverified constants are disclosed, not hidden

A constant not yet checked against its source still functions , it does not block the calculation , but it resolves to a weaker attribution, and that weakness propagates to every figure computed from it. The report then states how many such constants it used. As things stand the register's definitional entries are verified and its empirical entries are not yet, and reports say so rather than presenting them as established.

A divergence is stated, not absorbed

Where our value for a constant differs from the source it cites, the report states the divergence rather than letting our figure stand behind someone else's name.


Published work

Where we set out a method in full, or put a result up to be argued with, it will be listed here.

Nothing is published yet. When the first piece is ready it will appear here in full, with its data and its method, rather than as a summary pointing at something held back.


What we cannot yet validate

Stated plainly, because a figure you cannot check is a figure you cannot defend to a rider or a nutritionist , and because the limits are more use to a reader evaluating this than another paragraph about the parts that work.

Gross efficiency, without a metabolic cart

The conversion from mechanical work to metabolic cost turns on a rider's efficiency, and there is no way to establish it from a power file. It needs indirect calorimetry. Until a rider has that test, this step uses a population figure and the report labels it as one.

The substrate split, against a rider's own measurements

The proportion of energy drawn from carbohydrate is modelled from relative intensity. Confirming it for an individual requires respiratory exchange measurement across a range of intensities. The profile can record such results today; the model reading them in place of the population curves is being built, and until it is, that step is a population relationship and is labelled as one.

Outside the range the relationships were established over

The substrate work these relationships come from was conducted within a bounded range of intensities. A session spending time above that range is outside what the method was established to describe. The engine measures how much time and marks the result accordingly, which is a disclosure rather than a correction , a figure does not become right because it is flagged.

Absorption, as a population ceiling

The ceiling on carbohydrate intake is a population figure, varying with what a rider has trained their gut to tolerate. It is not measured per rider, and a coach who knows their athlete's tolerance to differ should read the reported demand accordingly.

None of this is a disclaimer. It is the boundary of what the method establishes, and a reader deciding whether to rely on these figures needs it more than they need another description of what works.

How the engine works →