Chronograph data: what to record and why
By Rob Bazinet · · 7 min read
The chronograph is the single most important piece of test equipment most handloaders own, and it’s also the piece of equipment most likely to generate data that gets logged badly.
The reason isn’t that handloaders don’t understand the numbers. It’s that the chronograph hands you a wall of numbers per string, and most of them are noise. Knowing which ones are signal — and which ones are worth writing down for a load you might want to reproduce in two years — is the difference between a chronograph being a development tool and being a $400 stopwatch.
This is a practical guide to what to record from a chronograph session, and what to leave on the screen.
The shots vs. the string
A typical chronograph session gives you two layers of data.
Individual shot velocities. What each round measured. Useful while you’re shooting, for spotting fliers and pressure drift. Less useful once the session is over — unless a specific shot had a story worth keeping.
String statistics. Average, standard deviation, extreme spread, sample size. These are the numbers a load is described by.
HandloaderPro keeps both layers and computes the string stats from the per-shot data for you. If you have a CSV export from your chronograph (Garmin Xero is supported today), import it and you’re done. If you don’t, you can enter velocities by hand on the new-session form. The app does the math; you bring the numbers.
The point of keeping both layers is that the per-shot data lets you look back at a flier later and decide whether to trust it. The string stats are what you’d quote to a friend.
The numbers worth keeping
For every load you chronograph, the app records or computes these.
Sample size. How many rounds were in the string. A 3-shot SD is approximately meaningless. A 10-shot SD starts being useful. A 20-shot SD is honest. On a chronograph session’s detail page, HandloaderPro tags SD and ES as “small sample” when fewer than 10 shots were captured, so future-you knows how much to trust the number. The list pages don’t show that tag — they show the raw stat next to the shot count, and you can do the same math.
Average velocity (mean). The middle of the string. The number you’d quote to a friend. This is the number that pairs with your charge weight and barrel length to identify the load.
Standard deviation (SD). How tightly the velocities cluster around the mean. SD is the number to chase if you care about long-range consistency, because velocity variation is what spreads your vertical at distance. Most handloaders have a sense of what “good” looks like for the cartridge and barrel — under 10 for a tuned load is a reasonable bar for many bottlenecks, more is acceptable, less is usually a clue you’ve found a real node.
Extreme spread (ES). Difference between the highest and lowest shot in the string. Less informative than SD because it’s just two data points, but it’s the number that screams loudest when something is genuinely off (one shot 60 fps off the rest is interesting and SD won’t say so as clearly).
That’s the bulk of it. Four numbers per load, all computed automatically from the velocities you enter. The first one (sample size) is the one that determines whether the other three are worth anything, which is why the app calls it out when it’s small.
What’s worth a note, not a number
Some things deserve a free-form note, not a stats field. HandloaderPro gives you a session-level notes field and a per-shot notes field. Use them for the things that don’t fit a column.
Conditions. Temperature most importantly. Powder velocity is temperature-sensitive in degrees-per-fps amounts that absolutely add up between a 40°F morning and an 85°F afternoon. Write down the temp in the session notes.
Distance from chronograph. Three feet, ten feet, fifteen. Doesn’t affect chronograph numbers much in absolute terms, but consistency between sessions matters if you’re going to compare strings honestly. Note it once in your typical session notes and use the same distance every time you can.
Chronograph make and model. A 2,762 fps reading from a LabRadar and a 2,762 fps reading from a MagnetoSpeed have ever-so-slightly different meanings, because they measure at different points in the bullet’s flight. Future-you, looking at the number a year from now, will appreciate knowing which one it came from. Drop it in session notes.
Fliers. One round that came in 80 fps low. Use the per-shot notes field. Was there a hangfire? Did the round feel weird going in? Did you flinch? A flier with a story is sometimes worth excluding from the SD calculation — for now the app keeps all shots in the math, but the note travels with the shot so you can decide later.
Pressure signs at velocity. This is the joining of two layers — your chronograph tells you a charge weight is hitting 2,810 fps; your bolt lift tells you whether you should be there. Pressure trumps velocity. Always. Put it in session notes.
Setup quirks. Indoor, outdoor, off a tripod, off a bench, ambient light conditions. Optical chronographs especially can give you weird readings under fluorescent lights or in cross-lighting. Notes about setup help you spot a “5-shot string with one number 200 fps off” as a setup problem, not a load problem.
The bigger number to ignore
Many chronograph apps now offer min, max, mean, median, mode, SD, ES, kurtosis, skewness, coefficient of variation, and 95% confidence interval for every string.
Most of that is statistical theater applied to a 10-shot sample.
A 10-shot sample of muzzle velocities is not a population. It’s a tiny sample of a much larger distribution. Higher-order statistics like kurtosis and skewness require a real sample size to be meaningful — hundreds of shots, not tens. Recording them for a 10-shot load development session is recording numbers that look precise without being informative.
HandloaderPro deliberately doesn’t compute those. Stick with mean, SD, ES, sample size. They are the numbers that handloaders have used for fifty years to evaluate loads. They are still the numbers worth keeping.
How chronograph data ties into the rest of the session
A chronograph reading in isolation is interesting but not actionable. The reading-plus-recipe is actionable.
This is the reason every chronograph session in HandloaderPro is attached to a reloading session. You can’t log chronograph data floating in space — it’s always pinned to a load. From any reloading session you can spawn many chronograph sessions, which is the right shape for a reloading log: one batch of ammunition, many range trips through many firearms.
If your log only contains “average 2,762, SD 6.3” with no recipe attached, you have a chronograph string. You don’t have a load. Even if the numbers look great.
There’s a related guide on the other two layers of session data and why most reloading notes go bad in two years — recipe and context. Chronograph numbers without the other two layers are an anecdote.
A note on chronograph types
This isn’t a chronograph review, but a quick note since the data quality depends on it.
Optical chronographs (the classic screen-and-rod design) are accurate when set up well and prone to noisy readings when lighting is wrong. The fix is usually a diffuser or moving the chronograph to consistent light.
MagnetoSpeed-style (bayonet-mount, magnetic) are usually consistent but slightly higher than optical readings of the same shot due to where they measure — close to the muzzle. Don’t compare numbers between chronograph types without acknowledging that.
Doppler radar chronographs (LabRadar, Garmin Xero, etc.) give you a velocity per shot and downrange retained velocity, are easy to set up, and produce some of the cleanest data available to amateur handloaders. HandloaderPro can import Garmin Xero CSV exports directly today; other formats are on the roadmap. Until they’re in, manual entry works for any chronograph — read the velocities off the screen and type them in.
Whichever you use, note which one in the session notes. Future-you will appreciate knowing.
The short version
For each load, in each chronograph session, HandloaderPro asks for:
- Firearm and barrel length
- Date and time
- Per-shot velocities (or a CSV import if your chronograph exports one)
- Optional per-shot cold-bore / clean-bore flags and notes
- A session-level note
From the velocities, the app gives you sample size, average, SD, and ES, and computes kinetic energy and power factor against the projectile weight from the parent reloading session. SD and ES get a small-sample tag when the string is under 10 shots.
Put the conditions, temperature, distance from chronograph, chronograph make, pressure signs, and anything unusual in the session note. Put flier-specific context in the shot’s own note.
Then go shoot the load again next season and see if those numbers reproduce. The point of writing them down is so you can answer that question.