Progression
What counts as a reason your lift went down
Your bench went backwards this week and you want to know why. So you ask, and the answers arrive: you're dehydrated, you trained too late, you slept badly, your protein is low, you need creatine, you need a deload.
Some of that might be true. The problem is that none of it came from anything anyone knew about you. It's a list of things that can affect a lift, handed over as though it explains yours.
WhyRep is deliberately stingy here. There's a fixed list of reasons it's allowed to name, every one of them has to actually show up in your log before it can be named, and when none of them do, the app tells you your lift went down and stops talking.
The short version
- Ten approved reasons. Nothing outside the list gets cited.
- A reason is only citable when your log actually shows it. Never assumed.
- Several carry conditions: sleep has to be chronic, a deficit has to be deep.
- Three plausible-sounding reasons were considered and left off.
- If nothing applies, the verdict states the regression and claims no cause.
The ten it can name
In the methodology they're written as a flat list, and there's no ranking implied by the order.
- Chronic sleep deprivation
- Improper pre-workout intake
- Under-recovery from the previous session
- Soreness from other physical activity on rest days
- Improper diet in general
- Chronic psychological stress
- Illness or recent sickness
- A caloric deficit deeper than roughly 500 kcal
- Alcohol, same day only
- Menstrual cycle phase, for lifters who track it
That's the whole list. It isn't a starting point that grows as the app learns more about you.
Four of them come with conditions
The conditions are where the actual thinking is, because they're what stop a reason from becoming a catch-all.
Sleep has to be chronic. One bad night doesn't qualify. If it did, almost every regression could be pinned on sleep, since almost everyone sleeps badly sometimes.
Under-recovery is only citable once you're actually plateaued. Before that, a single rough session following a hard one isn't evidence of anything much, and the app has to reach for another reason or none.
A deficit has to be deeper than roughly 500 kcal. This one says something about the expected shape of a cut: a properly run deficit is expected to read flat, not backwards. So a moderate deficit is a fair explanation for not progressing, and it isn't a fair explanation for going backwards. Only a deep one is allowed to carry that.
Alcohol counts same day only. Not last night, not the weekend.
Three that were considered and left out
Worth naming, because two of them are the first things anybody suggests.
Dehydration is not on the list. Neither is an unusual training hour. Neither is a single bad night's sleep, which is the chronic-only rule stated from the other side.
Read that precisely, because it's a narrow claim. It doesn't say those things have no effect on a human being. It says WhyRep won't name them as the reason your set went down, because they're not things it can establish from your logbook, and a reason it can't establish is a guess with a confident voice.
What it says when nothing fits
This is the part that matters most, and it's one line in the methodology: if no approved reason applies, the verdict states the regression without claiming a cause.
Your bench went down. That's it. No suggestion, no probable culprit, no gentle nudge toward sleep hygiene.
That's an uncomfortable thing for an app to say, and it's the point. Every product in this space is under pressure to have an answer, because having an answer feels like being useful. The failure mode is that you end up with a system that always produces an explanation, and explanations that are always available are worth nothing when you need one.
A bad session that goes unexplained is normal. Sometimes it's a bad session.
Where this actually sits today
Being exact, because this page describes a rule rather than a feature you can currently use.
The rule is written, signed and implemented. The ten reasons exist in the progression engine, the conditions on sleep, on under-recovery and on deficit depth are coded, and there are tests covering the awkward cases, including the one where a moderate deficit is refused as a reason for a regression.
What doesn't exist is anything that collects the inputs. The app doesn't ask about your sleep. It doesn't ask about stress, diet, alcohol or illness, and it has no nutrition tracking, so it can't see a deficit either.
The consequence is worth stating plainly rather than leaving you to work out: in the app as it ships today, no reason is ever cited. Every regression takes the fallback path and is stated without a cause. The machinery for naming a reason is built and it's waiting on the questions being asked.
When those inputs do arrive, they'll be things you log rather than things the app infers about you. That's the same rule underneath, which is that a reason has to be shown before it can be named.
Common questions
Does one bad night of sleep explain a bad session?
Not as far as WhyRep is concerned. Sleep is only citable as chronic sleep deprivation, never as a single bad night. A single night was considered and deliberately left off the list of reasons the app is allowed to name.
Will cutting make my lifts go down?
A properly run deficit is expected to read flat rather than backwards, so a moderate deficit is citable for a lack of progress but not for a regression. Only a deficit deeper than roughly 500 kcal is allowed to be named as the reason a lift actually went down.
What does WhyRep say when it doesn't know why a session went badly?
It states the regression and claims no cause. If nothing on the approved list is actually shown by your log, the app names no reason at all rather than picking a plausible one.
Does WhyRep track my sleep and diet?
Not today. The rule for which reasons may be cited is written and implemented, but nothing in the app currently collects sleep, stress, diet or alcohol, so no reason is ever cited in the shipped app. Every regression is stated without a cause.
A note on sources
Everything on this page comes from WhyRep's progression detection methodology document, signed before it was implemented. The list of ten and the list of three are reproduced from it in full rather than summarised, and the conditions attached to sleep, under-recovery and deficit depth are quoted as the document states them. One item on the list, under-recovery, connects to a recovery system that isn't built yet, which is covered in the deload post below.
Related reading
What a regression verdict is in the first place is covered in what counts as progressive overload, and the reason the app never answers a bad run with a scheduled week off is in why WhyRep will never tell you to deload.
Back to the blog