Reps in reserve.
Reps in Reserve — RIR — is the number of reps you could still do at the end of a set, if you absolutely had to. Two RIR means you stopped two reps before failure. Zero RIR means you couldn't have done another. It's a simple way to measure how hard a set actually was.
It's also one of the best tools a lifter can train themselves to use.
What RIR is
Strength training works when the set is hard enough. Hard enough means close to the limit, not at it. RIR gives you a clean way to talk about that — a number, instead of a feeling.
Most productive sets land in the zero-to-three RIR range. Below zero (training to failure, repeatedly) the recovery cost gets brutal. Above three, the stimulus drops off and the set doesn't do much.
Why it beats training to failure
Failure is expensive. The last rep of a set to failure costs disproportionately more recovery than the second-to-last rep, while giving you very little extra adaptation. Stop one to two reps short and you get nearly all the growth at a fraction of the fatigue.
Lifters who train every set to failure spend their careers fighting the recovery bill. Lifters who train at one to two RIR can do more total productive work, more often, for longer.
How to estimate it
It's a skill. Beginners overestimate how close they are to failure — they call a set 1 RIR when it was actually 4. Stop occasionally and grind out the extra reps to calibrate. Within a few months, your RIR estimate becomes reliable within a rep.
Rule of thumb: if the bar slowed dramatically on the last rep, you were probably at 0-1 RIR. If it moved at the same speed as the first reps, you were at 3+.
How Checkfit uses it
After each set, Checkfit asks how many reps you had left. That number — combined with the weight you used and the reps you hit — is the input the algorithm uses to pick your next session. Too easy? The next session pushes harder. Too hard? It backs off, just slightly.
RIR is the feedback loop that makes the whole system adaptive. Without it, the app is guessing. With it, every session is calibrated to the one before.