Goal: a stable reference run for comparisons (position/helmet/wheels), not the “best-looking” outlier.
Prefer: QC A/green, high included distance, low rejection %, few unstable laps, and solid straight coverage.
Avoid: low straight time, many unstable laps, power dropouts/spikes, or runs that needed heavy manual selection unless you’re deliberately isolating a clean segment.
Rule of thumb: pick the top Best10 run you’d be comfortable publishing as a reference; if A-only has none, choose the cleanest B and document why.
Client report
Baseline vs Best10, power @35–55, time savings (40/90/180 km), and top 10 runs.
Uses current Ref speed.Copied
Workflow
Next action
Review QC and replay consistency, then finalize when evidence is stable.
Analyze once more to persist provenance, then run replay check.
Replay consistency
Run Analyze first, then check replay consistency.
No cached replay diagnostics yet.
Vector diagnostics appear after replay check.
Threshold bands appear after replay check.
idle
Editable
Saved status: —
Publish / Push to client
Generates a signed client link (no DB write). Includes report + PDF/CSV + photo access.
How clean and consistent the ride data is — affects how much you can trust the result.
greengrade A2026-05-07 14:39:23
Included: 6074.42 m
• 26 laps
Included lap flags:
green=21, yellow=2, red=3, none=0
• avg confidence 0.78
Track segments covered: 4/4
Signal quality breakdown
These are the main factors behind QC confidence and rejection. Thresholds are heuristic; use them to guide selection + data cleanup.
Driver
Value
Status
Notes / quick fixes
Confidence score
0.86
good
Low confidence often correlates with low straight time, unstable pacing, or many rejected samples.
Samples excluded
5%
good
If high: tighten selection, exclude bad laps, and re-run QC/analyze.
Inconsistent laps
4
(15%)
good
If unstable: check pacing, sensor dropouts, and avoid corners/traffic in the selection.
Straight time (effective)
113 s
low
If low: widen selection to include more straights, or capture more clean laps.
Straight coverage
1521 m
good
More straight distance generally improves confidence and stability.
Corner coverage
4553 m
—
Turns often bias CdA high; heavy corner time can hurt quality unless handled explicitly.
Included distance/laps
6074 m
• 26 laps
—
If low: widen selection or include more clean laps.
Solver samples used
479
(S 115, C 364)
—
If low: exclusions/selection/steady-gate may have removed too much data.
Sample interval
1.00 s
(IQR 0.00s)
ok
Irregular or low sample rate can reduce confidence and increase quantization artifacts.
Missing samples
speed 0.2%
•
power 0.0%
good
Dropouts often explain unstable laps and high rejection.
Quantization step
power ~4 W
•
speed ~0.040 m/s
good
Large steps can create “blocky” data and inflate residuals.
Data quality lap flags
dropouts 0 · spikes 0 · outliers 1
watch
Dropouts/spikes/outliers can sink confidence even if the lap “looks fine.” Consider excluding those laps.
Segment coverage
4/4
full
Missing segments can reduce stability/coverage. Aim for clean laps across the full track when possible.
Aerodynamic result
Drag coefficient (CdA) and rolling resistance solved from your selected ride data, with modelled power at common race speeds.
Definitions (what these numbers mean)
Field
Meaning
Drag (CdA)
Average of per-sample instantaneous CdA values computed from a power-balance model with fixed Crr (and drivetrain loss). Uses only samples that pass exclusions (and optional steady gate). Units: m².
Drag — straights / corners
Same CdA computation as “CdA total”, but averaged over samples labeled straight vs corner by the track segmentation. Useful to spot corner artifacts vs stable straights.
Rolling resistance (Crr)
Rolling resistance coefficient held constant during the solve. It may come from a per-run override; otherwise a tire library/manual point is used when available. CdA is estimated while Crr stays fixed.
Uncertainty / CI95
Two different things may appear: (1) CI95 is a bootstrap interval from solver_uncertainty_v2, resampling per-lap mean instantaneous CdA (1500 resamples, 95% interval). (2) Legacy “uncertainty” is a simple spread (std dev) of instantaneous CdA samples and is not a confidence interval.
Samples used
Counts from solver_sample_counts: total FIT samples, after exclusions, and the final number used by the solver (plus straight vs corner used).
Solver mode / steady gate
The mode can enable a “steady gate” that discards samples with large power ramps or speed changes (dp/dt and dv/dt thresholds), strong braking, and a short ignore window after a major power change. removed_frac is the fraction removed; the gate may fall back to disabled if it would remove too much.
CdA-inst stats
Diagnostics for instantaneous CdA on included samples: median plus dispersion (MAD/IQR). These are computed after masking invalid/out-of-bounds CdA values (e.g., non-finite or outside a plausible range).
Robust (straights)
A diagnostics-only straight fit stored in robust_v1: confidence-weighted IRLS (Huber) regression in wheel-power space on straight-labeled samples. It does not replace the reported CdA columns.
Rejected / residual / time used
Robust diagnostics: pct_rejected is mainly gating (not corners / below mins / below conf_min) and equals 1 - n_used/n_total. residual_metric is a robust residual scale (≈watts) from the straight-fit model (lower is better). straight_time_used_s summarizes how much time had non-zero fit weight.
Predicted power
Modeled steady-state (flat, no wind) power at fixed speeds using the run’s solved CdA total + fixed Crr and drivetrain loss. Useful for comparing “how fast this setup feels” on a common baseline.
Reference power table
Saved speed→power mapping built from the same steady-state model as Predicted power (CdA, fixed Crr, air density, mass, drivetrain loss) for consistent later comparisons.
Standard vs robust estimate comparison
The robust estimate uses only straight sections with confidence weighting — it's a diagnostic check and does not replace the reported result.
legacy
robust
Δ
CdA straight
0.2339
0.2072
-0.0267
(-11.4%)
Uncertainty
CI95 total
± 0.0044
—
Straight samples used
115
113/479
—
Rejected
Fraction of straight candidates that end up zero-weight (≈ 1 - n_used/n_total; mostly gating)
—
76%
—
Residual metric
Robust residual scale in watts (lower is better)
—
59.2
—
Straight time used
—
475.0s
—
Straight segments used
—
52
—
Drag (CdA)
0.2511 m²
CI95 0.2324–0.2712 (lap bootstrap, n=26)
Rolling resistance (Crr)
0.00400
Drag — straights
0.2339
Drag — corners
0.2561
Solver mode: default
• drivetrain 3.0% • accel on • grade off
Distance along the track on the X axis. Drag to highlight the section you want to analyse. Scroll with Ctrl/⌘ + mousewheel to zoom in.
(downloads selected CSV + selection JSON)
Applying a selection saves the range, re-runs the analysis, and refreshes all results below to match.
Loading chart…
Move pointer over chart for values.
PowerSpeed
CadenceHeart rateCdA-inst
Overlays: 3s long-dash, 10s dotted (visual only).
Lap explorer (visual only)
Selected
CopiedTip: click a boundary line (or Alt+click anywhere) to select a lap.
—
Stats are computed from the raw samples for the chosen lap.
Mode
Samples
Duration
Distance
Avg speed
Avg power
Avg cadence
Select a lap…
Stability (diagnostic)
Select a lap to see pacing/position stability.
Uses robust CV (MAD-based) + first-half vs second-half drift. Visual-only; does not affect solver.
Lap spans (distance/time from samples)
Lap
Start x
End x
Δx
Start t
End t
Δt
Loading…
Lap QC
Select a lap to see QC status.
Recommended next steps
Run details (setup, notes, tires, photos)
Setup is stored per run (equipment/position/overrides). Tire selection + notes + photos are stored on the run. Notes/tires autosave; photos require a manual upload.
Analyze: Parses the uploaded file, detects laps from distance vs track lap length, classifies straight/corner segments, computes QC results (per-lap qc_flag/reasons/metrics + run summary), and computes solver outputs (avg CdA/Crr + predicted power). This may increase the number of lap rows if the file contains more laps than the FIT “lap messages” reported at upload.
Recompute: Re-runs the QC computations using the current lap inclusion/exclusions in this run (updates per-lap qc_flag + the run summary). Use after excluding laps.
Finalize: Locks this run permanently (immutable). After finalizing, analyze/recompute/exclude are blocked; create a revision to make changes while preserving an audit trail.
Laps and exclusions
(showing 26/26)yellow 2red 3
FIT lap messages: unknownDetected laps: 26(included: 26)
Data source:
FIT
(fit_distance_field)
All detected laps are shown. Excluding laps changes QC; use Recompute after exclusions (Analyze recomputes QC + solver).
Runs one recompute (faster than excluding one-by-one).
lap_index
lap_id
included
qc_flag
qc_conf
qc_reasons
exclude_reason
action
0
14713
yes
yellow
0.57
Outliers present: 0.09
1
14714
yes
green
0.87
Lap OK
2
14715
yes
green
0.92
Lap OK
3
14716
yes
green
0.90
Lap OK
4
14717
yes
green
0.83
Lap OK
5
14718
yes
green
0.89
Lap OK
6
14719
yes
green
0.87
Lap OK
7
14720
yes
green
0.89
Lap OK
8
14721
yes
green
0.88
Lap OK
9
14722
yes
green
0.88
Lap OK
10
14723
yes
green
0.88
Lap OK
11
14724
yes
green
0.85
Lap OK
12
14725
yes
yellow
0.69
Marginal stability: 0.69
13
14726
yes
green
0.86
Lap OK
14
14727
yes
green
0.84
Lap OK
15
14728
yes
green
0.87
Lap OK
16
14729
yes
green
0.84
Lap OK
17
14730
yes
green
0.84
Lap OK
18
14731
yes
green
0.84
Lap OK
19
14732
yes
green
0.88
Lap OK
20
14733
yes
green
0.86
Lap OK
21
14734
yes
green
0.85
Lap OK
22
14735
yes
green
0.90
Lap OK
23
14736
yes
red
0.24
Unstable signals: 0.24
24
14737
yes
red
0.46
Unstable signals: 0.46
25
14738
yes
red
0.15
Unstable signals: 0.15
Client report preview
Auto-rendered from the same payload used by Copy. Adjust Ref speed and format to update.
CdA trend (Best10 + baseline)
Power bars (baseline tinted vs best solid)
Colors represent speed (40/45/50/55).
Baseline + Best10 (horizontal compare)
CdA by run order (baseline + compared runs).
Client runs summary (6)
All saved runs for this client: Lars Teutenburg — lars@bikefiteurope.com. “Recommended” prioritizes green QC + high included meters.