reckoner.fit
Progression

How Reckoner decides to add weight

Reps first, then load, then sets, then the movement. Here is six weeks of one bench press, run through the real engine, with the reason beside every decision.

Written by Reckoner

Most programmes add weight on a calendar. Monday comes round, the number goes up, and nobody asks whether last week earned it. That works until the week it does not, and then it keeps going anyway, because a spreadsheet has no way of knowing that your last set was a grind.

Reckoner works the other way. Nothing moves until the training says it should, and when something does move you are told which rule moved it.

Reps come before load

Every lift carries a rep range rather than a rep target. The first thing the engine asks is whether you finished every set at the top of that range, and whether the last set came in at your target effort or below. Until both are true, the load stays exactly where it is and you climb the range instead.

That order matters more than the size of the jump. Reps buy you the strength to hold a heavier bar in a position you can still control. Skip that step and you get to week five with a bar path that has quietly gone crooked and a number you cannot repeat.

Build the range before the load.

Then the load, in the smallest honest step

When the range is clean the engine adds one step and drops you back to the bottom of the range. The step is not a percentage: it is the smallest thing you can actually pick up in the gym you train in. A barbell takes the smallest pair of plates you own. A dumbbell rack goes up in twos. A pin stack goes down one pin.

Small steps mean more weeks where the reps are good, and more weeks of good reps is the whole game. A five per cent jump on a lift you have just barely finished is a week of grinding followed by a week of backing off.

Six weeks of one bench press

This is not an illustration. The table below is the output of the same engine that writes your week, run for six weeks against a lifter who finished every set as prescribed and reported the same effort each time. Nothing here was typed in by hand.

Barbell bench press, run through the engine
WeekPrescribedWhat it did
14 x 6 at 60 kgMore reps 6 → 7 repsRPE 7.5 with room left in the range, so reps climb before the load does.
24 x 7 at 60 kgMore reps 7 → 8 repsRPE 7.5 with room left in the range, so reps climb before the load does.
34 x 8 at 60 kgDeload 40% of sets offThree weeks of building, then one week lighter. About 40% of the sets come off. The load holds and your reps stay where you earned them, so you keep the strength and lose the fatigue.
42 x 8 at 60 kgMore reps 8 → 9 repsRPE 7.5 with room left in the range, so reps climb before the load does. The lighter week is over, so this is back to four sets.
54 x 9 at 60 kgMore reps 9 → 10 repsRPE 7.5 with room left in the range, so reps climb before the load does.
64 x 10 at 60 kgLoad up 60 kg → 62.5 kgYou hit the top of the range at RPE 7.5, so the bar goes up 2.5 kg to 62.5 kg and reps reset to six.

Real engine output, not an illustration. Every row was produced by running reckoner/engine.py when this page was generated.

Two things worth reading twice. Week three is the planned lighter week: three weeks of building and then one where about 40 per cent of the sets come off, with the load and the reps held exactly where you earned them. And week six is the first time the bar moves at all, after four weeks of reps.

Then sets, and then the movement itself

Some lifts have no load to add. A push-up and a pull-up are the weight you happen to be, so when the reps run out the engine adds a set instead, up to the ceiling that lane was built with. A hold has neither, so it gets seconds.

And when none of that is working, the lift itself is the question. A load that has not moved for three trained weeks is offered for a swap rather than another week of the same, which is the subject of its own guide.

Why you are told all of this

Every one of those sentences is written by the engine at the moment it decides, from the numbers it had in its hands. There is no second copy of the rules written down somewhere by a person, which means there is nothing to go stale: change what the engine does and every sentence on this page changes with it, including the ones in the table above.

Read next