Skip to main content
aifithub
Planning As of 2026-05-08

How Junk Volume Detector works

Methodology for the Junk Volume Detector: Schoenfeld dose-response, MRV thresholds, and intensity gating.

Education · Not medical advice. Output is deterministic math from your inputs.Editorial standardsSponsor disclosureCorrections

Scope

Classifies sets in a multi-week CSV training log as either effective or junk based on weekly volume-load progression, exercise volume thresholds, and per-week relative intensity. Designed for honest self-audit, not coaching prescription.

Formula

For each (week, exercise) pair:

  • weekly_volume_load = sum(sets × reps × weight)
  • delta_pct = (load_w − load_prev) / load_prev × 100

Set classification rules:

  • If weekly sets > 12 and delta_pct < 2.5% for ≥2 consecutive weeks, the excess sets above 12 are flagged as junk (volume past MRV without overload).
  • Sets performed at < 60% of the heaviest single set on that exercise that same week are flagged as low-intensity junk (Israetel framework: insufficient mechanical tension).

Coefficients

ParameterValueSource
MRV weekly sets12Schoenfeld 2017 dose-response inflection
Min weekly progression2.5%SWC for volume load
Low-intensity threshold60% of week's top weightIsraetel / RP MEV/MAV/MRV gates

Data sources

  1. Schoenfeld BJ, Ogborn D, Krieger JW. Dose-response relationship between weekly resistance training volume and increases in muscle mass: a systematic review and meta-analysis. J Sports Sci. 2017;35(11):1073-1082. — PMID 27433992. The 10-set/week threshold above which marginal hypertrophy gains taper.
  2. Helms ER, Valdez A, Morgan A. The Muscle and Strength Pyramid: Training. 2nd ed. 2019. — Practical implementation of MEV/MAV/MRV gates.
  3. Israetel M, Davis J, Case J, Hoffmann J. Scientific Principles of Hypertrophy Training. Renaissance Periodization; 2021. — Junk volume framework above MRV.

Assumptions

  • The CSV has at least 3 weeks of data — fewer weeks can't show progression stalls reliably.
  • Exercise names are consistent across weeks (the parser keys on exact match).
  • Weights are kg; pounds will inflate "junk" detection without converting first.

Approximation range

The classifier identifies obvious junk (clearly above MRV without progression, or sets at warm-up intensity logged as work). It can't distinguish between technique-development light sets and true junk — context matters.

Limitations

  • Doesn't read RPE or proximity-to-failure — a set at 70% performed close to failure is more effective than the same set with 5+ reps in reserve.
  • Doesn't account for muscle group balance (chest sets and tricep sets both stimulate triceps).
  • Assumes per-exercise volume tracking; people running RP-style mesos may legitimately spike past MRV in week 4 before deload.

Reproducibility

Squat: week 1 = 3×5×100 + 2×5×80 = 2300 kg-reps, 5 sets. Week 2 = 3×5×102.5 + 3×5×80 = 2738 kg-reps, 6 sets. Δ = +19% — effective. Week 3 = 3×5×103 + 4×5×80 = 3145 kg-reps, 7 sets. Δ = +15% — effective. Sets < 60% of week's top (80 vs 100) are flagged as low-intensity junk.

Change log

  • 2026-05-08: methodology page first published.

Worked example

Computed by the same engine bundle served at /engines/junk-volume-detector.js. Re-runnable: the values below are the literal output of compute(engineInput).

Input

tool
junk_volume_detector
csv_log
week,exercise,sets,reps,weight 1,squat,3,5,100 2,squat,3,5,102.5 3,squat,3,5,103

Output

totalSets
9
effectiveSets
9
junkSets
0
junkPctOverall
0
perExercise
[{"exercise":"squat","totalSets":9,"effectiveSets":9,"junkSets":0,"junkPct":0,"weeklyVolumeLoad":[{"week":1,"load":1500,"deltaPct":0},{"week":2,"load":1538,"deltaPct":2.5},{"week":3,"load":1545,"deltaPct":0.5}],"reasonsObserved":[]}]

FAQ

What does the Junk Volume Detector calculate?
Methodology for the Junk Volume Detector: Schoenfeld dose-response, MRV thresholds, and intensity gating.
What inputs does the Junk Volume Detector require?
It takes the following inputs: csv log.
What does the Junk Volume Detector return?
It returns: totalSets, effectiveSets, junkSets, junkPctOverall, perExercise.
Is the Junk Volume Detector free to use?
Yes. It runs entirely client-side in your browser with no signup, and is also importable as an ES module engine for AI agents.
What category does the Junk Volume Detector belong to?
Planning. See the methodology above for formulas, assumptions, and limitations.
General fitness estimates — not medical advice. Consult a healthcare professional for medical decisions.