Charge weight: velocity, and the barrel's timing
Charge weight is the dominant variable and the one you tune first. It sets muzzle velocity directly, and through velocity it sets where the bullet is in the barrel's vibration cycle when it exits. A rifle barrel whips measurably during firing; if the bullet leaves while the muzzle is near a turning point in that whip, small velocity variations produce small changes in launch angle, and vertical dispersion at distance shrinks. If the bullet leaves during the fast part of the swing, the same velocity variation produces a larger angular error.
This is the mechanism behind the idea of an accuracy node — a narrow band of charge weight where the group tightens and stays put despite small charge changes. Whether nodes are as reliable and repeatable as tradition claims is genuinely contested, and the more sceptical modern view is that many apparent nodes are small-sample artefacts. What is not contested is that charge weight is the variable with the largest effect per unit of effort, and it is where development starts.
Seating depth: how the bullet meets the rifling
Seating depth controls the jump — the distance the bullet travels before it engages the rifling. It affects the pressure curve's early shape and, in many rifles, has a real effect on dispersion that is independent of charge weight. Some bullets, particularly certain match designs, are notably jump-tolerant; others are fussy and will show a clear preference across a small range of seating depths.
⚠️ Seating depth also interacts with pressure. Seating a bullet closer to, or into, the rifling raises pressure — sometimes sharply. A charge that was safe with a given jump is not automatically safe when you seat longer. If you change seating depth after settling a charge, treat it as a change that can move pressure and re-verify, rather than assuming the charge carries over.
Measure it properly. Overall cartridge length measured to the bullet tip is nearly meaningless for consistency, because tip length varies from bullet to bullet in the same box. Measure to the ogive with a comparator, which is the part of the bullet that actually meets the rifling, and record that number.
Brass, neck tension and primers: the consistency variables
Brass matters mainly through volume consistency and neck tension consistency. Cases from the same maker and lot, fired the same number of times in the same chamber, sorted and prepped the same way, will hold a more consistent charge and grip the bullet more consistently. Neck tension — how hard the case neck holds the bullet — affects how pressure builds before the bullet moves, and inconsistent tension is a common hidden source of velocity spread. Consistent sizing, and consistent case-mouth condition, do more here than most component upgrades.
Primers change ignition. Different primers have different brisance and cup hardness, and swapping primer brand can shift both velocity and pressure meaningfully. That makes primer choice a real variable — and also means a primer substitution is a change that requires re-verification, not a like-for-like swap. Treat running out of your usual primer as a reason to re-check the load, not a minor inconvenience.
Case prep steps — uniforming primer pockets, deburring flash holes, turning necks — occupy an enormous amount of forum argument relative to their measured effect for most shooters. They are real but small, and they matter mainly once the larger variables are already controlled and you are chasing the last fraction. Do not start there.
⛔ One variable at a time — the rule that makes any of this legible
The single discipline that separates useful load development from expensive guessing is changing one thing per test. If you change charge weight and seating depth in the same batch, a tighter group tells you nothing about which change produced it, and you have spent components buying an uninterpretable result.
This is harder than it sounds, because it is tempting to also switch to the new brass you just got, or the primer you found, or to shoot the new batch from a different position because the bench was busy. Every one of those is a second variable. Fix everything you are not testing — including yourself, the position, and ideally the conditions — and move exactly one thing.