RIR Logs a Count. RPE Logs a Feeling. Only One of Those Compounds Across Years.

Article · 6 min read

Reps in reserve is a count, and only counts compound across years.

RPE and RIR map to the same scale on paper. In a training log, only one stays the same unit for five years. The case for storing effort as a count.

Two lifters, one set, two different effort scores

Two lifters squat 140 kg for five on the same Tuesday. Both rack it with two clean reps left. Ask either of them and they'll say so without hesitating.

Then they open their logs.

The first one slept nine hours, the bar moved fast, and the set felt easy, so it goes in as RPE 7. The second is three weeks into a cut and the walkout felt like carrying a fridge, so it goes in as RPE 8.5. Same load, same reps, same distance from failure. Two effort scores a point and a half apart.

Now run that forward three years. One log says a submaximal set was easy. The other says it was close to a grinder. Neither entry is exactly lying. Both are answering a question about sensation, and sensation is the least stable thing in a training log.

Count over feel: the logging unit that compounds

RIR asks how many more reps you could have done. The answer is a whole number. RPE asks how hard the set was. Even on the version of the scale that defines it in reps, the word 'exertion' invites the lifter to fold the walkout, the sleep, the cut and the mood in with the reps.

Call it count over feel. A count means the same thing in year one and year five. Two reps left at 140 kg in your second year compares directly with two reps left at 160 kg in your fifth, so the log becomes a record you can lay end to end.

A feeling drifts. It drifts with fatigue, with the block you're in, and with how much heavier 'heavy' gets as you get stronger. All of that drift goes into the number silently, and nothing in the log tells you which entries picked it up.

So the RIR column compounds. The RPE column loses a little accuracy with every entry that carried a bad night's sleep.

Isn't RPE just RIR with a different label?

That's the standard pushback, and it has a real basis. The scale most strength lifters use was published by Zourdos, Helms and colleagues in 2016. It defines RPE 10 as zero reps left, RPE 9 as one and RPE 8 as two. Convert, and you're done.

The mapping holds on paper. Logs are where it slips, for three reasons.

The label carries history. RPE comes from Gunnar Borg's general exertion scales, and the name still reads as 'how hard did that feel.'

Then there are the half-points. On the 2016 scale, RPE 8.5 means definitely one rep left, maybe two. That's a range stored as one decimal, and once it's in the log, a confident 8.5 looks the same as a shrug.

And the scale only maps cleanly if the lifter applies it cleanly every single time. A count enforces that by design. You can't log 'two reps left' and mean 'felt rough.'

RPERIRWhat the rating describes
100Maximal effort, no reps left
9.50No reps left, but slightly more load was possible
91One rep left
8.51 to 2Definitely one left, maybe two
82Two reps left
7.52 to 3Definitely two left, maybe three
73Three reps left
5 to 64 to 6Four to six reps left
The RIR-based RPE scale (Zourdos et al. 2016; Helms et al. 2016). Each half-point covers a range of RIR, and a single logged decimal can't keep that range.

What is the difference between RPE and RIR?

RIR is the number of reps you had left when you racked the bar. In strength training, RPE is a 1 to 10 effort score tied to that count, so lifters can use one number for both.

Most of the research comes from one group. When Zourdos and colleagues introduced the RIR-based RPE scale in 2016, they found that experienced lifters rated their sets more accurately than novices. In 2018, Helms and colleagues published a study in Frontiers in Physiology that compared periodized programs matched for sets and reps. One group loaded from percentages of 1RM. The other adjusted its loads with RIR-based RPE. Both groups got stronger, and the RPE group did at least as well Helms et al. 2018 concluded both loading types are effective, but RPE-based loading may provide a small 1RM strength advantage in a majority of individuals. ([source](https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2018.00247/full)). Coaches still cite that paper when they defend effort-based loading.

Later work from the same lab suggests RIR estimates get sharper as a set gets closer to failure Zourdos et al. (2021) reported that proximity to failure and total repetitions performed in a set influence the accuracy of intraset repetitions in reserve-based rating of perceived exertion. ([source](https://pubmed.ncbi.nlm.nih.gov/30747900/)). That puts the most reliable counts on heavy top sets, which are the entries a lifter most wants to compare across years.

Look at what those studies measured: reps left in the set.

The validation of RPE is a validation of the count underneath it.

The six-weeks-out query

Sooner or later, a lifter with three years of logs wants one question answered: what was my RIR on top sets six weeks out from my last peak? The answer shows whether this block is on track, or whether you're already grinding at a point where you used to have reps to spare.

Run that question against a log that keeps effort in the notes. You get strings like 'felt heavy,' 'smooth, maybe 8,' 'rpe 8.5??' and 'ugly.' Some sessions have nothing because the note got skipped when the rest timer ran out. There's no column to filter and no number to average, and the entries that do exist mix a feeling with a guess about a scale.

Now run it against a log where RIR is its own numeric field on every working set. The query becomes a filter: top sets, competition lifts, the six weeks before each earlier peak. Say the last two peaks showed two reps left at that point and the current block shows one. That's a result. It says this block is running hotter than the last two at the same distance from the meet, and it says so before a stalled top set does.

The lifter, the training and the honesty are the same in both logs. The difference is whether effort was ever stored as a number.

What first-class RIR capture takes

If the count is the unit that compounds, the logging design follows from it.

One whole-number field per working set, next to load and reps, filled in when you rack the bar. Warm-ups can stay blank. A range like 'one to two' goes in as the lower number, because that's the end you're sure of. If your program is written in RPE, convert once, at entry, using the scale your coach already uses: RPE 8 goes in as 2.

The field also has to be queryable, which means effort can't live in free text. A count you can filter on is training data. A count buried in a note is just a sentence.

This is the same reason old logs are worth keeping at all. Years of training are an N=1 experiment you've already run, as argued in 'Your training history is the experiment.' The experiment only reads out cleanly if the measurement stayed in the same unit the whole way through.

Don't backfill effort from memory

An RIR typed in an hour after the session is a reconstruction. Log it before the next set or leave it blank. A blank is honest missing data. A guessed 2 looks exactly like a real one and skews every comparison that includes it.

Where Platepusher stands on the effort field

Platepusher is built on the idea that a training log should get more useful the longer you keep it. Effort is part of that record: Platepusher doesn't capture per-set effort today. It has no RIR field and no RPE field in the workout logger. Each set records weight and reps, an optional note, and heart rate when an Apple Watch is worn. RPE and %TM prescription fields were shipped and then deliberately removed from the app in v1.0.6, and a rebuild is planned for a later version. Plateau detection works from logged weight, reps and estimated one-rep max, plus Watch heart-rate fatigue signals. It doesn't use any effort rating. The sentence should say that Platepusher infers progress from what you lifted rather than from a self-reported effort score, and should not claim RIR or RPE tracking..

Plateau detection flags the week a top set stops moving. The effort logged on that set is what tells a real stall apart from a heavy day. History imported from another tracker's CSV export arrives as native sets, so the years you've already logged sit in the same record as the next session No. History CSV import reads date, exercise, weight, reps and similar logging columns, and it ignores columns it doesn't recognize, including RPE or effort. Imported sessions come in without effort ratings..

The app keeps the record. The lifter decides what to do with it.

Start a log where every working set keeps its numbers. Get Platepusher.

Platepusher is a gym log for lifters with years of training behind them. It keeps every working set as structured data, flags plateaus when a top set stops moving, puts imported history in the same record as today's session, and offers CSV export free on every tier. No badges, no coach voice. It records what the lifter did and shows what the record says.