Files
Stride/docs/PERSONAL_RECORDS.md
T

30 lines
1.9 KiB
Markdown

# Running personal records
The dashboard and owner's run page now calculate estimated best efforts for
1 km, 2 km, 5 km, 10 km, half marathon (21,097.5 m), and marathon (42,195 m).
These are fastest stretches anywhere within a run, rather than lap times or
times projected from average pace. All existing running activities participate.
Following [Strava's elapsed-time convention](https://support.strava.com/en-us/articles/15401661-how-do-best-efforts-work-for-running-on-strava),
stops inside an effort count. The calculation uses full-resolution FIT cumulative
distance and timestamps, with linear interpolation at distance boundaries. Missing
distance/time, backwards distance, and non-increasing timestamps split the data.
Timestamp gaps count as elapsed time; there is no subtraction for auto-pause.
No distance or time is inferred from an activity summary when samples are absent.
The dashboard lists current records. Runs earn historical PR badges if they
established or strictly improved a record on their activity date; equal times
do not earn another badge. Import order does not affect the result. Records and
badges are recalculated from history, so older imports and removals are reflected.
Comparisons currently appear only in the owner's dashboard and activity page.
These are estimates from watch data, not verified race records or an exact clone
of Strava's proprietary calculation. GPS/distance spikes or sparse recording can
affect results. There is currently no manual effort exclusion or correction UI.
The initial implementation computes on page requests without a database migration.
For large histories, the next step is to persist per-run efforts at import time
with an algorithm version, backfill existing runs, and query those small results.
Further additions could include second/third-best medals, annual records, manual
exclusion of bad recordings, and a selected-effort highlight on the route map.