Guide · June 2026

CSV export columns explained

Raw data and windowed aggregates

Many training apps stop at a FIT file or a single average per lap. RitmoSync Pro offers three CSV layers from the same session:

You do not have to choose between raw data and aggregated analysis — export the stream, the windows, or both. FIT remains available for upload to Strava and TrainingPeaks.

Three CSV formats

After a workout, open Training history (Pro) or the post-ride summary and choose one of:

FIT export is separate — second-by-second records for Strava and TrainingPeaks, with session-level Ritmo Power and Ritmo Intensity when FTP is set. See FIT export to Strava and Ritmo Power indoors.

Stats used in 30s and zone CSVs

Power, cadence, speed, and resistance each get the same set of summary columns (with unit suffixes like _w or _rpm):

Common stat suffixes
Column suffix Meaning
avg Arithmetic mean over all samples in the block or zone.
max Highest value seen, including zeros if the trainer reported 0.
min Lowest value seen, including zeros.
min_nz Lowest non-zero value — useful when coasting reports 0 watts but you want “lowest pedaling effort.”
median 50th percentile — half the samples are below this value. More stable than average when you soft-pedal mid-interval.
q1 First quartile (25th percentile) — 25% of samples are at or below this value.
q3 Third quartile (75th percentile) — 75% of samples are at or below this value. The spread between q1 and q3 is your interquartile range.

Quartiles are computed from the actual per-second samples inside each block or zone — not estimated from average power alone. That is why a 30-second CSV row can tell you whether you held steady watts or surged and recovered within the same half minute.

Ritmo Power and Ritmo Intensity

During and after a ride, each zone block on screen shows R. PWR (Ritmo Power) and R. Int (Ritmo Intensity). These are RitmoSync’s effort-weighted power metric and its ratio to FTP.

Both columns appear in 30-second and zone CSV exports (blank when FTP is unset or the block is too short for a valid Ritmo Power window). FIT export includes session-level Ritmo Power and Ritmo Intensity in the session record when FTP is set. The 1-second CSV does not include these — they are rolling effort metrics, not instantaneous watts.

1-second CSV columns

File name pattern: samples-1s.csv. One row per recorded second.

Export 1s CSV
Column Description
elapsed_sec Seconds since session start (integer).
power_w Instantaneous power in watts from the trainer.
cadence_rpm Crank cadence in revolutions per minute.
heart_rate Heart rate in bpm when a strap is paired (blank if unavailable).
speed_kph Reported speed in km/h (trainer simulation).
distance_m Cumulative distance in meters from the trainer, when reported.
resistance_level Trainer resistance level when the device exposes it over FTMS.

30-second CSV columns

File name pattern: interval-summary.csv. Blocks are aligned to elapsed time from session start.

CSV 30s — block identifiers
Column Description
interval_index 1-based index of the 30-second block.
start_sec / end_sec Elapsed time window for this block (seconds).
distance_m or distance_miles Distance covered inside this block only (metric or imperial per app setting).
accumulated_m or accumulated_miles Total distance from session start through the end of this block.

Plus all power, cadence, speed, and resistance stat columns listed above (power_avg_w, power_median_w, power_q1_w, power_q3_w, ritmo_power_w, ritmo_intensity, … through resistance_q3).

Zone (section) CSV columns

File name pattern: zone-summary.csv. One row per FTP zone you rode in during the session.

CSV by zone — zone identifiers
Column Description
zone_index 1-based order the zone appeared in your ride.
zone FTP zone number (1 = recovery … 7 = neuromuscular).
duration_sec How long you spent in this zone segment (seconds).
zone_min_w / zone_max_w Lower and upper power bound for this zone based on your FTP (or display range if FTP is unset).
distance_m Distance covered while in this zone segment.

Plus the same power, cadence, speed, and resistance distribution columns as the 30-second export (including ritmo_power_w and ritmo_intensity). Use this file to compare how steady you were in Z2 vs Z4, or to chart quartile spread across a workout’s intensity changes.

Why so many columns?

A FIT file carries the ride for platforms like Strava. A lap export might give you one average per interval. RitmoSync’s CSV goes further: the 1-second file is your raw stream, while the 30s and zone files ship ready-made windowed aggregates — median, quartiles, Ritmo Power, and more — so you can analyze pacing without writing percentile code first.

That combination — raw plus windowed stats in standard CSV — is uncommon at this depth, especially behind a one-time Pro license rather than a higher subscription tier.

Typical uses: paste the 30s CSV into a spreadsheet to chart median vs average power per block; filter the zone CSV for time-in-zone validation; feed the 1s CSV into Python or R for custom analysis.

Export your next ride. Train free, upgrade to Pro when you want history and files.

Open web app — free Get Pro