Eccentric
← All posts
August 22, 202622 min readScott Feinberg

How to Tell When Your 5/3/1 Training Max Is Too High

On 5/3/1 you almost never miss a prescribed rep, which is exactly why a stall is hard to see. Wendler wrote an actual test for this. Here is the test, and how to read your own logged cycles so the decision comes from your record instead of a forum rule.

Most programs tell you something is wrong by making you fail a rep.

5/3/1 is built so that almost never happens. The prescribed reps are conservative on purpose, and the only set with any ambition attached is the last one, which is open-ended. So you complete every session, tick every box, and the program looks like it is working right up until the day you notice that your top set used to give you eight reps and now gives you four.

Nothing failed. Nothing got flagged. The number just quietly moved.

Ask the internet what to do and you get six answers: fail three times, go back three cycles, forward five and back three, recalculate at 85%, take off 10%, take off 15%. They cannot all be right, and none of them are about you.

Wendler already answered this. He wrote an actual test. It is worth more than all six heuristics combined, and most articles about stalling on 5/3/1 do not mention it.

Follow along with your setup

We’ll tailor the connection steps to the way you use Eccentric.

New to this? Connect Eccentric to your AI →
One-time setup · ChatGPT

Connect Eccentric to ChatGPT

Add Eccentric as a custom app, then sign in when ChatGPT asks for permission.

  1. Open ChatGPT Settings, then Apps.
  2. Turn on developer mode if your plan and workspace make it available.
  3. Choose Create, enter the Eccentric connection address shown in Eccentric Settings, and scan the available actions.
  4. Finish the sign-in flow, then enable Eccentric in a new chat.

ChatGPT’s custom-app availability and write access vary by plan and workspace. Check the current ChatGPT instructions before you start.

The short version

If you think your training max is too high, do this before changing anything:

Work up to a single set at 100% of your training max, after warm-up sets at 70%, 80%, and 90% for five reps each. Then count.

  • Using a 90% training max: three strong reps is the target.
  • Using an 85% training max: five strong reps is the target.
  • Below the target: do not advance the number. If the day was representative, recalculate and reset it; if sleep, illness, or another obvious short-term factor spoiled the test, repeat it before changing the plan.

That is the test. Everything below is about running it honestly, reading your own history well enough to know when it is worth running, and choosing what to do with the answer.

Why the stall is so hard to see

A linear progression tells you it has ended. You miss the reps, and the program has a rule for what happens next. The failure is the signal, and it arrives on time.

5/3/1 removes that signal deliberately, and that design is a large part of why the program works for years at a stretch. But it means the thing that degrades first is not a pass/fail outcome. It is a count on one set, buried in a log, four weeks apart from the last comparable one.

So the question is never "did I miss?" It is: is the same relative load buying me fewer reps than it used to?

That question is only answerable if you wrote the reps down.

What the program actually says

Worth being precise about, because the reset rules people quote usually get the foundations wrong first.

Your training max is not your one-rep max. It is a deliberately conservative number you program against — the weight you could lift on any given day, not the weight you hit once when everything lined up. The classic starting point is 90% of a true one-rep max, and Wendler's own writing is looser than the rule people repeat:

The 90% rule was the recommended starting point, Beyond 531 may mention 85% or 80%.

And, in the same piece:

There is no hard rule for your TM.

Every working percentage in the program is a percentage of that number, never of your actual max. The four-week wave looks like this:

WeekWorking setsTop set
165% × 5, 75% × 585% × 5+
270% × 3, 80% × 390% × 3+
375% × 5, 85% × 395% × 1+
4 (deload)40% × 5, 50% × 560% × 5, no +

Then the training max goes up: 2.5 kg (5 lb) on bench and press, 5 kg (10 lb) on squat and deadlift, and the wave repeats.

The + is the whole diagnostic surface of the program, and it is the part most often misread. It does not mean "go to failure." Train531 puts the stopping rule plainly:

Stop the AMRAP set when your technique breaks down — bar path drifts, depth disappears on squat, lower back rounds on deadlift — not when you physically cannot move the bar.

Or, as they summarize it: a clean set of 7 tells you more than a grinding, form-collapsing set of 10.

Hold onto that. It becomes the central problem later.

Wendler already gave you a test

The 7th Week Protocol sits between blocks of training, and one of its two forms is a training max test. Rather than inferring from rep counts whether your number drifted too high, you go and measure it.

How to run it

In place of a normal session for that lift:

SetLoadReps
170% of training max5
280%5
390%5
4100% of training max3 strong reps for a 90% max; 5 for an 85% max

Same stopping rule as any + set: the set ends when the rep stops looking like the lift, not when you cannot move the bar. Run it on the lift you are suspicious about. You do not need to test all four.

Reading the result

Three clean reps at a 90% training max, or five at an 85% training max, means the number is doing its job. That is what a training max is for — a weight you own, not a weight you visit.

Falling short means the number is too high for what you could demonstrate that day. Do not advance it. If the test happened under ordinary conditions, use the result to reset. If an obvious short-term factor spoiled the day, repeat the test when that factor has cleared rather than turning one bad session into a permanent conclusion.

The related rule of thumb you will see quoted — you should always be able to get five reps at 95% of your training max — is a conservative gut check between tests, not a substitute for the template-specific target above.

Reading your own cycles

The test tells you where you are today. Your log tells you whether it is worth running, and it usually knows first.

Signal one: reps on the top set

Take one lift, one week of the wave, and line up the same top set across cycles. Week 3 squats at 95% across four cycles might read: 5, 4, 4, 2.

The load went up each cycle, because the training max went up each cycle. So a slow decline is not automatically a problem — a fresh reset gives you high rep counts that naturally come down as the training max climbs back toward you. What you are looking for is the drop from comfortable to scraping, sustained across more than one cycle, on a lift where nothing else changed.

NORMA's guide states the trigger about as well as it can be stated without seeing your data:

If AMRAP reps drift toward the minimum across multiple cycles, or if bar speed and technique keep breaking down, the Training Max may be too high.

Signal two: effort at the same percentage

Rep counts are coarse. They move in whole numbers, on one set, once every four weeks.

Effort is finer. If you record an RPE on your working sets, the 85% set is the same relative load every single cycle, so it is a controlled comparison. When 85% goes from an RPE 7 to an RPE 9 across three cycles and the top-set reps have not moved yet, you have found the same problem a cycle earlier than the rep count would have shown it.

That earlier warning is worth having, because it is the difference between running the test before a hard cycle and running it after one.

The confound that breaks the comparison

Here is the part that quietly undermines rep-count analysis, and it goes missing from most of the reset advice.

Your top-set rep counts are only comparable across cycles if you stopped the set the same way each time.

The + is not a max-out. It is "as many good reps as you can," and where you draw the line on "good" is a judgment call you make alone, mid-set, under load. A cycle where you stopped as soon as your bar path drifted and a cycle where you ground out two ugly extra reps produce different numbers from identical strength. Six months of that and your trend line is measuring your mood, not your training max.

You cannot fix this retroactively. You can fix it going forward, and it is cheap: attach an effort target to the top set and record what the set actually felt like. Then "5 reps at RPE 9" and "5 reps at RPE 10" stop being the same data point, and a rep count that dropped because you got stricter stops looking like a rep count that dropped because you got weaker.

If you take one operational habit from this article, take that one.

If you train on a Voltra or Vitruvian

If your equipment reports per-rep velocity, you have a stopping rule that does not drift, because it is not a judgment: end the set when rep speed has dropped by a set percentage from your fastest rep. That is the same idea as "stop when technique breaks down," measured instead of felt, and it is consistent cycle over cycle in a way a human decision is not.

This only applies to equipment that reports it. Standard barbell 5/3/1 has no bar speed to read, and for that, per-set RPE is the second signal. There is more on what the number means in what bar speed actually tells you.

Where the equipment reports it, rep speed and power become their own session-by-session trend.

"I've only run two cycles"

Then you do not have an answer yet, and neither does anyone else.

Two data points on one set can describe a decline, a bad Tuesday, or nothing. A single top set once a month is a genuinely low sampling rate, and the honest response to "is my training max too high after two cycles?" is that your log cannot tell you.

It is not a dead end, though, because the test does not need a multi-cycle trend. If you are two cycles in and something feels wrong, run the training max test under representative conditions. It is a direct check of the number you can demonstrate that day, not proof of why the number moved.

The other possibility at cycle two: your training max may have been set too high at the start, especially if it came from a best-day one-rep max rather than a repeatable current estimate. Wendler's position on chasing a higher number is unambiguous:

A higher TM does not equal more strength.

And: the more progress you can achieve out of a low TM the better.

Bad week, or bad training max?

Before you reset anything, rule out the ordinary explanation. Sleep, travel, a missed session, an illness, a new job, a week of eating badly — any of these will cost you a rep or two on a top set without your training max being wrong at all.

The distinction is not subtle once you look for it:

  • One bad week is one session out of line with the ones around it, usually with a reason attached, and it recovers on its own.
  • A training max that is too high is a decline that continues across cycles, shows up on the working sets and not just the top set, and does not come back after a deload.

This is where session notes earn their keep. "Slept four hours, flew back Monday" written at the time turns a confusing data point into an explained one. Six weeks later you will not remember, and the unexplained dip will get counted as evidence.

One lift, or all four?

Check before you act, because the fix is different.

One lift declining while the others hold narrows the investigation to that lift. Run its training-max test and leave the other numbers alone unless their own results give you a reason to change them.

All four declining at once points first toward a shared factor rather than four independent training-max errors. Check sleep, food, stress, illness, and supplemental volume before changing all four numbers. A reset may make sessions lighter, but it cannot identify or remove the shared cause.

Resetting: how much, and how to come back up

Two approaches, and they are not equally good.

The blunt one: take about 10% off the training max for the affected lift. NORMA gives the standard version — reduce only the affected lift's TM by about 10 percent — and you will see 10–15% elsewhere. It is a reasonable guess, applied per lift, never program-wide.

The result-based one, if you ran a representative test: estimate your current one-rep max from the load and clean reps you actually completed, then set the training max to the percentage your template calls for. This follows the measured result more closely than an automatic 10% cut, but the estimate still inherits the conditions and effort of that test day.

Coming back up matters as much as the reset. A fixed increment can eventually outrun the strength it is meant to represent. Thirteen four-week cycles fit in a year, so 5 kg a cycle would add 65 kg to a squat training max if you never held or reset it. On the way back:

  • Take the increments as written while the weights are easy, and expect to slow down before you hit your old number.
  • When the top-set reps stop being comfortable, hold the training max for a cycle instead of adding.
  • Run the test again rather than guessing whether you are back.

A training max you keep for two cycles is not a failure to progress. It is the number doing exactly what it is supposed to do.

Doing this in Eccentric

Everything above is program logic and works with a notebook. What Eccentric changes is that the comparison across cycles becomes something you can ask for instead of something you reconstruct.

Start from the built-in 5/3/1 template

Eccentric includes a 5/3/1 template: four days, one main barbell lift each — squat, bench, deadlift, overhead press — built as percentage steps off a reference max, with the classic 5×10 at 50% back-off volume on the same lift.

Be clear about what it gives you. It is the session shape: a top-set wave at 75/85/95% plus the back-off work. It is not a four-week wave that advances itself. You change the percentages for week 1 and week 2, and you decide when the deload happens and when the training max goes up. The program's calendar is still yours to run; what the template saves you is building four workouts and their percentage steps by hand.

Read this first: "working max" is not your Wendler training max

This is the one thing in this article most likely to cost you real training if you skip it.

Eccentric has a field called Working max on each movement. It is a reference one-rep max — the number your percentage steps resolve against. Left alone, Eccentric estimates it from your logged sets and labels it as an estimate. You can also type your own and save it, and a saved number always wins over the estimate.

The Working max sits at the top of the set editor. Left alone it is an estimate from your logged sets; type a number and save it and yours wins.

Wendler's training max is a different quantity with a confusingly similar name. It is roughly 90% of a one-rep max. Eccentric's working max is the one-rep max itself.

So when you set up 5/3/1 in Eccentric, enter your training max in that field, not your best-ever single. Otherwise every percentage in the plan resolves against a number about 11% too high, and the program you are running is not the program you think you are running.

Concretely, with a 140 kg squat single:

Reference number usedWeek 3 top set at 95%
Correct — training max126 kg119.7 kg
Wrong — true one-rep max140 kg133 kg

That is 13.3 kg between a hard single and a near-limit attempt. Get this wrong and your week-3 top set is 95% of your actual max every single cycle — you are not running 5/3/1, you are testing your max monthly, on the exact set you were going to use to judge whether your training max is too high.

The useful consequence: because a deliberately low number you save always beats the estimate, a 5/3/1 reset is just saving a lower working max. That is precisely what the program asks for.

One more thing worth knowing. Changing your saved working max does not silently rewrite the loads in plans you already built — saved plans keep the reference they were written against, so a number you bump today cannot quietly change what a plan told you to lift last month. When the two drift apart, the set editor points it out and offers a one-tap Re-anchor to working max. Two deliberate steps, both of them visible, rather than one invisible one.

Make the stopping rule part of the plan

The confound from earlier — top-set reps only comparing cleanly if you stopped the set the same way each time — has a fix that lives in the plan rather than in your memory.

Put an effort target on the top set. Eccentric takes RPE on the half-point grid and shows you the reps-in-reserve equivalent alongside it, so "stop around RPE 9" is written into the set before you walk up to the bar, not reconstructed after.

An effort target on the top set, on the half-point grid, with the reps-in-reserve equivalent shown. This is what makes rep counts comparable across cycles.

Log the top set as it happened

Log the target and what you actually did. Week 1 squats prescribe 85% × 5+; you get eight. The record keeps both — the five you were asked for and the eight you performed — which is what makes the + set a measurement rather than a checkmark. Add the RPE and, when there is one, the reason.

Three cycles of that and the question "have my top-set reps been declining?" has an answer sitting in your log rather than in your recollection.

Ask your history

This is where having the record in a structured form starts paying for itself, because the comparisons that matter in 5/3/1 are annoying to do by hand. The relevant sets are one per session, four weeks apart, at loads that changed every cycle.

And once you have a reading, the follow-ups that narrow it down:

A reset arrives as something you approve

When you have decided to reset, you can have the change drafted for you and then look at it before it exists.

That comes back as a proposal with the specific numbers in it, which you accept or reject. Your assistant cannot reach in and change your training max on its own — the saved working max is set by you, in the app, and a plan change is something you approve. Which is the correct arrangement for a decision this consequential.

If you are coming to 5/3/1 from a simpler progression, the equivalent workflows for a linear program are in how to use AI to run StrongLifts 5×5.

What your assistant should refuse to tell you

Two things, and a good one will say so.

It should not diagnose the cause from your log. It can show you that your top-set reps have declined across four cycles while your effort ratings climbed. That is a description of your record and a reason to run the test. The test checks whether the number fits what you can demonstrate under those conditions; it still cannot prove whether a low result came from accumulated fatigue, illness, or a training max that advanced too far.

It should not turn three data points into a cause. One lifter, a handful of top sets, and a dozen confounders is not enough to establish why anything happened. If your assistant offers you a confident causal story from four sessions, it is generating plausible text, not reading your training. The honest output from thin data is a hypothesis and a way to check it.

The bigger idea

5/3/1 is designed to make most of your training decisions for you. That is its great virtue, and it is why people run it for a decade. But it deliberately hands you one decision back, roughly once a year per lift: is this number still the right number?

It also gives you a way to answer it, which almost nobody uses, because the answer is buried in a protocol most people skip and the folklore is louder.

The program provides the philosophy.

Eccentric keeps the record of what you actually lifted.

Your assistant helps you interrogate that record.

You run the test, and you make the call.

And when the answer comes back low, the number goes down. That is the program working, not the program failing. Wendler again: the more progress you can achieve out of a low training max, the better.

Start using Eccentric with your training →

Train on purpose.

Eccentric turns what your equipment records into progress you can read. It's free to start.