ThreeByEightGet started

Guide

Double progression: how to know when to add weight

Double progression is a plain answer to the question every lifter has before a set: do I add weight today? It has one rule, it works on almost any lift, and it never asks you to guess. This page explains the rule, lets you run it on your own numbers, and walks through four sessions of it.

What double progression is

Most progression schemes move one thing at a time. Double progression moves two, in order: first reps, then weight.

You pick a rep range for a lift, say 6 to 10, and a weight jump you can actually make, like 5 lb. You stay at one weight and add reps, session by session, until you reach the top of the range. Then you add the jump, drop back to the bottom of the range, and climb again.

The rep range is what makes it work. Adding weight every single session works for a while, then the jumps outrun you. Adding reps first means every increase is earned: by the time the weight goes up, you have already lifted the old weight for the top of your range, so the new one is a small step rather than a leap.

The rule in three lines

Everything comes from your last top set: the set with the most reps the last time you did the lift.

  • Hit the top of the range → add weight and drop to the bottom of the range.
  • Land inside the range → same weight, one more rep.
  • Fall short of the bottom → repeat the weight and aim for the bottom of the range again.

That is the whole decision. It is the same rule ThreeByEight runs for every weighted lift, and the tool below is that code, not a copy of it.

Why the set with the most reps? Your working sets for a lift usually share one weight, and reps tend to fall as you tire: 10, then 9, then 8. The best of them is the clearest evidence of what that weight can do for you. Reading your last, most tired set instead would anchor every decision to your worst number, and you would progress slower than you could.

Try the engine

Put in your last top set

This runs the same code the app uses to pick your next target. Clear both set fields to see what it says when there’s no history yet.

Next session

145 lb × 6

“You topped the range — 10 at 140. That weight's done its job: up to 145, rebuild from 6.”

ThreeByEight does this for every lift, for the whole block — and shows you why each time.

Get it on Google Play

iPhone app coming

A worked example: four sessions

Take a bench press with a rep range of 6 to 10 and a 5 lb jump. Each row shows what was logged, the target the engine set for the next session, and the sentence it gave with it. The table is generated by running the engine on these numbers.

SessionLoggedNext targetWhat the engine says
1140 × 8140 × 9“You got 8 at 140 — room left in the range. Same weight, take 9.”
2140 × 9140 × 10“You got 9 at 140 — room left in the range. Same weight, take 10.”
3140 × 10145 × 6“You topped the range — 10 at 140. That weight's done its job: up to 145, rebuild from 6.”
4145 × 5145 × 6“Under the range last time — 5 at 145. Stay there until 6 is yours, then we climb.”

Four sessions: two reps gained, one weight increase, and one session that fell short. That last one is normal. A miss does not send you backwards; it holds the weight until 6 reps at 145 is yours. From there the climb starts again: 7, 8, 9, 10, then 150.

Picking a rep range and a jump

The range. A range about four or five reps wide gives you room to climb without the weight going stale. 6 to 10 and 8 to 12 are common choices for big lifts. Lower ranges, like 4 to 6, keep the weight heavy. Higher ranges, like 10 to 15, suit small lifts where one jump is a big share of the weight.

The jump. Use the smallest jump you can actually load. On a barbell that is often 5 lb (2.5 lb a side). With dumbbells it is the gap between pairs in your gym. On a cable stack or machine, it is one pin.

Check they fit together. After a jump you restart at the bottom of the range, so the range has to be wide enough to absorb it. If 10 reps at one weight can’t become 6 at the next, the jump is too big for that range: widen the range, or find a smaller jump. This bites hardest on light lifts, where 5 lb can be a large step.

Your first session. With no history yet, pick a weight where the bottom of the range is work but not a grind, and let the rule take over from the second session. That is also what the app says when it has nothing to go on: clear the set fields in the tool above to see the sentence.

Lifts with no weight to add. Push-ups and other lifts done without added weight have only one thing to progress, so the rule shrinks to a single line: one more rep each session, until you reach the top of the range, then hold there.

When it stalls

It will, sometimes. The sign is the third line of the rule turning up again and again: same weight, short of the bottom of the range, session after session.

One short session is not a stall. Sleep, food and a hard day at work all show up under the bar. The rule already handles a single miss by repeating the weight rather than cutting it, as session four above shows. It is a run of them that tells you something.

A stall is often tiredness piling up over weeks of hard training rather than strength going missing. Grinding the same weight harder rarely fixes that. A lighter week usually does, and it is cheaper to plan one than to wait for a stall to force it.

That is why ThreeByEight plans a deload week into every block from the start. The last week of each block is lighter by design: on weighted lifts the load drops two jumps below your last top set, the number of sets is halved (rounded up), and the target is the bottom of the range.

If a lift still stalls after a deload, the usual fixes are the ones above: a wider rep range, a smaller jump, or a different variation of the lift for the next block.

Double progression vs other progression schemes

Adding weight every session (linear progression) keeps the reps fixed and adds weight each time. It is fast while it lasts. When the jumps start to outrun you, it stalls with no built-in way to absorb a bad day. Double progression is the same idea with a buffer: the rep range.

Percentage-based programs prescribe each set as a percentage of your one-rep max. That is precise when your max is current; when it is stale, every number on the page is off. Double progression doesn’t need a max at all. It reads the set you actually did. (If you want a max anyway, the one-rep max calculator estimates one from any hard set.)

Effort-based training picks the weight by how hard sets feel, usually as reps in reserve. It adapts to the day, but it depends on judging effort well, which takes practice. ThreeByEight shows a reps-in-reserve target for each week, but the weight and reps themselves come from the double-progression rule, not from how hard the last set felt.

None of these is wrong, and they mix well: plenty of programs use percentages for one main lift and double progression for everything else. What double progression needs is only a record of what you lifted last time, which is why it suits a training log so well.

That’s one lift, once.

ThreeByEight does this for every lift, for the whole block, and tells you which branch you’re on.

Get it on Google Play

iPhone app coming

See how the rest of ThreeByEight works