Native units, not converted units

When you create a plan, the first step of the wizard asks for miles or kilometers. That choice is baked into the plan: every distance and pace is generated and stored in that unit, never converted for display. A metric marathon plan peaks at a round 32 km long run — not a converted 32.2 — and its paces are minutes per kilometer. An imperial plan gets the same treatment in miles.

The unit follows the plan everywhere: the calendar views, workout logging, the calendar export, the watch export, reminder emails, the shared plan page, and the public API (which reports it as a plan-level unit field). Your unit choice also selects °F or °C for weather pace guidance.

Why converting loses precision

One mile is exactly 1.609344 km — an awkward factor that turns every round number into a ragged one. A tidy 5-mile tempo becomes 8.05 km; a 10 km race becomes 6.21 miles; an 8:00/mi pace becomes 4:58.3/km. Displayed values get rounded to stay readable, and that's where precision quietly leaks:

  • Round-trips drift. 10 km → 6.2 mi (rounded to one decimal) → back to 9.98 km. Convert again with rounding in between and the error compounds — the number you trained by is no longer the number you entered.
  • Totals disagree. Rounding each workout's conversion and then summing gives a different weekly total than converting the week's sum once — so a converted plan's per-day numbers and its totals can't both be right.
  • Targets stop being memorable. Training plans are built on round anchors — a 32 km long run, a 5-mile tempo, repeats at 5:00/km. A converted plan replaces them with 19.88 mi, 8.05 km, and 8:02.8/mi: harder to remember mid-run and mismatched with what your watch laps.

Storing natively sidesteps all of it: the value you see is the value that exists. Nothing is ever multiplied by 1.609344, so nothing ever needs re-rounding — a metric plan's 32 km is exactly 32 km in the database, the calendar, the watch file, and the API.

A plan keeps its unit for life

Because distances are stored natively, a plan's unit is fixed when it's generated. There is deliberately no toggle that relabels an existing plan — converting a hand-tuned 32 km long run into 19.9 miles would trade round, memorable numbers for conversion noise, with all the drift described above. Instead, you regenerate: Pheidi rebuilds the schedule from scratch in the new unit, so a metric plan gets metric-native targets rather than translated imperial ones.

Regenerating your plan in the other unit

To rebuild your current plan in the other unit:

  1. Open your plan and choose Manage → Plan Settings.
  2. Flip the Units toggle to miles or kilometers. You can adjust any other setting at the same time — race date, experience level, pace mode, training days, weekly volume.
  3. Click Regenerate Plan and confirm.

Pheidi generates a fresh plan from all of your current settings, natively in the unit you picked. The confirmation tells you exactly which unit the new plan will use before you commit.

Apply Changes alone does not switch units — it saves the preference for your next plan and adjusts the current plan's remaining weeks for any other setting changes. Only Regenerate rebuilds the plan itself.

What regenerating does — and doesn't — keep

  • Kept: your race goal (distance, date, target time), all profile settings, and your old plan — it's paused, not deleted, so its logged history stays intact in its original unit and you can switch back any time.
  • Not carried over: customizations on the old plan — logged workouts, manual edits, vacation adjustments, and injury modifications don't transfer to the fresh plan.

Where the unit is chosen

  • New plan: step 1 of the setup wizard, alongside your race distance and date.
  • Current plan: the plan settings blade, via the Units toggle + Regenerate flow above.

One field intentionally stays unit-flexible: current weekly volume is entered in whichever unit you prefer and converted behind the scenes, since it describes your training before Pheidi builds anything.


Units live inside the Pheidi app — sign in to build a plan in miles or kilometers.


See also

  • How Onboarding Works The six setup steps Pheidi uses to build your personalized training plan — race goal and units, experience, volume, pace mode, schedule, and generation.
  • How Plan Pause Works Pause a plan and switch between plans without losing history — regeneration pauses your old plan rather than deleting it.
  • How Plan Generation Works How Pheidi builds your personalized training plan: periodization, phase splits, shape-based load distribution, taper math, and base building.