Activities Feature Engineering
Key Metrics
When we think about activities, such as running, the key metrics that typically come to mind are distance, pace, max heart rate, and more. However, understanding the impact of these activities on recovery is equally important.
How can we build metrics that not only capture these parameters but also combine them into actionable and user-friendly insights? By developing composite metrics, we can better represent the relationship between activities and recovery, helping to optimize performance and ensure a balanced approach to fitness.
Many of these metrics are commonly used in Garmin devices, as well as by other fitness trackers and forums within the industry.
For a deeper understanding of these metrics and their applications, I highly recommend exploring Fellrnr. His resources provide excellent insights into running performance, industry-standard metrics, and training plans, making them a valuable guide for anyone looking to optimize their fitness journey.
We have identified and consolidated four primary datasets for our analysis:
-
Activity Details Data (from GarminDB)
-
Activity Daily Summary Data (from GarminDB)
-
Sleep Data & HRV (from Python-GarminConnect)
Our next steps is to explore/ clean and uncover key relationships between these variables to gain deeper insights and advance our analysis.
Lets start processing these dataset and first step would be to get the dataframes together
Training Load
Training Load measures the cumulative physiological stress your body experiences during physical activity. It combines workout intensity, duration, and frequency to assess overall strain on your cardiovascular and muscular systems.
How Garmin Calculates Training Load:
-
Heart Rate and Intensity: Monitors how hard your body is working during an activity.
-
EPOC (Excess Post-Exercise Oxygen Consumption): Estimates the oxygen debt required for recovery, reflecting the workout's impact on your body.
-
Activity Duration: Longer and more intense workouts result in a higher Training Load.
-
Personalization: Adapts based on your fitness level, VO2 Max, and historical data to provide tailored insights.
The result is a single, actionable score that helps you balance training intensity, avoid overtraining, and optimize performance, making it an essential tool for sustainable and effective training.
This chart visualizes both the 7-day rolling average load (red line) and the daily combined load (blue dashed line), providing insights into the variability and intensity of daily training across November and December.
Key Observations
-
Mid-November: A dip in the 7-day rolling average and daily load reflects a recovery phase due to travel and reduced training efforts, allowing for rest and recovery.
-
Mid-December: The rolling average stabilizes, indicating a balanced routine with well-managed intensity and recovery, ideal for improving fitness and minimizing strain.
-
End of December: Both metrics increase, signaling a shift to higher-intensity sessions, likely in preparation for a performance goal.
Recovery must be prioritized to manage the increased load and prevent overtraining.
Fatigue (ATL): & Standard Deviation
This chart visualizes both the 7-day rolling standard deviation (red line) and the 7-day rolling load (blue dashed line), providing insights into the variability and intensity of daily training throughout November and December.

Training Monotony and Strain
Training Monotony:
Measures how uniform the training load is over a period.
Higher monotony indicates repetitive training, which can lead to mental fatigue and reduced adaptability.
Training Strain:
Combines monotony with total training load to quantify the overall stress on the body.
Peaks in training strain indicate periods of intense effort, which should be balanced with recovery to prevent burnout.
Both monotony and strain increase significantly around mid-December, coinciding with a peak in training intensity.
Fitness (CTL) and Zones:
These metrics help evaluate training intensity and ensure a balance between short-term and long-term loads for optimal performance.
This chart illustrates the relationship between the acute load (7-day rolling average), chronic load (42-day rolling average), and the optimal load range across November and December.
Key Observations:
-
Early to Mid-November: Acute load (blue line) is significantly lower than chronic load (green line), reflecting reduced training intensity and a low-activity phase(laziness)
-
Mid-November to Early December: Acute load increases and aligns closely with chronic load, entering the optimal load range. This marks a balanced training period where short-term efforts match long-term capacity, reducing the risk of overtraining or undertraining.
-
Mid-December to End of December: Acute load fluctuates more but stays largely within the optimal range. Toward the end of December, acute load spikes slightly above the optimal range, indicating a higher-intensity phase likely tied to performance goals.
Key Training metrics explained
Fitness (CTL - Chronic Training Load):
-
What It Is: Represents long-term training load, calculated as a 42-day rolling average of training efforts.
-
Why It Matters: A higher CTL reflects improved endurance and overall fitness, achieved through sustained and consistent training over time.
Fatigue (ATL - Acute Training Load):
-
What It Is: Reflects short-term training load, calculated as a 7-day rolling average of recent efforts.
-
Why It Matters: High ATL indicates elevated fatigue from recent intense sessions, signaling a need for recovery to maintain performance and avoid burnout.
Form (TSB - Training Stress Balance):
-
What It Is: The difference between Fitness (CTL) and Fatigue (ATL), calculated as:
TSB = CTL - ATL. -
Why It Matters: TSB reflects readiness to perform:
-
Negative values: Fatigue outweighs fitness, typical during heavy training phases.
-
Positive values: Indicates recovery and readiness for peak performance.
-
Training Stress:
-
What It Is: Quantifies the load of a single training session, based on intensity, duration, and heart rate.
-
Why It Matters: Provides a granular view of session-specific demands, helping to fine-tune training intensity and recovery planning.
These metrics collectively capture the relationship between long-term training load, short-term fatigue, and daily stress, providing actionable insights to guide performance and recovery.
Lets put it all together
Key Observations:
Fitness (CTL - Blue Line): Steady upward trend indicates consistent training and improving endurance.
Fatigue (ATL - Pink Line): Peaks in early and mid-December reflect intense sessions balanced by recovery.
Form (TSB - Yellow Line): Negative values align with high fatigue, while positive values (late November and December) show recovery and readiness.
Training Stress (Green Bars): Spikes indicate high-intensity sessions requiring planned recovery.
Insights and Recommendations:
Monitor Training Stress: Plan recovery after high-intensity sessions (green bars) to avoid overtraining.
Optimize Form: Use positive form (yellow line) for peak performance and avoid prolonged negative values.
Balance Fitness and Fatigue: Align fitness (blue) and fatigue (pink) to sustain progress without overtraining.
Adjust Daily Intensity: Use training stress (green bars) to fine-tune session intensity and recovery.
Lets take it to the next level
Strain: (7-Day): Captures acute changes in training intensity and monitors short-term recovery.
Key Use: Ensures that I am not overtraining and provides immediate feedback on training adjustments, tracking recovery from high-intensity sessions and managing weekly training loads to avoid burnout.
Fitness (42-Day): Tracks medium-term fitness trends which is the time frame in which changes in fitness are typically noticeable after consistent training, smoothing out irregularities while still responding to changes in training highlighting progress over ~6 weeks of consistent training.
Key use: Reduces sensitivity to short-term fluctuations while identifying measuring the impact of a structured training program. and assess readiness and performance improvements over weeks.
However, my long-term plan is to expand this perspective by incorporating Seasonality and base fitness to
These longer durations will account for Seasonality and Base Fitness Establishing a more comprehensive view of overall progress, focusing on sustained efforts and the impact of lifestyle changes.
Here are some articles getting into the details:
Seasonality and Base Fitness
When we look at these numbers
The Mean Training Load decreases slightly as the rolling period lengthens (42 days: 80.3 → 90 days: 79.0 → 120 days: 78.4).
This shows that my Training Load is relatively stable, with only minor variations over longer periods.
The Standard Deviation (Std Dev) decreases as the rolling period increases (42 days: 17.4 → 90 days: 14.1 → 120 days: 12.9).
This indicates that short-term fluctuations are smoothed out over longer periods, reflecting more consistent training patterns over time.
The CV (%), which measures the variability relative to the mean, decreases as the rolling period increases (42 days: 21.6% → 90 days: 17.9% → 120 days: 16.5%).
Lower CV% in longer periods shows that my training is becoming more uniform and less erratic over time, which is beneficial for sustained performance improvements.
Now we have these metrics in place lets plot them
Rather than looking just at the rolling average numbers, we would take the EWMA (Exponentially Weighted Moving Average) is useful for smoothing time series data, giving more weight to recent observations while still considering older data. It helps to: Smooth Trends: Reduces short-term fluctuations, quickly adapting to changes in recent changes in training load or performance effectively smooths erratic data, preserving important changes
you can read more about it here
This visualization incorporates the new 90-day , and 120-day EWMA averages
90-day half-life (seasonality): Captures longer-term fluctuations, such as seasonality, or variations in training load across a quarter of the year.
This is useful for understanding how your fitness evolves over months and helps track the effects of training cycles, whether preparation for an event or returning after a break or just staying fit perfect for analyzing seasonality or understanding long-term performance trends and cycles.
120-day half-life (base fitness): captures tracking base fitness/chronic training load, which is useful for understanding the long-term conditioning level.
This period smooths out short-term fluctuations and provides a solid base for evaluating overall health and fitness.
Insights
December 2023 to February 2024 (Break):
During this period, the graph highlights a sharp drop in strain (7-day EWMA), reflecting a significant break from training. This resulted in:
-
Fitness (42-day EWMA): A noticeable decline, as short-term training efforts were reduced.
-
Seasonality (90-day) and Base Fitness (120-day): Slower declines, showcasing the stability of long-term metrics even during breaks. This resilience demonstrates how longer rolling averages buffer against temporary inactivity.
September 2024 Onward (Steady Rise in Fitness):
The graph shows a steady and sustained rise in:
-
Fitness (42-day EWMA): Reflecting consistent and structured short-term training efforts.
-
Seasonality (90-day) and Base Fitness (120-day): Gradual improvements indicate better conditioning and endurance levels over the long term.
This upward trend signifies:
-
Enhanced recovery capacity and overall conditioning.
-
Balanced training: The alignment between seasonality (90-day) and fitness (42-day) suggests a well-structured plan that balances short-term efforts with long-term goals.
Summary
In our data, we have distilled key Activates features that provide actionable insights and enhance the efficacy of our machine learning models:
Training Load: Quantifies overall stress from activities using intensity, duration, and EPOC.
Fatigue (ATL): 7-day rolling average for short-term training load and recovery needs.
Fitness (CTL): 42-day rolling average for long-term fitness trends.
Form (TSB): Balance between fitness and fatigue to gauge performance readiness.
Training Monotony: Measures training uniformity; higher values indicate repetitive routines.
Training Strain: Combines monotony and load to assess overall stress levels.
Seasonality & Base Fitness: 90- and 120-day rolling averages to capture long-term trends and seasonality.
interactive graphs on desktop version