PIRX Docs
Dashboard

Projection Tile

The main dashboard card showing your projected finish time, likely range, comparison to your benchmark, and a Race-anchored badge when the number is pinned to a real race.

Watch: The Projection Tile explained

Projection Tile screenshot

Source: components/home/projection-tile.tsx


What You See

The main card on the dashboard, titled Time Projection. A row of distance pills (1500m, 3K, 5K, 10K, Half, Marathon) lets you switch events. For the selected event you see your projected finish time in large text (like '4:50' for the 1500m), the equivalent pace per kilometre and mile, and how you compare to your benchmark (for example '9s faster vs benchmark'). Below that is your likely range — the fastest and slowest finishes your current training supports. A green Race-anchored badge appears when the projection is pinned to a real race you ran (see Race-Anchored Projection). A trend word like 'Improving' shows the direction of your recent change. Tap 'Why this time?' to see each driver's contribution in seconds, and the share icon to create a race card.

How the Numbers Work

The projected time is calculated by the PIRX prediction engine. It starts with your baseline time (your most recent real race or a best estimate) and then adds or subtracts seconds based on five performance drivers. All of your training counts — including cross-training like cycling, swimming, and strength work, each weighted by how much it transfers to running. The likely range comes from a confidence interval around the prediction: more consistent data means a tighter range. If a real race contradicts the projection, the race wins — the projection is re-anchored to it and the Race-anchored badge appears.

Step by Step

Method used: race-equivalency curves and rule-based driver scores

  1. The projection engine runs a chain of calculations after every sync.
  2. Baseline: a 5-tier cascade finds your starting time -- first it looks for a real race where your heart rate hit at least 83 percent of your max; if none, a sustained effort of 3+ km at 85 percent HR; then a discounted fast-pace estimate; then an adjusted median; last resort is a 25:00 default. Non-5K races are converted using the Riegel power-law formula. If race data is too sparse, a Local Matrix Completion (LMC) rank-2 model or a KNN cold-start lookup (k=3 similar runners) sets the baseline.
  3. Features: rolling distances over 7/21/42/90 days, zone percentages, threshold and speed minutes per week, matched-HR-band pace, HR drift, weekly load standard deviation, ACWR (Exponentially Weighted Moving Average of 7-day load divided by 28-day load).
  4. Driver scores: each feature is divided by a baseline reference value, multiplied by 50, and clipped to 0-100; ACWR uses a U-shaped curve centered on 1.05.
  5. Total improvement: the weighted mean of all driver scores minus 50, divided by 50, times 25 percent of your baseline time.
  6. Noise dampening: the new projection is blended with the previous one using a smoothing factor between 0.3 and 0.7 (skipped if the baseline shifted more than 5 percent).
  7. Range: starts at 1.5 percent of the projected time, plus a volatility term (capped at 5 percent), plus a data-quality gap term, plus 1 percent if ACWR is above 1.5 or below 0.6.
  8. The served Projected Time is the race-equivalency anchor plus the rule-based driver seconds. The 21-day change compares today's stored projection to the one saved 21 days ago.

On this page