Does Garmin Underrate Strength Training Load? Yes, and Here Is Why
Ninety minutes of heavy squats moves your Training Load less than an easy jog does. That is the model working as designed, not your watch failing. Training Load is a seven-day sum of EPOC estimated from heart rate, and a fifteen-second set with three minutes of rest after it is close to invisible to that instrument. Here is the exact mechanism, the two different failures that both look like a flat load chart, and the per-set formula Rack uses to score a lifting session from the bar instead of the pulse.
The question shows up in Garmin threads every few weeks, and it always arrives with the same evidence attached. Ninety minutes of squats and deadlifts. Legs that will not work tomorrow. And a Training Load number that moved less than an easy half hour jog moved it.
So: does Garmin underrate strength training load? Yes. It is also not a bug, and no firmware update is coming to fix it. The number is measuring something other than what you think it is measuring, and once you know which thing, the whole behaviour becomes predictable.
What Training Load is actually counting
Training Load on a Garmin is the sum of your EPOC over the last seven days. EPOC is excess post-exercise oxygen consumption: an estimate of how much oxygen your body will burn getting back to baseline after the session. The model comes from Firstbeat Analytics, which Garmin acquired, and it is fed by heart rate.
That is the entire mechanism. Your Training Load is a heart-rate-derived estimate of oxygen debt, summed over a rolling week. It is not an estimate of mechanical work, it does not know what a barbell is, and nothing in the input carries the weight on it.
For endurance that instrument is close to right. A tempo run and a long easy ride both tax the aerobic system, both hold heart rate in a readable band for a long stretch, and oxygen cost really is most of the story. Garmin got endurance right first because the model matched the sport.
Why a heavy set reads as almost nothing
Now price a top set of five at a weight you can barely move. It lasts about fifteen seconds. Heart rate lags effort by tens of seconds, so it is still climbing when the bar is already racked, and it peaks during the rest that follows. Then you stand around for three minutes, which is most of the wall clock, and your average heart rate for the session gets dragged down by the part where you did nothing.
The session average lands somewhere in the low aerobic range. Oxygen cost, honestly measured, was modest. EPOC says modest. Training Load agrees, and it is not lying to you. It answered the question it was asked. The question was never how much mechanical work your quads absorbed, or how close that fifth rep was to failure, or how long the connective tissue will take to come back.
This is why the same lifter can get a bigger load number from an easy hour on the bike than from a session that leaves them limping. Cardiovascular cost and structural cost are two different bills, and only one of them has a sensor on your wrist.
Two different failures wear the same symptom
Before blaming the model, it is worth separating the two things that produce a flat load chart, because they have different fixes.
- The session was never recorded. You logged the lifts in a phone app, or in a notebook, and started nothing on the watch. There is no activity file, so Garmin scores exactly zero. Most flat load charts are this one.
- The session was recorded and still scored low. The file exists, the heart rate is in it, and the EPOC model priced it the way it prices anything with that heart rate profile. This is the one no app can talk Garmin out of.
The first is solvable and worth solving. A strength session recorded on the wrist writes a standard FIT activity into Garmin Connect, the same format and the same partner channel a bike computer uses, and from that point the session is visible to the metrics that read recorded activities. Zero becomes a real number. It just becomes a heart-rate-shaped number.
What a lifting-native load number needs
If you want a figure that tracks how hard you actually lifted, it has to be built from the things a heart rate stream never carried. There are four of them.
- The weight on the bar and the reps you did with it. That is the work.
- Whether the movement was compound or isolation. A deadlift and a lateral raise at the same tonnage are not the same tax.
- Where the set sat in the rep range. Three reps near your limit costs more per rep than twelve reps at the same tonnage.
- Which muscles took it. Load is local before it is systemic.
The numbers Rack uses
Rack is a strength app for Garmin athletes, and since the formula is the interesting part, here it is as it exists in the app today. Every completed set contributes:
reps × weight × category multiplier × intensity factor
The category multiplier is 1.5 for compound movements and 1.0 for isolation. The intensity factor is 1.4 at five reps or fewer, 1.2 from six to eight, and 1.0 above that, so a heavy triple outweighs the same tonnage spread thin. Bodyweight movements use a 15 kg floor for the weight term, because a set of chin-ups is not zero load and would otherwise vanish.
On top of the per-set sum there is a volume accumulation bonus: 5 percent per set above four on the same exercise, capped at 30 percent. High-set work costs more than the sum of its sets, and the cap is there because that effect does not keep scaling forever.
Each set is then split across the muscles the movement actually loads, and the total is normalised against a per-group reference load: 5,000 for legs and back, 3,500 for chest and shoulders, 2,500 for arms and core. That normalisation is what turns a raw number into the recovery reading you see per muscle instead of a single body-wide score.
From there it decays on a per-muscle clock rather than one systemic clock, which is a separate problem with its own numbers. That part is covered in lifting and running in the same week.
What this does and does not fix
Being straight about the boundary, because it is the part that gets oversold. Recording your lifting on the watch fixes the invisibility. The activity lands in Connect with heart rate and duration attached, so it stops counting as a rest day, and your rest intervals, reps and weights are preserved in the file per set rather than estimated from wrist motion.
It does not rewrite Garmin’s Training Load number into a strength number. That value is still EPOC, still heart-rate-derived, and a heavy low-heart-rate session will still price below a moderate run. Anyone telling you their app makes Garmin score lifting correctly is describing something that is not in the model. What you can have is both readings side by side: the cardiovascular one on Garmin, and a load figure built from the bar on your phone.
How to check your own
Take your last heavy session and your last easy aerobic hour, open both in Garmin Connect, and compare the load contribution against how you felt the next morning. If the ranking is inverted, that is the EPOC model working as designed, not your watch malfunctioning. Then check whether the strength session is in the list at all. If it is missing, you are in the first failure, and that one is worth fixing this week.
Try it
Rack logs sets, reps and weight on the watch and writes the finished session into Garmin Connect as a standard FIT activity, with heart rate captured per set. If you train with a Garmin, Rack is on the Connect IQ store, and the iPhone app works on its own if you would rather start there.
Think one of these constants is wrong for how you train? Send me a message. I’m the dev, and I read everything.