Truing your ballistic solver the right way
Your solver says 8.2 MRAD at 800 yards. You dial it, send the round, and watch the splash a half-mil low. So you bump muzzle velocity up 30 fps in the app and call it trued. That's not truing. That's guessing with extra steps.
A ballistic solver is only as good as the inputs you feed it. Muzzle velocity from a chronograph has measurement error. Published BC values are averaged across velocity bands and may not match your barrel length, your lot of bullets, or your actual drag profile. Environmental sensors drift. Even your scope's tracking might be off by a fraction of a percent. All of these errors compound at distance, and the solver can't fix what it doesn't know about. Truing is the systematic process of using real field impacts to correct those input errors so your predicted trajectory matches reality.
Done right, truing gets your solver inside 0.1 MRAD of observed impact at every distance you're likely to shoot. Done wrong; adjusting the wrong variable, using bad data, or truing at a single distance; it can actually make your solver less accurate beyond the distance you trued at. Here's how to do it right.
What truing actually corrects
Every ballistic solver runs the same basic physics: given a muzzle velocity, a drag model, atmospheric conditions, and a line of departure, it integrates the equations of motion to predict where the bullet will be at any range. The two dominant input errors that cause predicted trajectory to diverge from observed trajectory are muzzle velocity (MV) and the ballistic coefficient (BC) or drag model.
MV error shifts the entire trajectory. If your actual MV is 15 fps lower than what you've entered, the solver will underpredict drop at every distance, and the error grows roughly proportional to range. A 20 fps MV error on a 6.5 Creedmoor 140 ELD-M at 2,700 fps produces about 0.1 MRAD of drop error at 500 yards and roughly 0.3 MRAD at 1,000. That's the difference between center mass and a marginal hit on a small steel target.
BC error behaves differently. Because BC describes how quickly the bullet decelerates, a BC error produces an error that accelerates with distance. At close range, BC barely matters, the bullet hasn't slowed down much. At long range, BC error dominates. A 3% BC error on that same 140 ELD-M might produce negligible error at 400 yards but 0.2–0.3 MRAD at 1,000.
This difference is why truing at a single distance is dangerous. If you true MV to match observed drop at 600 yards but your BC is also wrong, you'll get a perfect solution at 600 and increasingly wrong solutions as you move away from it in either direction. The solver can't distinguish between MV error and BC error from a single data point. You need multiple distances.
Before you shoot: getting your inputs right
Truing is a correction process, not a setup process. If your baseline inputs are garbage, truing becomes an exercise in compensating for large errors with other large errors. Start clean.
Muzzle velocity
A magnetospeed or labradar chronograph reading, averaged over at least 10 rounds from the same lot of ammunition, is the baseline. Optical chronographs are less reliable for absolute MV but fine for measuring ES and SD. If you're using a magnetospeed on a suppressed rifle, be aware that the suppressor changes the barrel harmonics and the MV reading may shift slightly versus unsuppressed, though the MV itself also changes. Record whether you chronographed suppressed or unsuppressed, and shoot your truing session the same way.
Write down the atmospheric conditions at the chronograph session: temperature, pressure, humidity. Your solver needs density altitude or station pressure, not just "it was a nice day." If you chronographed at 95°F and sea level, and you're truing at 40°F and 5,000 feet, the solver needs to account for the MV change from temperature-sensitive powder. Some solvers have a powder temp coefficient setting. Use it if you have the data. If you don't, chronograph again in conditions closer to your truing session.
Drag model
This matters more than most shooters realize. G1 and G7 are standard drag models, mathematical descriptions of how a reference projectile decelerates. G1 is based on a flat-based projectile shape. G7 is based on a boat-tail spitzer shape. Most modern long-range bullets are boat-tail designs, so G7 is a better fit and produces less error across the velocity envelope.
But neither G1 nor G7 is a perfect match for any specific bullet. That's why custom drag models exist. Applied Ballistics has published custom drag curves for hundreds of bullets, and solvers like the Kestrel 5700 Elite, Applied Ballistics Mobile, and Hornady 4DOF use bullet-specific profiles rather than a single BC number. Data from PrecisionRifleBlog testing showed that custom drag models reduced trajectory prediction error by roughly 50% compared to G7 BC, and G7 was already substantially better than G1 for boat-tail bullets.
If your solver supports custom drag models, use them. If it doesn't, use G7 BC for boat-tail bullets. If you're stuck with G1, understand that your BC is velocity-dependent and a single G1 number will be increasingly wrong as the bullet slows below about 2,000 fps.
Scope tracking
Here's one people skip. If your scope doesn't track perfectly, say it's 97% on elevation, then your observed impact at 10 MRAD of dialed elevation will be 0.3 MRAD low, and you'll blame the solver. Before truing your ballistic solver, verify your scope tracks correctly. A tall target test at 100 yards is the standard method: dial 5 MRAD up, shoot, measure the actual shift on paper, compare. If your scope is off by more than 1–2%, either correct for it in your solver (some allow a tracking correction factor) or get a different scope.
Zero
Your zero distance and zero conditions matter. A 100-yard zero established at 90°F will shift at 30°F if you're using temperature-sensitive powder. If your zero is off by 0.1 MRAD, that error carries through to every distance. Confirm zero on the day of your truing session, in the conditions you're shooting in.
The truing session: setup and protocol
This is a range day with a specific purpose. Treat it like data collection, not practice.
Conditions
Pick a day with minimal wind. You're isolating vertical (drop) error. Wind adds horizontal uncertainty and, through aerodynamic effects, can also affect vertical impact slightly. Single-digit wind, under 5 mph, is ideal. If you can't get calm conditions, at least shoot when the wind is consistent in direction and speed, and use your solver's wind correction. But understand that any wind call error contaminates your drop data.
Temperature, pressure, and humidity need to be measured at the firing line. A Kestrel or similar weather meter is non-negotiable for this. Station pressure, not barometric pressure (which is corrected to sea level). Most Kestrel units with Applied Ballistics built in will feed conditions directly into the solver. If you're using a phone app, manually enter the data from your weather meter.
Distances
You need a minimum of three distances, and more is better. The logic: MV error and BC error produce different error curves across distance. With three or more data points, you can separate the two.
A good spread for a 6.5 Creedmoor or .308 Win:
300 yards (confirms zero extrapolation and catches gross errors)
500 yards (MV error starts showing up clearly)
700 yards (BC error begins to dominate)
900–1,000 yards (BC error is fully expressed)
If you only have access to 600 yards, you can still true MV reasonably well, but you won't be able to validate BC independently. That's a limitation, know it and accept it.
Use a target with a precise aim point at each distance. Steel is fine for confirming hits, but paper or cardboard gives you measurable impact data. Shoot at paper targets with grid lines or known dimensions so you can measure the vertical offset between your aim point and your group center.
Shot protocol
At each distance:
Fire a minimum of 5 rounds, ideally 10. You need enough shots to establish a reliable group center. A single shot could be a flier, a wind gust, or a trigger pull error. Five shots gets you close. Ten shots gets you confident.
Aim at the same point every time. Don't chase impacts. Dial your solver's predicted come-up, hold center, and shoot. You're measuring the difference between where the solver says the bullet should go and where it actually goes.
Record everything: distance, come-up dialed (in MRAD or MOA), observed group center offset from aim point (in MRAD or MOA), number of rounds, atmospheric conditions, and the time. Conditions can change over the course of a session. If temperature drops 10 degrees between your 300 and 900 yard strings, that matters.
Shoot the closer distances first. Your barrel is cooler, your confidence in conditions is higher, and you're building data progressively. If something looks wildly off at 300, stop and troubleshoot before burning ammo at 1,000.
Range notes: what a truing data sheet looks like
This data tells a story. The 300-yard impact is essentially dead on. The error grows with distance and accelerates. That pattern, small error close, growing error far, could be MV, BC, or both. The next step is figuring out which.
Analyzing the data: MV vs BC
This is where most people get it wrong. They see "low at distance" and bump MV up until the furthest distance matches. That fixes one point and can break others.
The MV-first approach
Bryan Litz and the Applied Ballistics team recommend truing MV first, using data from moderate distance, around 400 to 600 yards for most rifle cartridges. At these distances, MV error is the dominant factor and BC error hasn't fully expressed itself yet.
Here's the method:
Look at your observed error at 500 yards (or your mid-range distance).
In your solver, adjust MV until the predicted drop at 500 yards matches your observed drop.
Don't touch BC yet.
In the example above, the solver predicted 3.4 MRAD at 500, and the actual impact was 0.1 MRAD low (meaning the bullet needed 3.5 MRAD). Increasing MV by roughly 8–12 fps (the exact amount depends on the cartridge) would close that gap.
After adjusting MV, recheck the predictions at your other distances. If the error at 700 and 1,000 is now also resolved, your problem was purely MV and you're done. More often, you'll find that the mid-range distances are now correct but the far distances still show some residual error. That residual is your BC error.
Adjusting BC
Once MV is trued, look at the remaining error at your longest distance. If you're still 0.2 MRAD low at 1,000 after truing MV at 500, your BC is slightly too high, the solver thinks the bullet retains velocity better than it actually does.
Reduce BC by small increments (1–2% at a time) until the predicted drop at your longest distance matches observed. Then go back and verify that the mid-range distances still look good. If adjusting BC throws off your mid-range data, you've got a different problem, possibly scope tracking error, a zero issue, or inconsistent conditions during the session.
With custom drag models, you typically don't adjust BC directly. Instead, some solvers let you apply a "drag scale factor", a multiplier on the entire drag curve. A drag scale factor of 1.02 means the bullet experiences 2% more drag than the model predicts. This is functionally similar to reducing BC by 2% but maintains the shape of the drag curve across the velocity envelope, which is more physically accurate.
What the numbers should look like
After truing, your MV adjustment should be within about 20–30 fps of your chronographed value. If you're adjusting MV by 50+ fps to make the solver work, something else is wrong, bad chronograph data, incorrect zero, scope tracking issues, or the wrong drag model entirely.
Similarly, your BC adjustment should be within about 5% of the published value. If you're adjusting BC by 10% or more, you're likely compensating for an MV error or using the wrong drag model (G1 instead of G7, for example).
If both adjustments are within these bounds and your solver now matches observed drop at all distances within 0.1 MRAD, you're trued. If you can't get all distances to agree simultaneously, there's a systematic error in your setup that truing can't fix.
Common mistakes
Truing at one distance
Already covered this, but it's the single most common error. One data point can't separate MV from BC. You'll get a solution that works at that distance and diverges everywhere else. Two distances is the minimum for separating the variables. Three or more gives you redundancy to catch bad data points.
Truing in heavy wind
Wind doesn't just push the bullet sideways. A crosswind changes the bullet's effective velocity slightly and can induce vertical dispersion through spin drift interactions and aerodynamic jump. If you're trying to measure 0.1 MRAD of vertical offset and you've got a 15 mph crosswind with gusts, your vertical data is contaminated. Wait for a better day or shoot early morning when conditions are typically calmer.
Using too few rounds per distance
Three shots at 700 yards is not a reliable group center. Your group size at 700 might be 0.5–0.8 MRAD, meaning any individual shot could be 0.3 MRAD from true center. With three shots, your estimated group center could easily be 0.1–0.15 MRAD off from the actual mean point of impact. That's the same magnitude as the error you're trying to measure. Five shots is the practical minimum. Ten is better.
Adjusting BC first
Some shooters skip MV and go straight to BC adjustment because "BC affects long range more." True, but if your MV is wrong, you'll overcorrect BC to compensate, and the resulting solution will only work across a narrow range band. MV first, then BC. Always.
Ignoring powder temperature sensitivity
You chronographed in July at 95°F and got 2,710 fps. Now it's November, 38°F, and you're truing. Your actual MV might be 2,660 fps. If you don't account for this, you'll "true" your MV to 2,660 and then wonder why the solver is wrong again in spring. Use a powder temp coefficient if your solver supports it, or re-chronograph in conditions representative of when you'll actually be shooting.
Solver comparison: where you do this matters
Not all solvers handle truing the same way. The differences matter.
Kestrel 5700 Elite with Applied Ballistics
The Kestrel's built-in AB engine uses custom drag models for supported bullets and allows truing by adjusting MV and a drag scale factor (DSF). The workflow is straightforward: enter your gun profile, go to the target range card, and use the truing function. You input the observed drop at a given distance, and the unit calculates the MV or DSF adjustment needed. The Kestrel also captures live atmospheric data, which eliminates one source of input error. The limitation is the small screen and somewhat clunky interface for data entry. It's best used as the field tool after you've done your initial analysis.
Applied Ballistics Mobile (phone app)
Same AB engine as the Kestrel but with a better interface for data entry and analysis. Supports the same custom drag models and truing workflow. You can pair it with a Kestrel via Bluetooth for live weather data. The AB Analytics package adds the ability to input multiple observed data points and let the software calculate the best-fit MV and DSF simultaneously, this is the most rigorous approach and the one that best separates MV from BC error.
Hornady 4DOF
Hornady's solver uses a four-degree-of-freedom flight model that accounts for spin drift and aerodynamic jump natively. It uses bullet-specific drag data from Hornady's Doppler radar testing. Truing is done by adjusting MV. The 4DOF model doesn't expose a BC or drag scale factor to the user, the drag model is fixed. This is philosophically different: Hornady's position is that their drag data is accurate enough that you should only need to true MV. For Hornady bullets with Doppler-derived profiles, this works well. For non-Hornady bullets, you're relying on whatever profile they've built, which may be less precise.
Shooter (phone app)
A popular and capable solver that supports G1, G7, and custom drag models. Truing is manual, you adjust MV and BC yourself based on your field data. There's no automated truing function that ingests observed drops and calculates corrections. This means you need to understand the process well enough to do it yourself, which is arguably a feature, not a bug. You'll learn more about your system by manually iterating than by pressing a "true" button.
Revic Ops
Revic's solver, paired with their BR4 rangefinder or used standalone, supports custom drag profiles and has a truing function. The workflow is similar to AB, input observed data, adjust MV and drag. Revic's ecosystem is newer and has a smaller library of custom drag profiles, but it's growing. The BR4 rangefinder integration is a nice touch for field use.
The practical differences between these solvers, once properly trued, are small, usually under 0.1 MRAD at 1,000 yards. The bigger variable is always the quality of your input data and how carefully you true.
Advanced considerations
Transonic truing
As the bullet approaches the transonic zone (roughly Mach 1.0 to 1.2, or about 1,100–1,340 fps depending on conditions), drag behavior becomes unpredictable. Standard drag models, even custom ones, lose accuracy here because small differences in bullet geometry cause large changes in drag coefficient near Mach 1. For most 6.5 Creedmoor loads, the transonic zone starts around 1,200–1,400 yards depending on MV and altitude.
If you're shooting beyond the transonic boundary, truing with subsonic data is a different game. The drag curve fundamentally changes character, and adjustments that work in the supersonic regime won't extrapolate. Most practical precision shooters don't need to worry about this, if you're shooting PRS or hunting, you're rarely engaging targets in the transonic zone. But if you're pushing past 1,200 yards with a 6.5 CM or past 1,000 with a .308, be aware that your trued solution has a shelf life.
Lot-to-lot variation
Different lots of the same bullet can have slightly different BCs due to manufacturing variation in ogive shape, boat-tail concentricity, and tip uniformity. The variation is typically small, 1–2%, but it's real. If you true with one lot and then switch lots, verify at distance. Same goes for powder lots affecting MV.
Barrel life and MV decay
As your barrel wears, MV drops. A 6.5 Creedmoor barrel might lose 20–30 fps over its useful life (2,000–3,000 rounds for a competitive barrel). If you trued at round 200 and you're now at round 1,500, your trued MV is probably too high. Re-chronograph periodically, or re-true at mid-range distance every 500 rounds or so. Some shooters log MV over barrel life and apply a linear correction. That's the kind of obsessive data tracking that actually pays off.
Altitude and density altitude changes
If you true at sea level and then hunt at 8,000 feet, your solver handles the atmospheric density change, that's what it's for. But powder burn rate and MV also change slightly with altitude due to lower ambient pressure. The effect is small (a few fps) but measurable. More importantly, your bullet stays supersonic longer at altitude because the speed of sound decreases with lower air density. This extends your effective range and changes where the transonic boundary falls.
Putting it together: a complete truing workflow
Here's the sequence, start to finish.
First, build your gun profile with the best data you have. Chronograph MV over 10+ rounds, record conditions, use the manufacturer's G7 BC or a custom drag model if your solver supports it. Verify scope tracking with a tall target test. Confirm zero.
Second, pick your truing day. Low wind, stable conditions, access to at least 700 yards and preferably 1,000. Bring your weather meter, a notebook or phone for recording data, and enough ammo for 5–10 rounds at each distance (so 20–40 rounds minimum for four distances).
Third, confirm zero at 100 yards. If it's off, correct it before proceeding. Don't assume your last zero is still valid.
Fourth, shoot your distance strings. 300, 500, 700, 1,000 (or whatever distances you have access to). Dial the solver's predicted come-up at each distance. Record group center offset from aim point in MRAD or MOA. Record conditions at each string.
Fifth, analyze the data. Look at the error pattern. If error is roughly proportional to distance (linear growth), it's primarily MV. If error accelerates with distance (grows faster at longer range), there's a BC component.
Sixth, true MV using your mid-range data point (400–600 yards). Adjust MV in your solver until predicted drop matches observed at that distance.
Seventh, recheck all distances with the new MV. If long-range data now matches, you're done. If there's still residual error at long range that wasn't present at mid-range, adjust BC or drag scale factor using the long-range data.
Eighth, verify the complete solution. With your trued MV and BC, the solver's predictions should match observed impact within 0.1 MRAD at every distance. If they don't, look for systematic errors: scope tracking, zero shift, inconsistent conditions, or a bad drag model.
Ninth, log everything. Your trued MV, your BC or DSF adjustment, the date, round count on the barrel, ambient conditions, and the lot numbers of your ammo and bullets. This is your baseline. When something changes, new lot of ammo, 500 more rounds on the barrel, different altitude, you'll know what to re-validate.
Match notes: how this looks in practice
A trued solver should get you on steel at any distance within your cartridge's supersonic envelope without walking rounds. At a PRS match, that means first-round impacts on targets from 200 to 1,200 yards with only a wind call to worry about. The drop solution is solved. The wind call is the skill.
For hunters, a trued solver means confidence in a cold bore shot at 600 yards on an animal. No "let me check my drop chart and add a little extra." The chart is right. You verified it. That confidence isn't arrogance, it's the result of doing the work.
When to re-true
Truing isn't a one-time event. Re-true when:
You change ammo lots (bullets or powder). Even the same SKU from a different lot can shift MV by 10–20 fps and BC by 1%.
You've put 500+ rounds on the barrel since your last chronograph session. MV decay is real and gradual.
You're shooting in conditions dramatically different from your truing session, particularly temperature, if you haven't characterized your powder's temp sensitivity.
Your solver's predictions stop matching observed impacts. If you're consistently 0.1–0.2 MRAD off at distance and you've ruled out wind, it's time.
You change any component of the system: different scope, different suppressor (or adding/removing one), different bullet seating depth that might affect MV.
The good news is that re-truing is faster than initial truing. If you have a solid baseline, you usually only need to verify at one mid-range and one long-range distance to confirm or update your MV and BC values.
The drill to run next range day
If you haven't trued your solver, or if you trued it at a single distance and called it good, here's your next session.
Bring 40 rounds of your match or hunting ammo. Bring your weather meter. Set up paper or cardboard at 300, 500, and 700 yards minimum, further if you have it. Confirm zero. Shoot 5-round groups at each distance, dialing your solver's predicted come-up. Measure vertical offset from aim point to group center at each distance. Record everything.
Take that data home. Plot predicted vs observed drop at each distance. Adjust MV to match mid-range. Check long-range. Adjust BC or DSF if needed. Go back to the range and verify with 5 rounds at 500 and 5 at your max distance.
When the solver and the steel agree at every distance, you'll know. Not because you believe the numbers, because you verified them. Log it. Then trust the log.
