Volume Load Per Movement Pattern: The Retrospective Your Log Already Has Data For

Article · 5 min read

Your muscle-group chart can't see a hip hinge disappearing.

Volume load per movement pattern sorts a year of logged sets into squat, hinge, push and pull, and catches the drift that per-muscle views hide.

Every chart is green and the hinge is gone

Picture a log that looks healthy from every angle the app offers. Eighteen months of entries, four sessions a week. The muscle-group chart holds hamstrings at nine sets a week, block after block. The deadlift working weight has climbed from 160 to 170 kg across the last three mesocycles.

And the hip hinge is carrying about a third of the volume load it carried a year ago.

Nothing flagged it. The RDLs got swapped for a second leg curl one block when the lower back felt cranky. The deadlift lost a set the next block because recovery was tight. Each change was reasonable on the day it happened. The per-muscle view credited the curls to hamstrings and kept the count flat, and the per-exercise view showed a deadlift that kept going up. The hinge itself, the pattern that loads glutes, hamstrings and spinal erectors together under a bar, never had a row of its own to fall off.

A training year needs a pattern ledger

Volume load per movement pattern sums sets × reps × load for every exercise that belongs to a pattern (squat, hinge, horizontal and vertical push, horizontal and vertical pull) and keeps a running total per pattern across weeks and blocks. Call the result a pattern ledger: one balance per pattern for the whole training year.

Structural drift shows up at the pattern level before it shows up anywhere else, because patterns are the unit lifters swap exercises within. An RDL becomes a good morning. A back squat becomes a safety-bar squat. A barbell row becomes a chest-supported row. Exercise-level views see one chart end and another begin. Muscle-level views see sets shuffled between rows. Only the pattern view sees whether the total stayed put.

So the ledger is a retrospective. Running it doesn't take a new program, just the last year of sets with their dates, loads and reps still attached. It's the same idea as treating your training history as the experiment you've already run on yourself, pointed at one specific question.

Why muscle-group set counts miss a hip hinge

Weekly hard sets per muscle group became the default hypertrophy unit for good reasons, and on a bodybuilding split it answers the question it was built for. The trouble is what it does with compound patterns. A Romanian deadlift gets credited to hamstrings, maybe glutes, rarely erectors, depending on how the app weights it. A lying leg curl gets credited to hamstrings at full value. To the chart, three sets of each look identical.

What they train is different. One is loaded hip extension with a braced spine under a bar. The other is knee flexion on a pad. Swap one for the other and the hamstring row doesn't move.

Per-exercise history fails the opposite way. It keeps the detail and loses the sum. Every variation lives on its own chart, so a pattern that drifts by substitution shows up as a dozen short lines, each one looking fine on its own.

ExerciseMovement patternMuscles a per-muscle view may credit
Conventional deadliftHingeGlutes, hamstrings, erectors
Romanian deadliftHingeHamstrings, glutes, erectors
Good morningHingeHamstrings, glutes, erectors
Lying leg curlNone (knee-flexion isolation)Hamstrings
Back squatSquatQuads, glutes, adductors
Leg pressSquatQuads, glutes
Muscle attribution varies by app. The point is the mapping: one hinge splits across three muscle rows, and a curl can replace it in the hamstring row without anything changing on the chart.

What volume load per movement pattern is, and where it comes from

Volume load is the standard tonnage measure in strength and conditioning monitoring: sets × reps × load, summed. Nothing new there. Grouping training by fundamental pattern isn't new either. Dan John's list of push, pull, hinge, squat and loaded carry has been a coaching staple for years, and powerlifting programmers have long sorted accessories by the competition lift they feed. Westside Barbell's blog defines VLPM as Volume Load Per Minute (total weight moved in a session ÷ total minutes of work), not 'volume load per movement pattern'. ([source](https://www.westside-barbell.com/blogs/the-blog/what-does-training-to-be-as-strong-as-necessary-really-mean?srsltid=AU7gw4XsWNJrUljo0R-1l5sQ0k4y_AOLohPdGotds4PYzt7vqmXH8TRU)) Westside-style training is often cited as an early example of tracking work by the lift it serves rather than the exercise performed.

Put the two ideas together and you get a number that's comparable to itself over time. That's its whole job.

Comparing a 4,800 kg hinge week with a 6,000 kg squat week tells you almost nothing, because leg press kilos inflate any squat total and a trap-bar pull loads differently from a stiff-leg one. Each pattern gets compared to its own past instead. Is the hinge carrying more, the same, or less than it did three blocks ago?

The requirements are mundane. Every set needs a date, a load and a rep count, and every exercise needs a pattern tag.

Compare a pattern to itself, never to its neighbors

Absolute kilos aren't comparable across patterns, or even across machines within one: a single leg press set can out-tonnage a heavy back squat set by a wide margin. The ledger is one trend line per pattern. Read the direction of each line across blocks.

Running the retrospective on three mesocycles

Take the hypothetical lifter from the top of this piece and run their last three blocks through a pattern ledger. Deadlifts and RDLs go in the hinge column. Leg curls stay out.

Block one: deadlift 3×5 at 160 kg (2,400 kg) plus RDL 3×8 at 100 kg (2,400 kg), for a hinge total of 4,800 kg a week. Block two drops the RDL for a second curl variation and moves the deadlift to 3×5 at 165 kg. Hinge: 2,475 kg. Block three trims the deadlift to 2×5 at 170 kg for recovery. Hinge: 1,700 kg.

The hamstring chart reads nine sets, nine sets, nine sets. The deadlift chart shows a 10 kg climb. The pattern ledger shows the hinge at about 35% of where it started.

All three readings are accurate. Only one of them describes the training year.

BlockHinge-relevant work per weekHamstring sets (per-muscle view)Deadlift working weightHinge volume load
Block 1Deadlift 3×5 @ 160 kg, RDL 3×8 @ 100 kg, leg curl 3 sets9160 kg4,800 kg
Block 2Deadlift 3×5 @ 165 kg, two leg curl variations, 6 sets9165 kg2,475 kg
Block 3Deadlift 2×5 @ 170 kg, two leg curl variations, 7 sets9170 kg1,700 kg
Illustrative lifter, not real data. Hinge volume load = sets × reps × load for hinge exercises only. Leg curls count toward hamstring sets but stay out of the hinge ledger.

What changes when the pattern is the unit

If drift happens by substitution, the review that catches it has to sit above the exercise. A pattern review that works tends to share three traits.

Every exercise in the history carries one primary pattern, assigned once. The ambiguous ones (hip thrust, split squat, trap-bar deadlift) get a single call and keep it, because a consistent tag matters more than a perfect taxonomy.

Each pattern gets read against its own trailing blocks. A hinge that's down by a third over two mesocycles is worth checking against intent. Sometimes the drop was the plan: a squat-specialization block, a tweaked back, a meet prep that cut pulling. Then the ledger simply confirms what the lifter already chose. The case that matters is the drop nobody chose.

Isolation work keeps its own column. Curls, extensions and raises count for plenty, and the muscle view is the right instrument for them. They just can't stand in for a pattern.

The retrospective only runs on history that survived

A pattern ledger is arithmetic. The hard part sits upstream: eighteen months of sets where each one still has its date, load and reps, under exercise names stable enough to tag. History that got re-zeroed at an app switch, or flattened into session summaries, can't be re-aggregated after the fact.

That's the case Platepusher is built around. Drop a CSV from Strong or Hevy and every lift, every set and every date imports as native data, so a log started years ago sits next to this week's session as one continuous record. Export is one tap, in Strong's column shape, free at every tier, so the pattern tags and the ledger can live in a spreadsheet if that's how you audit a year.

Plateau detection flags the week a top set stops moving. The pattern ledger answers a different question, and the lifter above shows why both matter: a climbing deadlift is exactly what hid the hinge.

Your log already ran this experiment across your last three mesocycles. Whether you can read the result comes down to whether the history is still whole.

Bring your whole log into Platepusher

The pattern ledger needs one thing most apps quietly lose: every set from the last year or more, with its date, load and reps intact. Platepusher imports a Strong or Hevy CSV as native data, set by set and date by date, and exports in Strong's column shape for free at every tier, so the retrospective has a full year to run on and the data stays yours to audit however you like.