Working on advanced running metrics (GCT, Vertical Oscillation, Vertical Ratio, Step Length) — help us cover more devices before we ship it

@pepe @Povedano @miguell @MedTechCD @ryandev

Looks like we have agreement, right?

Duty Factor % / stance_time_percent → is calculated per stride

stance_time_percent = stance_time × cadence / 600 = (287 x 84) / 600 = 40.2%

Flight Time and Flight Ratio → is calculated per step

flight_time = Step Time − Stance Time = (30000/84)− 287 = 70.1 ms

flight_ratio = Flight Time / (Flight Time + Stance time) × 100 = 71 / (71 + 287) × 100 = 19.8%

Thus Duty Factor% (per stride) + Flight Ratio (per step) will not add up to 100%

Intervals.icu will implement these metrics in this way assuming we are all in agreement.

4 Likes

The fastest set:


// Inputs assumed: stance_time (ms), cadence (RPM / strides per min), speed (m/s)
let duty_factor_pct = null;
let step_time = null;
let stride_time = null;
let flight_time = null;
let flight_ratio = null;

if (cadence > 0 && stance_time > 0) {
    // Pre-compute inverse cadence in RPM
    const inv_cadence = 1 / cadence;

    // 1. Step Time & Stride Time (ms)
    step_time = 30000 * inv_cadence; //30000 / cadence
    stride_time = step_time * 2; // 60000 * inv_cadence // 60000 / cadence

    // 2. Duty Factor (% per full stride) -> Stance Time / Stride Time * 100
    duty_factor_pct = (stance_time / stride_time) * 100;

    // 3. Flight Time (ms per step)
    flight_time = step_time - stance_time;

    // 4. Flight Ratio (% per step) -> Flight Time / Step Time * 100
    flight_ratio = (flight_time / step_time) * 100;
}
1 Like

Curious: why the speed in the condition?

good catch.

I run with Stryd (duo). I would be happy to contribute. The data is interesting but their own data platform doesn’t really allow you to use the data besides individual workouts. I do some analysis through Intervals and with Claude but better support would be welcoming.

1 Like

Thanks everybody for your help, here is a more formal post of all the changes and additions New Running Metrics

3 Likes

Great idea. I am running using Amazfit/Zepp Balance 2. I am happy to contribute with files if needed. Thanks