Extend run stats DSL with statistical and temporal analysis

This commit is contained in:
Peter Stockings
2026-10-02 17:37:01 +10:00
parent 987f470ea5
commit a06189849e
12 changed files with 1807 additions and 214 deletions
+18 -19
View File
@@ -56,30 +56,29 @@ invalid drafts retain the displayed results. Guided controls and the language
reference remain available below the editor. CodeMirror 5.65.20 and its completion
addon are vendored locally under the MIT license; the editor needs no CDN access.
Queries support up to six metrics, numeric comparisons and inclusive ranges,
case-insensitive title search, `has`/`missing` sensor filters, daily/weekly/monthly
grouping, and evidence sorting. Periods use your account timezone: rolling days,
weeks, calendar months, or inclusive explicit dates. Comparisons cover an equally
long preceding period. Pace filters accept values such as `5:30 /km`; duration
accepts `h`, `min`, or `s`, and distance accepts `km` or `m`.
The DSL supports statistical summaries and percentiles, calculated fields,
AND/OR filters, run gaps and changes, rolling workload, running streaks, calendar
and metric-bin groups, group filters/ranking, cumulative and rolling trends,
scatter plots with correlation, and CSV exports. See the complete
[DSL reference and examples](docs/STATS_DSL.md) for units and execution semantics.
For your ten biggest gaps between recorded runs:
```text
runs
during last 6 months
where distance between 8 and 20 km
and pace <= 5:30 /km
and has cadence
summarize pace, heart_rate, cadence
by month
compare previous period
sort by pace asc
during all time
summarize gap_since_previous_run, distance
by run
sort by gap_since_previous_run desc
take 10
compare none
```
The explorer covers whole runs and uses persisted summaries without loading
recording samples. Metric definitions and usable-run coverage appear with each
result. Select a chart point or the evidence period picker to inspect contributing
runs. Save named views in this browser, or bookmark the results URL; relative
queries follow the calendar as new runs are imported.
Gaps use complete owner-scoped history before filters and link to the previous
run. The explorer uses persisted run summaries without loading recording samples.
Cards show metric definitions and usable-run coverage. Select a chart point or
group row to inspect contributing runs. Save named views in this browser, or
bookmark the results URL; relative queries follow the calendar as runs are added.
### Bringing in more activities