Spend a season around precision handloaders and sooner or later someone tells you to go out and find the node. The advice always arrives with total confidence, and it almost never arrives with a sample size. This guide covers how to find a velocity node the way the method is normally taught, and then does the part most guides skip: it works out whether a ladder of three to five rounds per step is even capable, mathematically, of telling a real velocity node apart from an ordinary run of luck. The short answer is that it is not, and the arithmetic is not close.

In this guide
- What shooters mean by a velocity node
- The ladder test, as it is normally taught
- Why a short ladder cannot confirm a velocity node
- The SD of an SD
- What it would actually take
- What honest load development looks like
- How LoadNode compares charges instead
What shooters mean by a velocity node
A velocity node is described as a span of charge weights over which muzzle velocity barely changes as you add powder: a flat spot, or plateau, in the velocity-versus-charge curve. Instead of every increment adding a predictable chunk of speed, inside the plateau a few increments hardly move the chronograph at all. The idea traces back to Creighton Audette’s ladder work and Dan Newberry’s OCW method, and the promise is genuinely appealing: sit in the middle of a plateau and velocity becomes insensitive to the small charge variations and temperature swings every handloader lives with, which should mean tighter extreme spread and steadier elevation at distance.
Nothing about that mechanism is absurd. Barrels do vibrate, pressure curves are not perfectly linear, and it is entirely plausible that some regions of the curve are flatter than others. The question this article asks is narrower and much more answerable: can the test people actually run detect such a region? That is a statistics question rather than a ballistics question, and statistics gives a clear answer.
The ladder test, as it is normally taught
The standard recipe for how to find a velocity node is the ladder test:
- Take your start and maximum charges from current published load data for your exact cartridge, bullet, primer, and powder. Never exceed the published maximum.
- Build a ladder of evenly spaced steps from near the start charge toward maximum, with one to five rounds on each rung.
- Chronograph every shot and record every velocity, not just the averages.
- Plot velocity against charge weight.
- Look for consecutive rungs where the line flattens out.
Here is what a ladder looks like when it appears to work. The numbers below are illustrative only and are not a recommendation of anything. Watch the change column: it shrinks across rungs 4 to 6, then jumps again.
| Rung | Velocity (fps) | Change |
|---|---|---|
| 1 | 2,690 | – |
| 2 | 2,712 | +22 |
| 3 | 2,731 | +19 |
| 4 | 2,742 | +11 |
| 5 | 2,745 | +3 |
| 6 | 2,748 | +3 |
| 7 | 2,761 | +13 |
| 8 | 2,779 | +18 |
Rungs 4 to 6 read as a flat spot and rung 5 reads as the candidate. That is exactly what the method promises you will see. It is also exactly what these eight numbers look like when nothing whatsoever is happening, which is the whole problem.
Why a short ladder cannot confirm a velocity node
A rung’s average velocity is not a property of the load. It is an estimate of a property, built from a handful of shots, and like every estimate it carries its own scatter. The uncertainty on an average is the string’s standard deviation divided by the square root of the number of shots, widened by the small-sample correction that a three-shot or five-shot string demands.
Put real numbers on it. Take a string SD of 15 fps, which is unremarkable for a decent handload. Three shots put the true average for that rung somewhere inside roughly plus or minus 37 fps at 95% confidence. Five shots narrow that to about plus or minus 19 fps. Ten shots get you to about plus or minus 11 fps. Comparing two rungs is worse than measuring one, because both estimates wobble at once: two three-shot rungs cannot resolve a genuine difference smaller than about 34 fps, and two five-shot rungs cannot resolve one smaller than about 22 fps.
Now look back at the table. That flat spot was built out of differences of 3 fps. The measurement is not capable of resolving 3 fps, or 13 fps, or in most short ladders anything below roughly 20 fps. The flat spot is not information about the powder charge. It is information about the sample size. Load identical ammunition on every rung, shoot the ladder, and flat spots will still appear, in random places, run after run, because the sampling noise is precisely the size of the effect being read. There is a well-known argument that rifle nodes are largely an illusion, and this is the arithmetic that gives it teeth.
The SD of an SD
Velocity spread is the other half of a ladder, and it is shakier still. An SD calculated from a short string is itself an estimate with a wide error bar, and almost nobody quotes it that way. At 95% confidence, the true spread behind your measured SD sits inside these multiples of the number you wrote down:
| Shots in the string | True SD is somewhere between |
|---|---|
| 3 | 0.52–6.3 × measured |
| 5 | 0.60–2.9 × measured |
| 10 | 0.69–1.8 × measured |
| 20 | 0.76–1.5 × measured |
| 30 | 0.80–1.3 × measured |
Read the five-shot row slowly. A five-shot string that prints an SD of 10 fps honestly means “somewhere between 6 and 29 fps.” Two rungs printing 10 fps and 18 fps off five shots each are not distinguishable in any meaningful sense: their ranges overlap across most of their length. Ranking a ladder by five-shot SD is ranking noise, confidently. For what the number means once you have enough of them, see what is a good SD for reloading.
What it would actually take
If a real difference between two charges does exist, how much shooting proves it? Expressed in multiples of your own string SD, and asking only for an 80% chance of detecting a difference that is genuinely there:
| True difference between two rungs | Rounds needed at each rung |
|---|---|
| 1.0 × your SD | about 16 |
| 0.75 × your SD | about 28 |
| 0.5 × your SD | about 63 |
| 0.25 × your SD | about 250 |
With that same 15 fps SD, catching a genuine 15 fps gap between two rungs takes roughly 16 rounds on each of them. A genuine 8 fps gap takes about 63 on each. A ten-rung ladder at three rounds per rung spends 30 rounds and resolves none of it. Separating spread rather than average is harder again: showing that one charge’s SD is truly 20% lower than another’s needs on the order of 160 rounds at each, a third lower needs about 50 at each, and only something close to a halving is catchable inside a normal session, at about 17 rounds each.
That is the honest finding, not a reason to distrust the arithmetic. It also explains why experienced shooters disagree so permanently about nodes: at these sample sizes, everybody’s data supports everybody’s position. A ladder is a reasonable way to narrow a field and to confirm that velocities and pressure signs are behaving. It is a poor way to crown a winner. The same limitation applies to the round-robin variant, as covered in ladder test vs OCW.
What honest load development looks like
Giving up on crowning a node from one range trip is not giving up on load development. It changes what you ask of the data:
- Log every shot, permanently. Five three-shot strings at one charge, pooled across five sessions, tell you far more than any single one of them ever will. The only route to a useful sample size is to stop throwing the old ones away.
- Chronograph everything, not just development strings. Practice rounds carry the same information. Pulling every shot off the device automatically makes this painless: see getting velocity data off your Garmin Xero.
- Compare ranges, not points. “0.6 MOA” from one five-shot group really means “somewhere between about 0.4 and 1.0 MOA.” Measure consistently first: how to measure group size in MOA, and prefer mean radius over extreme group size, which extracts more information from the same shots.
- Let overlap be the answer. When two charges’ ranges overlap, the correct conclusion is “not separated yet,” not “pick the lower number.” That is a real result, and acting on it saves barrel life.
- Change one variable at a time and re-shoot promising candidates on a different day, at a different temperature. A result that survives sessions is worth something. A result that moves was noise.
- Decide on cost. Once you know a separation would need 60 rounds per charge, you can make an adult decision about whether that answer is worth the barrel, instead of pretending 15 rounds already delivered it.
How LoadNode compares charges instead
LoadNode used to highlight flat spots in a ladder. It does not any more, because the arithmetic above says a flat spot in a short ladder is usually noise, and an app that points at noise with confidence is worse than an app that says nothing.
What the Compare screen does now is pool every group and every string you have recorded at each charge weight, then report dispersion and velocity spread as ranges rather than single numbers, because a range is what the data honestly supports. Where two charges overlap inside that uncertainty, it says plainly that they are within noise instead of picking one. Where they overlap, it also estimates how many more rounds at each charge it would take to separate them, so the decision to keep shooting is yours and it is informed. It never marks a charge as best and it never declares a velocity node. The useful question stops being how to find a velocity node in an afternoon and becomes how much separation your own data can honestly show, which across a few hundred logged rounds is worth considerably more than a plateau you spotted once. Browse more reloading resources to go deeper.
Handloading is an adult activity. LoadNode is a logbook and analysis tool: it never provides load data. Always develop loads from current published data, start low, and work up safely.