Ballistics Methodology: How We Verify Every Figure

This is the ballistics methodology behind every ballistics page here: the equations, the constants, where each comes from, and what is checked before publishing.

Every ballistics page on this site is built the same way, and this page is the full description of how — the equations, the constants, where each one comes from, what we check before publishing a number, and what we refuse to estimate. It exists so that the cartridge pages can stay about the cartridge, and so that anyone who wants to check our arithmetic can do it without our help.

The short version. A manufacturer publishes two numbers for each load: a muzzle velocity and a ballistic coefficient. Those two numbers, plus a standard drag model, determine the entire trajectory table. So we re-solve every published table from its own inputs and compare. Where the maker publishes no coefficient, we recover one by fitting the model to their own velocities — and we prove that recovery works by testing it on the loads where the answer is already published.

The ballistics methodology, in four steps

  1. Recover what the manufacturer has not published, by fitting the model’s one free parameter to the numbers they have.
  2. Validate the recovery where the answer is already known. If the method cannot return a published coefficient it was not shown, it is not entitled to produce one that does not exist.
  3. Audit the published table against its own arithmetic, and publish every residual rather than a summary of them.
  4. State the limit of the evidence — what the data cannot distinguish, and what we are inferring rather than demonstrating.

The equations, in plain text

Diagram of the ballistics methodology used on this site: the five point-mass equations for drag deceleration, Mach number, speed of sound, vertical acceleration and muzzle energy, with the derivation of the drag constant k
Every number on this site comes out of these five lines. The drag constant k is derived from the definition of the G1 standard projectile, not fitted to make results look right.

The bullet is treated as a point mass under gravity and aerodynamic drag, integrated with a fourth-order Runge-Kutta step:

drag deceleration = k × Cd(Mach) × S × speed² ÷ BC
Mach = speed ÷ speed of sound
speed of sound (fps) = 49.0223 × sqrt(temperature in degrees Rankine)
vertical acceleration = drag component − 32.174 ft/s²
energy (ft·lb) = bullet weight (gr) × velocity (fps)² ÷ 450240

The launch angle is found by bisection so that the path crosses the line of sight at the chosen zero. Wind deflection is the standard lag-time result: drift = crosswind speed × (actual flight time − range ÷ muzzle velocity).

Where the drag curve comes from

Cd(Mach) is the tabulated G1 drag function — 79 Mach and drag-coefficient pairs published by JBM Ballistics from Ballistic Research Laboratory data — used exactly as published, with linear interpolation between points. The G7 function, used where a manufacturer publishes a G7 coefficient, comes from the same source. We do not smooth, refit or substitute either curve.

Where k comes from

It is not a tuning constant. The G1 standard projectile is defined as one inch in diameter weighing one pound, which gives it a ballistic coefficient of exactly 1. Putting those figures into the drag equation at standard sea-level density:

k = ½ × ρ ÷ g × A × g ÷ w, where ρ = 0.0764729 lb/ft³, A = π/4 × (1/12)² = 0.00545415 ft², w = 1 lb
k = 2.085510 × 10⁻⁴

Because that derivation uses the ICAO standard density, every air-density figure on this site is expressed relative to ICAO.

Numerical accuracy

Halving the integration step changes the 500-yard velocity by less than 0.05 fps and the 500-yard drop by less than 0.01 inch. The solution is converged far inside the precision of any published figure it is compared against, so every residual we publish is a property of the data and not of our arithmetic.

The offset between a published coefficient and the table beside it

Hold a maker’s own muzzle velocity fixed, integrate its own published coefficient on the standard G1 drag function in the ICAO standard atmosphere, and the result runs slightly fast against the maker’s own printed velocities. Recovering the coefficient that does reproduce the row gives a number a little higher than the one on the box. Across the 40 well-behaved factory tables in this release — four cartridges, four manufacturers, 62 to 395 grains, 1,050 to 3,450 fps — the recovered coefficient sits 0.05% to 9.5% above the published one, with a median of 1.75%. Most loads cluster tightly: Federal 1.66% to 2.10%, Winchester 1.59% to 1.69% across all but one load, Hornady 1.35% to 2.00% across all but two.

We previously presented that offset as a measurement of the air these tables were computed in, and gave a figure of 0.9812 relative to ICAO. That was wrong, and this is the correction. In the drag equation air density and ballistic coefficient appear only as a ratio. A 1.9% reduction in density and a 1.9% increase in the coefficient are not merely hard to tell apart — they are the same arithmetic, and a velocity table pins the ratio and nothing else. The “drag scale” we reported is algebraically identical to published coefficient divided by recovered coefficient. It is a restatement of the offset, not independent evidence about the atmosphere, and it could never have been. The one term that could separate the two readings is the speed of sound, which is 0.21% higher in humid Standard Metro air; we tested that and its effect on these tables averages 0.6 fps, smaller than the rounding in figures published to the nearest whole foot per second. The test is underpowered and it does not settle the question.

Two things we said followed from it do not. The offset is not uniform across the industry: two Hornady 6.5 PRC loads in this release reproduce at their printed coefficient to within 0.05% and 0.12% — no offset at all — while one Winchester 6.5 PRC load sits at 9.5%. And we cannot say which atmosphere any maker used. The Army Standard Metro atmosphere — 59°F, 29.53 inHg, 78% relative humidity, against the ICAO standard of 59°F, 29.92 inHg and dry air — gives a density ratio of 0.9819, which is close to the median offset. That is a coincidence worth noticing and it is not a finding. No maker in this release states the atmosphere its tables were computed in, in any page or interface we retrieved.

What survives, and what it is good for. The offset itself is real, measured, and reproducible from each maker’s own two published numbers. It is why an app fed the coefficient from the box runs about one to two percent fast at distance against the table printed beside it. If you want to match the figures on the box, use the factory setting in our calculators. If you want to know where the bullet goes on a real day, enter your own conditions. Every caliber page prints both coefficients and the residual, so you can check this on any load without taking our word for it.

Sourcing rules in this ballistics methodology

  • Every manufacturer figure is taken from the manufacturer, not from a retailer, an aggregator or another publisher, and the exact page is linked beside the number.
  • Every figure is re-fetched before publication, and the load-bearing ones are re-fetched again after the page is written.
  • A figure we cannot re-query is provisional. Anything read off a chart, a scanned document or a file we cannot check again is treated as unverified until it is confirmed from a source that can be re-read.
  • We do not average two authorities who disagree. Where two sources conflict, both are shown and the conflict is the finding.
  • Negative claims get extra checking, and they are scoped to what we retrieved. Saying a company does not publish something is a claim about that whole company; before writing one we check the product page, the brand’s cartridge microsite and FAQ, and any calculator application the brand runs, and we write the sentence as a statement about the sources we retrieved rather than about the company. We have had that sentence wrong before, which is why the rule exists.

What this ballistics methodology will not guess

  • Terminal performance. Nothing we publish describes what a bullet does on arrival. Energy is arithmetic, not wounding.
  • Legal or ethical adequacy for game. Minimum-caliber and minimum-energy rules are set by each state and change.
  • A G7 coefficient where the maker publishes only G1. Converting between drag models by rule of thumb adds more error than it removes.
  • Velocity per inch of barrel, unless the manufacturer has published measurements at two barrel lengths for that specific load — and then only between those two lengths.
  • Which atmosphere each maker actually used. We measured the offset between the published coefficient and the published table and showed our working. That measurement cannot distinguish an atmosphere from a coefficient, so we draw no conclusion about the air.

What these numbers are worth

A figure printed to the nearest foot per second is not automatically good to the nearest foot per second. These are the things that move a computed velocity on this site, each one measured over the 61 loads in this release that fit a single coefficient rather than assumed.

Uncertainty budget for computed velocities, measured across the 61 loads in this release that reproduce on a single coefficient.
ComponentVelocity
integration step (dt 2×10−4 s against 2×10−5 s)0.000 fps
published coefficient rounding, at each maker’s own printed precision1.022 fps
table reproduction residual (rms over loads)0.464 fps
Combined standard uncertainty1.12 fps
Expanded, k = 22.24 fps

Two things follow. The solver is not the limit: halving the integration step moves a velocity by 0.000 fps, so the integrator contributes nothing measurable. What sets the figure is the rounding of each maker’s own printed coefficient, computed per load at the precision actually printed — every maker in this release publishes three decimals, on all 61 loads, verified against the archived bytes. The worst single load in the release is 1.70 fps. Loads whose published rows fit no single coefficient are disclosed on their own pages and excluded here.

Corrected 2026-08-24. This section previously carried a different budget: a combined 2.4 fps and an expanded 5 in, measured across six loads and five distances on a 150-yard zero, with a drop column beside the velocity one. Two of its rows do not survive. Its largest component, “single drag scale against per-load spread”, belongs to a reading of the evidence this site has since withdrawn — the per-load scale turned out to be algebraically identical to the published coefficient divided by the recovered one, and to carry no information about the air, which is set out under the offset heading above. A separate working file also carried an expanded figure of 11.7 fps; that was an artifact of reading each coefficient’s precision back from a parsed float, which deletes trailing zeros, and it contradicted every page it was written to explain by a factor of four to seven. The table above replaces both. The drop column is withdrawn rather than carried over: it has not been recomputed under the corrected model, and publishing a drop uncertainty derived from the withdrawn one would be worse than publishing none.

Who writes and checks this

These pages are written and checked by , 07/02 NFA firearms manufacturer and professional gunsmith. James is an 07/02 NFA Firearms Manufacturer, a professional gunsmith with over 20 years of experience, and a firearms writer, photographer and firearms expert.

If you think a figure here is wrong, point to it and to the source you think it should be. Substantive corrections are made on the page with a dated note saying what changed. I do not rewrite silently.

How to check our work, and how to tell us we are wrong

Every ballistics page publishes the inputs it used — each load’s published muzzle velocity, its published coefficient, the test barrel and zero each figure belongs to, and the maker’s full published velocity row — together with the worst and root-mean-square residual between our reconstruction and that row. Nothing that goes into a figure is held back, so any of it can be reproduced with the equations above and a spreadsheet. The tables themselves remain the manufacturers’ published content; we link each one rather than relicensing it.

These pages re-derive manufacturers’ published figures from those manufacturers’ own stated inputs and print the residual. Where a maker publishes two figures for the same thing, both are shown, the page says which one it uses and why, and it states that the reason for the difference is not published. We take no view on it. That standard obliges us to hold our own arithmetic to the same one: if you can show a figure here does not reproduce, the page changes and the change is dated. Point to the number and the source, and that is enough.

Sources

Data updated September 2026.

Method last reviewed August 2026. Guns and Gadgets Daily is not affiliated with any manufacturer named on this page, and all product and company names are the marks of their respective owners.