TL;DR
- 0% junk sets across the 3-week log (all 9 sets count as effective). Volume load deltas: week 1→2 +2.5%, week 2→3 +0.5%.[3]
- Progression is stalling but not junk. A 0.5% jump from 102.5 kg to 103 kg is too small to register as overload but still a real effort.
- The fix is intensity, not volume. Adding more sets at 103 kg crosses into junk territory; raising to 105 kg + 5 reps maintains the progressive-overload signal.
"Junk volume" is a frequent flag in hypertrophy programming: sets that show up in the log but do not produce growth signal. The detector reads a training log and segregates effective from junk sets based on load progression and effort patterns. Here is what it returns on a representative stalling squat log.
The scenario
A lifter has logged the same 3 working sets of 5 reps for the squat across three consecutive weeks, with bar loads of 100 kg (week 1), 102.5 kg (week 2), and 103 kg (week 3). Wants the detector to read the log and determine whether the volume is productive or stagnating into junk.
What the calculator returns
Running the inputs through the Junk Volume Detector:
Engine input
csv_log = "week,exercise,sets,reps,weight
1,squat,3,5,100
2,squat,3,5,102.5
3,squat,3,5,103"
Engine output
totalSets = 9
effectiveSets = 9
junkSets = 0
junkPctOverall = 0%
Per exercise (squat):
totalSets = 9
effectiveSets = 9
junkSets = 0
junkPct = 0%
reasonsObserved = (none)
Weekly volume load:
Week 1 load = 1500 kg delta = 0%
Week 2 load = 1538 kg delta = +2.5%
Week 3 load = 1545 kg delta = +0.5% Zero junk sets. All 9 working sets count as effective stimulus. The weekly volume load progression — 1500 → 1538 → 1545 kg — climbs each week, but the rate of progression slows sharply from week 2 to week 3.
Reading the numbers
Volume load is the bar weight × reps × sets product. Per week:
Week 1 100 kg × 5 reps × 3 sets = 1500 kg
Week 2 102.5 × 5 × 3 = 1537.5 kg ≈ 1538
Week 3 103 × 5 × 3 = 1545 kg
Week-over-week delta:
W1 → W2 = (1538 − 1500) / 1500 × 100 = +2.53%
W2 → W3 = (1545 − 1538) / 1538 × 100 = +0.46% The detector's threshold for "junk" is set conservatively — sets count as effective if they show any progression or if the volume load is increasing[1]. By that threshold, none of the 9 sets here are junk. The lifter is doing real, effortful work.
But "not junk" is not the same as "productive." A 0.5% load increase from week 2 to week 3 is below the typical hypertrophy stimulus threshold. Schoenfeld's volume-dose-response data suggests meaningful weekly progression sits in the 2 to 5% range across a hypertrophy block[1]. A 0.5% delta means the lifter is approaching the local strength ceiling for this rep/set scheme and the bar.
Where progression stalls become junk
The detector's threshold catches obvious junk: sets at the same weight for 6+ weeks with no rep progression, sets at RPE 4 with no proximity to failure, or sets logged as completed but performed with broken form. The 3-week log above does not trigger those flags. It does flag stalling progression, however, which is the upstream signal.
A lifter who continues 3×5 at 103 kg for 4 more weeks without changing anything will gradually accumulate junk: the same sets, the same load, no progress, no stimulus. The detector typically flags this around week 5 or 6 of zero load increase.
What the detector would catch later
Week 4 3×5 @ 103 kg delta 0% ← still flagged as effective
Week 5 3×5 @ 103 kg delta 0% ← still effective
Week 6 3×5 @ 103 kg delta 0% ← starts flagging as junk
Week 7 3×5 @ 103 kg delta 0% ← clear junk
Week 8 3×5 @ 103 kg delta 0% ← junk %: 100% for this lift By week 6 to 8 of zero progression at the same load, the detector flips the verdict. The intervention point is week 3 to 4, before the program drifts there.
Three interventions that restore progression
The detector flags the stall but does not prescribe the fix. Three options at this point:
- Raise the load. Move to 105 kg × 5 × 3. If the lifter can hit it, the stall was loading caution, not strength. If they can only hit 105 × 4 × 3, the rep range needs to drop or the set count needs to adjust.
- Drop the rep range, raise the load. Move to 110 kg × 3 × 4. Same approximate volume load (1320 vs 1545 kg), higher relative intensity, fresh stimulus.
- Increase volume at the same load. Move to 103 kg × 5 × 4 or × 5. Only useful if the lifter is below the volume threshold; for hypertrophy 10 to 20 sets/week for the muscle is the productive range[2]. If already at 12 sets/week, more volume is junk volume.
The third option is the most common and the most often wrong: adding sets at the same load and rep range usually accumulates fatigue without producing progress. Use the Progressive Overload Planner for explicit week-to-week prescriptions and the Workout Volume Calculator to validate the total weekly set count is in the productive band.
Cross-checking against the load-velocity profile
A lifter stuck at 103 kg × 5 should bar-speed the first rep at roughly 0.55 to 0.60 m/s if 103 kg is genuinely close to a 5RM. If bar speed reads 0.75 m/s, the lifter is undershooting and could safely run 110 kg × 5 instead. Velocity-based feedback often catches "caution stalls" that the rep log misses.
Related tools and follow-ups
- Junk Volume Detector — the engine used here.
- Progressive Overload Planner — explicit weekly load progression prescriptions.
- Workout Volume Calculator — total weekly set count and per-muscle volume audit.
For broader context: Junk volume in hypertrophy training, Block vs DUP periodization: the hypertrophy math, and How to plan a deload week cover the broader programming-review framework.
FAQ
What does the junk volume detector flag in a 3-week stalling squat log? Zero junk sets out of 9 total — all effective. Weekly volume load progressed 1500 → 1538 → 1545 kg, a 2.5% jump from week 1 to 2 and a 0.5% jump from week 2 to 3. The stall is real but the sets themselves are not junk.
When is a set considered junk? When it does not contribute to progressive overload or hypertrophy stimulus. Common patterns: load increases under 0.5% per week, set RPE under 6 with no proximity to failure, reps performed with broken form, or sets logged but not actually completed.
How do you fix a stalling progression without adding junk volume? Three interventions: increase intensity (add 2.5 to 5% load), reduce inter-set rest (forcing higher effort per set), or change rep range. Adding more sets at the same weight typically adds junk volume rather than progress.
One final pattern worth flagging: the "Sunday plan, Monday delete" cycle, where a lifter writes an ambitious set/rep prescription for the week and then quietly drops the last set from each session. The log reads as 3 sets of 5 completed; the actual work was 2 sets of 5 plus a final set of 3 to 4 grindy reps that did not get recorded. The detector cannot see this either, but session-level RPE notes catch it within 2 to 3 weeks.
References
- 1 Dose-response relationship between weekly resistance training volume and increases in muscle mass: a systematic review and meta-analysis (Schoenfeld et al.) — Journal of Sports Sciences (2017)
- 2 Resistance training volume enhances muscle hypertrophy but not strength in trained men (Schoenfeld et al.) — Medicine and Science in Sports and Exercise (2019)
- 3 Methodology — Junk Volume Detector — AI Fit Hub