RowingStrokes

Analyze your rowing data at your chosen sampling rate

Profile
📁 Drop your CSV file here
or click to browse
⏳ Processing your data...
Session rowing data
Stroke Rate
Heart Rate
GPS Speed
Accel Surge (+ve Fwd)
Filtered Accel Surge
Accel Sway (+ve Stb)
Accel Heave (+ve g Up)
Meters/Stroke
Speed/SPM Ratio
Stroke Analysis

⚙️ Stroke Detection Settings

🚣 Stroke Overlay

- -
Strokes Post-processing
Stroke Rate
Heart Rate
GPS Speed
Accel Surge (+ve Fwd)
Accel Sway (+ve Stbd)
Accel Heave (+ve Up)
Filtered Accel Surge (iOS App)
SpeedCoachGPS data comparison
Stroke Rate
Heart Rate
GPS Speed
Accel Surge (+ve Fwd)
Filtered Accel Surge
Meters/Stroke
Speed/SPM Ratio
Accel Sway (+ve Stb)
Accel Heave (+ve g Up)

Stroke Analysis Tutorial

This dashboard breaks down your rowing into three dimensions: Technique (Efficiency), Power (Work), and Outcome (Speed). Use these 7 metrics to diagnose your stroke.

The 7 Key Metrics

Metric What It Measures The Physics Goal Interpretation & Coaching
1. Drive Δv
(m/s — propulsion)
The "Engine"
Velocity added (positive corrected-accel area) during drive
Δv the drive adds (m/s), excluding drag = your "engine size." Not a force/work — supply crew+boat mass in settings for impulse (N·s) & work (J). MAXIMIZE
(Higher better)
High: Force over long, effective distance.
Low: "Washing out" or missing connection.
• Low Rate + High Δv = efficient power.
2. Catch Deceleration
(m/s² — recovery & catch)
The "Brake"
Deepest negative accel spike at Catch
Rush the slide → slam into footplate → momentum against boat = anchor MINIMIZE
(Closer to 0)
High (-2.9 m/s²): "Crashing the catch." Slow down last 3 inches.
Low (-1.0 m/s²): Floating into catch smoothly.
3. Check Phase
(Catch Efficiency)
The "Decel Zone"
% of stroke spent decelerating around catch
Negative acceleration zone around catch. Defined by zero-crossings of filtered accel. Shorter = faster momentum reversal. MINIMIZE
(Lower %)
Low (<30%): Quick, efficient catch — boat barely slows.
High (>45%): Long deceleration — rushing the slide or slow blade entry.
• Correlates with Catch Deceleration: fix the catch, both improve.
4. Relative Speed
(Efficiency)
The "Rhythm"
Speed fluctuation per stroke (Vmax-Vmin)
Constant speed = efficient. Stop-and-start wastes energy. CONSISTENT
(Flat line)
Spiky graph: Inconsistent recovery rhythm.
High value: Checking boat or rushing.
• Flat during sprint = technique holding up.
5. Composite Speed
(Speed Profile)
The "Full Picture"
Actual boat speed within each stroke
Vavg + centered Δv(t): GPS stroke-average speed plus accelerometer-derived variation. Drift correction uses GPS speed change between catches (ΔVgps) to preserve real trends. Orange dots mark check phase boundaries (zero-crossings around catch) — the zone where the boat decelerates. Green dots mark the catch (min speed). MINIMIZE
CHECK LOSS

(Shallow dip)
Shallow dip: Smooth catch, body deceleration absorbed — boat keeps running.
Deep dip: Crashing into footplate, large speed loss. Slow the last 3 inches of the slide.
The check phase is the #1 lever for efficiency. A 0.5 m/s smaller dip at 30 SPM saves ~15s over 2000m.
6. Normalized Rel. Speed
(Efficiency Index)
The "Technique Test"
Fluctuation as % of avg speed
Removes speed factor. Compare 20 SPM vs 30 SPM fairly. Raw efficiency score. KEEP FLAT
(or minimize)
<15%: Elite efficiency.
• 15-20%: Good club level.
>20%: Checking the boat.
Key: Rel.Speed↑ + Norm↔ = just faster. Both↑ = losing efficiency.
7. Meters/Stroke
(Distance)
The "Length"
Distance per stroke cycle
Ultimate efficiency measure. Hard pull + blade slip = drops. MAXIMIZE
(For given rate)
High (>8m): Effective blade work, clean run-out.
Low: "Spinning wheels" - short or checking.
Test: Same Rate + dropping Distance = fatigue.
8. Avg Speed
(Pace)
The "Race Pace"
Mean velocity per stroke
Your /500m split. Product of Rate × Distance. MAXIMIZE
(Wins races)
Flat line: Perfect steady-state.
The Trap: Rate up but Speed flat = Distance crashed. Just rushing!

Quick Diagnostic: The "Speed Equation"

Use the metrics together to find your rower profile:

  • "The Log": Low Catch Decel + Low Drive Δv = PaddlingPush harder.
  • "The Crash": High Catch Decel + High Drive Δv = Wasted EnergyFix your catch.
  • "The Glider": Low Rate + High Distance = Great Base → Perfect steady state.
  • "Washing Machine": High Rate + Low Distance = InefficientSlow down & lengthen.
  • "Heavy Water": High Drive Δv + Small Speed Bump = Efficiency Gap → Drag eating energy. Check: crashing catch? blades too deep?

Understanding the Chart Markers

  • Green dots = Catch position (minimum acceleration / minimum velocity)
  • Orange dots = Check phase boundaries (zero-crossings around catch)
  • Red dots = PostProcessing stroke markers
  • Blue dots = iOS app stroke detection markers (for comparison)

KPIs & Math Reference

Underlying Physics

All stroke-level KPIs are derived from one key insight: an accelerometer on the boat measures the boat's acceleration along its surge axis (forward/backward). By integrating this signal over one stroke cycle (catch to catch), we recover the relative velocity profile — how the boat speed varies within each stroke.

Because accelerometer drift would cause the integrated velocity to diverge, we apply GPS-anchored drift compensation: instead of forcing net velocity change to zero, we force it to match the GPS-observed speed change between catches (ΔVgps = Vend − Vstart). This preserves real acceleration/deceleration trends while removing only sensor bias:

GPS-anchored drift:ā = (∫ a(t) dt − ΔVgps) / ΔT
Corrected acceleration:  a'(t) = a(t) − ā
Relative velocity:  Δv(t) = ∫0t a'(τ) dτ  (starts at 0, ends at ΔVgps)
Composite velocity:  Vcomp(t) = Vavg + (Δv(t) − Δv)  (GPS stroke avg + centered variation)

Session-Level Metrics (from CSV data)

KPI Unit Source Meaning
GPS Speed km/h GPS Boat speed over ground
Stroke Rate (SPM) strokes/min Stroke detection Rowing cadence
Heart Rate BPM Bluetooth HR monitor Physiological effort
Meters/Stroke m GPS distance ÷ strokes Distance efficiency — higher = better blade work
Speed/SPM Ratio (km/h)/SPM × 200 Derived Pace efficiency — higher = more distance per stroke at a given rate
Accel Surge m/s² Accelerometer Forward (+) / backward (−) boat acceleration
Accel Sway m/s² Accelerometer Starboard (+) / port (−) lateral acceleration
Accel Heave m/s² Accelerometer Upward (+) / downward (−) vertical acceleration

Stroke-Level KPIs (Post-Processing)

These are computed per stroke after stroke detection. They appear in the Post-Processing charts below the Stroke Overlay.

KPI Category Formula What it measures & interpretation
Composite Speed
(Vavg + Δv)
Efficiency
Vcomp(t) = Vavg + (Δv(t) − Δv)
drift = (∫a·dt − ΔVgps) / ΔT
GPS-average-centered boat speed profile. Vavg is the GPS stroke-average speed (accurate absolute reference). Δv(t) is the accelerometer-integrated velocity, centered so mean(Vcomp) = Vavg. Drift correction uses the GPS-observed speed change between catches (ΔVgps = Vend − Vstart) to preserve real acceleration/deceleration trends while removing sensor bias.
Orange dots mark the check phase boundaries (zero-crossings of filtered acceleration around catch). Green dots mark the catch (minimum speed). The check phase is the deceleration zone between the orange dots — minimizing speed loss here is the single most impactful technique improvement.
Typical range: 3–6 m/s. A shallow speed dip = smooth catch. A deep dip = crashing the catch.
Drive Δv
(m/s, drive phase)
Power
Δv = ∫0tdrive-end max(0, a'(t)) dt
Velocity the drive adds (m/s). Integrates only positive (forward) corrected acceleration from catch to the drive-end (first accel zero-crossing after peak Δv). It is a speed change, not an impulse — with crew+boat mass it becomes impulse m·Δv (N·s).
Higher = more effective power application, better connection with the water.
Low = washing out (blade slipping) or missing connection at catch. Drops when tired = losing effectiveness.
Catch Deceleration
(m/s², min accel at catch)
Technique
acatch = min( a'(t) ) (m/s²)
Catch quality. At the catch, the rower's body mass decelerates and pushes against the footplate, momentarily slowing the boat.
Closer to 0 = smoother, softer catch (good).
Large negative = "crashing" into the footplate (bad).
A skilled rower times blade entry to minimize this catch deceleration.
Check Phase
(% of stroke)
Technique
CP% = tcheck / tstroke × 100
Time spent decelerating around catch. The check phase is the negative acceleration zone bounded by zero-crossings of filtered surge acceleration. Stroke defined from after-catch zero-crossing to the next.
Lower % = quick, efficient catch with minimal boat deceleration.
Higher % = long deceleration phase, typically from rushing the slide or slow blade entry.
Relative Speed
(Check Factor)
Efficiency
CF = Vmax − Vmin
Speed fluctuation per stroke. The boat accelerates during the drive and decelerates during the recovery — this captures the amplitude of that oscillation.
Lower = smoother boat run, more even power application.
Higher = jerky, inconsistent rhythm. Lightweight boats (singles/pairs) naturally have higher values than eights.
Normalized Rel. Speed Efficiency
CFnorm = CF / Vavg
Speed fluctuation relative to boat speed. Normalizes the check factor so you can compare across different paces.
Flat line during rate changes or sprints = technique holds up under pressure.
Rising values = technique deteriorating as fatigue or rate increases.
Meters/Stroke
(Post-Process)
Efficiency
GPS distance per
stroke cycle
Distance per stroke. The ultimate efficiency measure.
Higher = effective blade work, clean run-out.
Drops when tired = technique failing under fatigue.
Stroke Avg Speed Pace
Vavg = mean(GPS vel.)
Race pace stroke by stroke. Mean boat velocity for each stroke.
Flat line = perfect steady-state rowing.
Goes up with increased rate OR more effective strokes.

Stroke Overlay Charts

Chart Description
Acceleration Overlay All detected strokes superimposed on the same time axis (each starting at t=0). Average stroke in red, individual strokes in semi-transparent blue. Shows the acceleration pattern: positive peak (drive), negative trough (catch/recovery).
Speed (Composite) Overlay Same superposition but showing the composite speed (GPS avg + centered Δv) for each stroke. Y-axis shows actual boat speed in m/s. Average drawn behind (thicker red line), individual strokes on top. Shows the speed profile: rises during drive to peak speed, then drops through the check phase (recovery → catch) to minimum speed.

Stroke Detection Methods

Method Algorithm Key Parameters
GT Method SMA-filtered surge exceeds threshold, with hysteresis reset at 50% Threshold (m/s²), SMA window (samples), Refractory period (s)
Zero-Cross (Raw) Raw surge acceleration crosses zero from negative to positive (= catch) Refractory period (s)
Zero-Cross (EKF) Same as Raw but with Extended Kalman Filter smoothing applied first Refractory period (s) + EKF noise parameters