Your deload week and your peak week show the same volume number.
Sets times reps times weight can't tell an easy week from the hardest week of a block. Set-level RPE is what makes a training year comparable to itself.
Two weeks, one number
Week 9, deload: back squat, 3x8 at 185, bar moving fast, out of the gym in forty minutes with the belt still in the bag.
Week 16, the last hard week before the taper: heavy single, then back-off squats at 3x8 at 185. The third set grinds. The spotter's hands come up on rep six.
Both of those squat slots log 4,440 lb of volume. Same sets, same reps, same load, same figure on the weekly summary, same point on the year-over-year chart. One of them was the easiest squat session of the block. The other nearly ended it.
And if you scroll back through a year of logs looking for what actually worked, those two weeks are indistinguishable. Not similar. Identical. Every tracker that totals sets times reps times weight will hand you the same number for a week you took off the gas and a week that put you on the floor.
The phase collision
Call it the phase collision: the point where volume load, an honest and auditable measure inside a phase, stops carrying information the moment you compare across phases.
The number itself isn't lying. 4,440 lb of squat volume moved is 4,440 lb of squat volume moved. What it doesn't encode is the training state the lifter was in when they moved it, and training state is the entire reason you ran a deload in week 9 and an overreach in week 16 in the first place.
So the metric that's supposed to make an annual block comparable to last year's annual block is blind to the one variable the block was built around. Fresh at 185 and cooked at 185 are the same row in the ledger. A lifter comparing a 2025 hypertrophy block against a 2026 one is reading two lines that agree on the total and disagree on everything that mattered.
Why 'just compare the volume' breaks down
The standard advice for judging a block after the fact is to compare weekly volume load, exercise by exercise, against the last time you ran something similar. It's the advice because it's the only thing most logs can actually compute. Sets, reps and load are the three fields every tracker already stores, so the total falls out for free, and free metrics become default metrics.
Examine.com's own volume entry makes the same point the research does: volume is a useful dose proxy, and a dose proxy is not the dose. Two lifters, or one lifter in two states, absorb the same tonnage very differently depending on how close each set ran to failure.
The fix isn't to throw out volume load. It's to stop asking a fatigue-blind number to answer a fatigue-dependent question. Nothing in sets times reps times weight knows whether you had four reps left or one.
Volume load is a receipt. It records what you moved, not what it cost you.
What the numbers say once RPE is in the row
Take the same two sessions and add the one field that was logged at the set and not reconstructed later.
Week 9 sits at RPE 5. On the reps-in-reserve scale that Zourdos and colleagues validated for resistance training in the Journal of Strength and Conditioning Research in 2016, RPE 5 means five reps left in the tank. Week 16 sits at RPE 9, so one rep left.
That single field cascades. Eight reps performed with five in reserve means the set drew on 8 of a possible 13 reps, about 62 percent of momentary capacity. Eight reps with one in reserve means 8 of a possible 9, about 89 percent. Count only the reps performed within five of failure, a common way of modelling which reps carry stimulus, and the deload session contributes 3 across the slot while the overreach contributes 15.
Same 4,440 lb. Five times the stimulating reps.
Measure
Deload (wk 9)
Peak week (wk 16)
Prescription
3 x 8 @ 185 lb
3 x 8 @ 185 lb
Volume load
4,440 lb
4,440 lb
RPE logged at the set
5
9
Reps in reserve
5
1
Reps within 5 RIR (whole slot)
3
15
Share of momentary capacity
62%
89%
Worked example. Volume load is sets x reps x load. RIR, capacity share and stimulating-rep counts are arithmetic consequences of the logged RPE, using the reps-in-reserve scale (Zourdos et al. 2016). The stimulating-rep count is a model, not a settled fact, and it is included here to show how far two identical tonnage figures can separate.
Reading a full year back, twice
Now run it across twelve months instead of two weeks.
A lifter finishes a 16-week hypertrophy block, deloads twice inside it, overreaches once at the end, and wants to know whether the block beat last year's. On the tonnage view, 2026 comes in roughly 4 percent above 2025 and the conclusion writes itself: more work, keep the template.
On the RPE-adjusted view the same twelve months read differently. The extra tonnage landed almost entirely in the deload weeks, because the lifter had gotten more conservative about cutting load and just repeated the prior week lighter instead. Hard-week stimulating reps were flat. The block didn't get bigger. The easy weeks did.
That's a programming decision, and it's invisible in the first view. Both readings come from the same log file. Only one of them tells the lifter what to change in week 1 of the next block.
The catch: RPE has to exist at the moment the set ended
RPE-adjusted volume only works if the RPE was real. That's a harder requirement than it sounds.
An RPE typed in the next morning is a memory of a session, flattened into one number and coloured by whatever happened after. The hard third set and the easy first set collapse into an average. Worse, the number gets adjusted, quietly, by how the lifter feels about the session in hindsight. A week that produced a PR gets remembered as sharper than it was.
Set-level, in-session capture is the difference between a metric you can run retrospective math on and a metric that's really just a mood. This is where the tracker either does its job or doesn't. If entering RPE costs three taps and a scroll between sets, it won't get entered, and the field will be reconstructed later, and a year from now the annual comparison will rest on remembered effort.
Reconstructed RPE is a different measurement
An RPE recalled hours after training is not the same variable as an RPE rated between sets, and mixing the two inside one training year makes the cross-phase comparison worse, not better. If a block was logged from memory, treat its RPE column as commentary and compare tonnage only inside phases. Session-RPE measured at 10 minutes versus 30 minutes post-exercise showed no significant difference, indicating timing of measurement does not alter session-RPE values ([source](https://www.jssm.org/researchjssm-13-59.xml.xml))
What the log has to capture for any of this to work
Everything above is a retrospective calculation. Reps in reserve, capacity share, stimulating reps, phase-adjusted totals: all of it is arithmetic run over fields that either got recorded at the time or didn't. There's no model that recovers them afterwards.
Platepusher captures RPE per set, on the set, in the same interaction that logs the weight and reps, because a field that costs an extra screen is a field that goes missing on the week you're most fatigued and most need it. Those values stay attached to the set for the life of the log, they come along on import when a lifter brings years of history over from another tracker, and they leave in the CSV export at every tier if the lifter decides to go elsewhere.
The app doesn't tell the lifter which week was the deload. The log already knows. It just needs the column filled in while the plates are still on the bar.
Log RPE where it happens, at the set, and next year's block comparison will have something underneath it. Platepusher keeps every set's effort rating attached for the life of the log.
Platepusher was built for lifters with a multi-year log and a reason to look back at it. RPE is a first-class field on every set, not an optional note, so the retrospective math in this piece runs on your own history rather than on a reconstruction of it. Import from a CSV brings prior years in as native data, and export sends everything back out in the same shape, free at every tier.