Eduardo's rowing data — from the Amstel to the erg
📊 Descriptive StatisticsAggregation functions (mean, sum, min/max) compute KPIs from raw data.💼 Executive dashboards · Operational KPIs · Anomaly detection
Business case: Just as these cards track rowing KPIs (total distance, avg pace, streak), the same approach builds
executive dashboards that monitor revenue per customer (ARPU), conversion rates,
and operational efficiency ratios — alerting when metrics breach thresholds.
Last Workout
05 Oct 2026
Days Since Last Workout
4 days
Current Streak
0 days
Total Workouts
173
Total Distance
1255.0 km
Avg Distance
7.25 km
Longest Row
24.0 km
Last 30 Days
35.02 km
Total Time
101.62 hrs
Avg Pace /500m
2:22.4
Avg Stroke Rate
23.9 spm
Avg Calories
422.0 cal
🔍 Latest Workout Detail
5000m
in 24:49.6
on 2026-10-05
— pace and stroke rate over time.
📉 High-Resolution Time SeriesPer-stroke telemetry from the PM5 monitor reveals pacing strategy, fatigue patterns, and stroke rate consistency within a single workout.
Personal Bests
Distance
Time
Pace /500m
Date
2000m
8:30.7
2:07.7
2025-09-17
5000m
20:45.3
2:04.5
2025-12-10
6000m
23:21.5
1:56.8
2026-02-17
10000m
42:04.5
2:06.2
2025-12-11
📈 Time Series AnalysisTemporal aggregation groups data into weekly/monthly buckets using Pandas groupby to reveal volume trends and seasonality.💼 Revenue trending · Demand forecasting · Seasonal planning
Business case: Monthly/weekly volume charts here mirror how businesses track
monthly revenue trends and seasonal demand patterns.
Spot dips before they become problems — forecast next quarter’s demand and optimize inventory levels accordingly.
📅 Training Heatmap
A GitHub-style calendar showing my daily rowing volume. Darker green = more meters.
Business case: This heatmap reveals when I train most. For a business, the same visualization shows
daily/weekly active users (DAU/WAU), peak session times by channel,
and feature adoption rates — answering “when and how often do customers engage?”
📈 Pace Trend Analysis
📉 Linear & Polynomial RegressionOLS linear regression and degree-3 polynomial fit model trends over time. R² measures goodness of fit. Rolling average smooths noise.💼 Sales forecasting · Price prediction · Performance trajectory modeling
Business case: The regression line predicting my pace trend is the same math behind
sales forecasting and price prediction models.
R² tells you how reliable the forecast is. Use it to project growth trajectories and set data-backed targets.
Regression analysis reveals whether my pace is improving over time.
Improving
1.5s /500m per month
· Linear R² = 0.095· Poly R² = 0.263
🎯 Workout Clusters (K-Means)
🎯 K-Means Clustering (Unsupervised ML)K-Means algorithm with StandardScaler feature normalization discovers natural workout groupings from distance, pace, and duration. Elbow method evaluates optimal K.💼 Customer segmentation · Market basket analysis · User behavior profiling
Business case: K-Means groups my workouts into Sprint, 5K, 10K, etc. The same algorithm segments
customers by CLV and behavior, builds RFM scores (Recency, Frequency, Monetary),
identifies churn-risk cohorts, and powers market basket analysis to find cross-sell opportunities.
Machine learning groups my workouts into 5 categories based on distance, pace, and duration.
Sprint
39 workouts
Avg 1530m · 2:04.6 /500m · 7 min
5K Steady-State
49 workouts
Avg 5122m · 2:30.1 /500m · 26 min
Mid-Distance (5-10K)
14 workouts
Avg 7461m · 2:10.7 /500m · 32 min
10K Steady-State
41 workouts
Avg 9924m · 2:38.9 /500m · 53 min
Endurance 10K+
30 workouts
Avg 14434m · 2:15.8 /500m · 66 min
📊 Training Balance
🥧 Distribution AnalysisProportional analysis of cluster assignments reveals how training effort is allocated across categories.💼 Portfolio allocation · Resource distribution · Market share analysis
Business case: The pie chart shows how my training is distributed. For business, this same analysis drives
budget allocation efficiency, compares channel ROI,
measures market share by segment, and identifies where capacity is over- or under-utilized.
What percentage of my workouts fall into each category?