Wrist DopeWrist Dope

Nerd stuff · Field science

What are the odds of hitting a target at long range?

Your firing solution is one number. Your shots are a cloud.

Quick answer

It depends on three things you can measure: how tightly your rifle groups, how consistent your ammunition is, and how well you call wind. For a 1 MOA .308 with a 20 fps velocity SD and a ±1 mph wind call, our engine puts a deer's 10 by 12 inch vital zone at 99% at 400 yards, 79% at 600, and 18% at 1,000. Wrist Dope computes that percentage next to your firing solution.

A ballistic solver hands you one aiming point, and it is honest about the physics: that is where a perfect shot would land. But rifles scatter, powder charges vary, and nobody calls wind exactly. Fire the same shot a hundred times and you get a cloud of impacts, not a point. The useful question is what fraction of that cloud lands in the vital zone, and it turns out you can answer it exactly.

79%

Shots inside a deer's vital zone at 600 yards, for a 1 MOA rifle with a good wind call.

527yd

Where that same rifle drops below a 90% chance. Nothing about the rifle changed.

13pts

What halving your wind-call error is worth at 600 yards. Halving the group buys 7.

The idea

A solution is a prediction, not a promise

Every number a solver gives you assumes a perfect rifle, a perfect cartridge, and a perfect read of the air. Break any one of those and the bullet lands somewhere near the prediction instead of on it. Those three imperfections are not mysteries, though. Two of them are printed on your target and your chronograph, and the third is a number you can be honest with yourself about. Feed them in and the cloud stops being vague.

That is the whole idea behind the hit percentage in Wrist Dope. Lock a target size and the app carries the dispersion math alongside the elevation and wind holds, so the solution comes with a confidence attached to it rather than a bare aiming point.

The math

Three inputs, two axes, one exact answer

Each input becomes a standard deviation in inches at the target, and each one lands on a specific axis.

Wrist Dope load editor on iPhone showing the Consistency section with a 1.00 inch group size and a 20 fps velocity standard deviation
iPhone
The Consistency section of the load editor: Group Size 1.00 in and Velocity SD 20 fps, on a 175 gr bullet at 2600 fps with a G7 BC of 0.243. Those two are the app defaults for a new load, so the math has something sane to work with before you have measured anything. The study below runs the same bullet at 2,650 fps.
  1. 1. Rifle group size, both axes

    You enter the extreme spread of a five-shot group at 100 yards. Published order statistics for a circular normal spread put the expected five-shot extreme spread at about 3.0 standard deviations, so a 1.00 inch group is a 0.33 inch sigma. Angular dispersion scales with distance, so that becomes 2.00 inches at 600 yards. It applies equally sideways and vertically.

  2. 2. Ammunition velocity SD, vertical only

    The app solves your trajectory a second time with the muzzle velocity raised by one standard deviation, keeping the same zero elevation, and reads the difference in elevation hold. That difference is the vertical scatter a velocity spread causes. It is nearly nothing up close and grows fast: 0.04 inches at 100 yards, 1.98 at 600, 7.94 at 1,000.

  3. 3. Wind-call confidence, horizontal only

    The ± chip on the wind screen is not decoration. It is the standard deviation of your own wind-speed estimate, and it gets multiplied by the crosswind sensitivity at that range. For this .308 at 600 yards, 1 mph of wind is worth 3.20 inches, so a ±1 mph call is a 3.20 inch sigma. Angle matters too: the app scales by the crosswind component of the wind bearing against your line of fire, and assumes the full-value worst case when the direction is unknown.

The two axes are then assembled in quadrature. Vertical sigma is the group and the velocity term added as squares; horizontal sigma is the group and the wind term. The probability of landing inside a centered rectangle under independent normal errors is a product of two error functions, one per axis, and that is the number the app shows.

No dice are rolled. It would be easy to answer this question by firing thousands of random shots in software and counting. Wrist Dope does not. The error function integrates the whole distribution in closed form, which is both exact and cheap enough to recompute on a watch every time the wind changes. The animation below samples that same distribution; the math integrates what the animation samples.

See it

What the percentage actually looks like

Here is the cloud. Every dot is one shot drawn at random from the distribution described above, aimed perfectly at the center. Change the distance and nothing about the rifle changes; only the scatter grows. Watch the running tally chase the computed value.

300 shots from the same distribution the app integrates

A 1 MOA .308 with 20 fps velocity SD and a ±1 mph wind call, fired at a deer's 10 by 12 inch vital zone. The aim point is perfect every time; only the dispersion is random.

deer vital zone · 10 × 12 in · 600 yd12 in

hits / shots = 0 / 0 =

computed: 78.8%

σ 3.77 in wide · 2.81 in tall

inside the vital zonemissaim point

The dots are drawn at random from the bivariate normal the app's math integrates in closed form, which is why the tally wanders toward the computed number instead of landing on it. At 300 shots a tally taken at the 600-yard value is still only good to about ±4.6 points at 95% confidence, which is the cost of counting instead of integrating. A few of the widest 900-yard shots land outside the frame; they count as misses in the tally.

At 300 yards the cloud fits inside the vital zone with room to spare, which is why the honest answer there is that the rifle is not the limiting factor. At 900 yards the cloud is wider than the animal. Nothing has gone wrong. It is the same rifle, the same ammunition, and the same wind call, stretched over three times the distance.

Finding 1

The curve falls off a cliff, and not where you think

Plotted against distance, the hit percentage is flat and boring for 400 yards and then collapses. Most of the interesting range is compressed into a few hundred yards in the middle.

Odds of putting one shot in a deer's vital zone

1 MOA .308, 20 fps velocity SD, ±1 mph wind call, full-value crosswind. Target 10 by 12 inches.

020406080100percent of identical shots landing inside the vital zone2004006008001000distance to target (yards)90%50%527 yd752 yd
See the numbers
Distanceσ vertical (in)σ horizontal (in)Hit %
100 yd0.340.34100%
200 yd0.690.73100%
300 yd1.081.23100%
400 yd1.531.8799.2%
500 yd2.102.7093.2%
600 yd2.813.7778.8%
700 yd3.745.1259.8%
800 yd4.966.7841.7%
900 yd6.548.8327.5%
1,000 yd8.6111.3217.5%

Better than 95% out to 481 yards. Below 90% at 527. Coin-flip odds at 752. The rifle that is a sure thing at 400 yards is a maybe at 600 and a gamble at 800, and the only thing that changed is how much time the bullet spends in the air.

Same shot, different animal

Hold the distance at 600 yards and change only the vital zone. The target size is the other half of the equation, and it is the half you do not control.

Vital zone at 600 ydSizeHit %
Prairie dog3 × 8 in26.1%
Coyote8 × 10 in65.7%
Deer10 × 12 in78.8%
Mule deer11 × 14 in84.4%
Elk14 × 18 in93.5%

Finding 2

Your wind call is the problem, until it is your ammunition

Break the scatter into its three sources and they grow at very different rates. Rifle dispersion is a straight line, because it is pure angle. The other two bend upward, because both depend on time of flight, and time of flight grows faster than distance as the bullet slows.

How far each error source scatters your shots

One standard deviation in inches at the target, by distance, for the reference load.

0246810one standard deviation of scatter at the target, in inches2004006008001000distance to target (yards)5 in: the vital zone's half-widthRifle group3.33 inVelocity SD7.94 inWind call10.82 in
Rifle group, 1.00 in at 100 ydVelocity SD, 20 fpsWind call, ±1 mph
See the numbers
DistanceRifle group (in)Velocity SD (in)Wind call (in)
100 yd0.330.040.07
200 yd0.670.170.30
300 yd1.000.400.71
400 yd1.330.761.31
500 yd1.671.272.13
600 yd2.001.983.20
700 yd2.332.934.55
800 yd2.674.186.24
900 yd3.005.818.31
1,000 yd3.337.9410.82

At 600 yards the three sources are 2.00, 1.98, and 3.20 inches. Notice the crossover: inside about 600 yards the rifle is the biggest single contributor to vertical scatter, and past it the ammunition is. The wind call leads the whole way and never stops pulling away.

Rifle group

1.00 in at 100 yd

2.00in σ

both axes

Remove it entirely and 600-yard hit % goes from 78.8% to 88.0%.

Velocity SD

20 fps

1.98in σ

vertical only

Remove it entirely and 600-yard hit % goes from 78.8% to 81.3%.

Wind call

±1 mph

3.20in σ

horizontal only

Remove it entirely and 600-yard hit % goes from 78.8% to 95.5%.

Combined, that is a vertical sigma of 2.82 inches against a 12 inch tall zone and a horizontal sigma of 3.77 inches against a 10 inch wide one. The vertical axis alone would keep 96.7% of shots on target. The horizontal axis alone would keep 81.5%. Multiply them and you get 78.8%, which is the entire calculation in one line.

The ± chip

The one input that is purely about you

Group size comes from a target and velocity SD comes from a chronograph. Wind confidence comes from nowhere but your own honesty. The app asks for it on the wind screen, right under the speed, and it changes the answer more than either of the other two.

Wrist Dope wind screen on Apple Watch showing a 10 mph wind call with the default plus or minus 1 mph confidence setting
Apple Watch Ultra
A 10 mph call with ±1 mph confidence, the app default. You are telling the solver you would bet on 9 to 11 mph.
Wrist Dope wind screen on Apple Watch showing a 10 mph wind call with a plus or minus 3 mph confidence setting
Apple Watch Ultra
The same 10 mph call at ±3 mph, for switchy terrain or a wind you cannot see at the target. The hold does not move. The confidence in it does.

Widening the chip does not change your aiming point by a hair, because your best estimate of the wind is still your best estimate. It widens the cloud. That is the correct behavior, and it is the part most shooters skip: being unsure about the wind does not make you aim somewhere else, it makes you less likely to hit what you aimed at.

Finding 3

What each fix is actually worth

Now the practical question. You have a finite amount of money and range time. Do you buy a better barrel, load more consistent ammunition, or learn to read wind? Halve each input in turn and the answer changes with distance.

Hit % after halving one input, everything else unchanged

Deer vital zone. Baseline is the 1.0 in group, 20 fps SD, ±1 mph rifle from every chart above.

0255075100hit % on a deer's vital zone after halving one input79868192600 yd99% with all three42475060800 yd85% with all three181926291,000 yd52% with all three
As it sitsHalf the group (0.5 in)Half the velocity SD (10 fps)Half the wind error (±0.5 mph)
See the numbers
Inputs400 yd600 yd800 yd1,000 yd90% line
1.0 in group · 20 fps SD · ±1 mph99.2%78.8%41.7%17.5%527 yd
Half the group99.9%85.9%47.0%19.0%571 yd
Half the velocity SD99.3%80.9%49.7%25.6%533 yd
Half the wind error99.9%91.8%60.1%29.2%616 yd
All three100.0%99.2%84.6%52.0%754 yd
  • Wind reading wins at every distance we tested. Cutting your wind error from ±1 to ±0.5 mph is worth 13 points at 600 yards and 18 at 800. It costs nothing but practice.
  • Ammunition consistency is a long-range play. Going from 20 to 10 fps SD buys 2 points at 600 yards and 8 at both 800 and 1,000. Inside 500 yards it is nearly invisible.
  • A better-grouping rifle helps most in the middle. Halving the group to 0.5 inches buys 7 points at 600 and only 1.5 at 1,000, because by then the other two sources dwarf it.
  • Together they move the line 227 yards. All three improvements at once push the 90% distance from 527 yards out to 754.

In the app

Where the number shows up

Lock a target size and the percentage rides along with the firing solution, on the watch and on the phone. It recomputes with everything else, so it moves when the range changes, when you widen your wind confidence, and when the air changes around you.

Wrist Dope Live Fire screen at 850 yards showing a 74 percent hit probability on a deer-sized target and a Marginal terminal-performance rating limited by retained energy
Apple Watch Ultra
Live Fire at 850 yards with a 6.5 Creedmoor load: Deer • 74% hit, and a Marginal · Energy rating below it. The wind here is blowing from the east at a target due east, so it is nearly a headwind and the wind-call term is small.

That 74% is not comparable to any other percentage on this page, and that is the point worth internalizing. Same rifle class, same 10 mph wind, but a headwind instead of a full-value crosswind, so an error in the wind call barely moves the bullet sideways. Wind geometry is as much a part of your odds as the rifle is.

The rating underneath it answers a separate question: whether the bullet still carries enough energy to do its job when it arrives. A shot can be likely to hit and still be the wrong shot to take.

Wrist Dope range card on iPhone showing velocity and retained energy columns alongside elevation and wind holds from 350 to 550 yards
iPhone
Dialed to 450 yards: Deer • 99% hit, ✓ Adequate, 2147 fps and 1505 ft-lbs on arrival.
Wrist Dope range card on iPhone at 1,000 yards showing 33 percent hit probability and retained energy falling below the deer threshold
iPhone
The same screen, same rifle, dialed to 1,000 yards: Deer • 33% hit, ⊗ Insufficient, 1565 fps and 799 ft-lbs. Both numbers went the same direction.

Those two screens are the same 6.5 Creedmoor load with a full-value crosswind, so unlike the watch shot they can be read against each other. They are not the .308 in the charts above and the numbers will not match it. The screens show where the percentage lives; the study shows how it is built.

The other half

Likely to hit is not the same as right to shoot

Everything on this page is about precision: where the bullet lands. None of it says anything about what happens when it gets there. A .308 at 1,000 yards can still be placed in a vital zone by a good shooter on a calm day, and it still arrives too slow to expand reliably. The two questions have to be answered together, which is why the app puts the terminal band directly under the hit percentage.

Read the companion piece on your ethical maximum distance, which takes the same load out to where the energy runs out and compares the two limits.

The takeaway

The air is the app's job. The dispersion is yours.

Wrist Dope keeps this percentage live because it already knows the two halves it needs. It holds your group size, your velocity SD, and your wind confidence in the load and field setup, and it reads the air you are standing in from the barometer on your wrist, GPS altitude, and local temperature. Dial a new range, widen the ± on your wind call, or walk up a ridge into thinner air, and the number moves with you, offline, without anything to type.

What it cannot do is improve the three inputs. A 1.00 inch group is a 1.00 inch group until you do something about it, a 20 fps SD stays 20 fps until the ammunition changes, and only you know how confident you really are in that wind. The app will tell you the truth about the odds. Making the odds better is range time.

Common questions

How is hit probability calculated?
From three measured inputs and no dice. Your 100-yard group size becomes an angular dispersion (a five-shot extreme spread is about three standard deviations, so a 1.00 inch group is a 0.33 inch sigma at 100 yards). Your velocity SD becomes vertical scatter by re-solving the trajectory at one SD faster. Your wind-call confidence becomes horizontal scatter through the wind sensitivity at that range. The two axis sigmas then go into an exact error-function product over the target rectangle.
What is a 1 MOA rifle?
One that puts its shots inside about 1 inch at 100 yards, 2 inches at 200, and so on, because 1 minute of angle is roughly 1 inch per 100 yards. Measured as a five-shot extreme spread, a 1.00 inch group corresponds to a 0.33 inch standard deviation per axis, which grows to 2.00 inches at 600 yards and 3.33 inches at 1,000.
Does velocity SD matter at long range?
It matters more the farther you shoot, because velocity spread only shows up as vertical scatter after the trajectory has had time to bend. For our .308 a 20 fps SD is worth 0.04 inches at 100 yards and 7.94 inches at 1,000. Halving it to 10 fps buys 2 points of hit probability at 600 yards and 8 points at both 800 and 1,000.
What is a good hit percentage for a hunting shot?
That is a judgment call, not a physics result, and the percentage is only half of it. A shot can be 90 percent likely to land in the vital zone and still arrive with too little energy to kill cleanly. Wrist Dope shows the hit percentage and a terminal-performance rating side by side so both questions get answered before the trigger breaks.
Is hit probability a Pro feature in Wrist Dope?
No. Hit probability and the terminal-performance rating are in the free app. Both appear once you lock a target size, since the math needs a target rectangle to integrate over.
Every trajectory on this page was computed with WristBallistics, the solver inside Wrist Dope: a point-mass model with fourth-order Runge-Kutta integration, G7 drag, and the ICAO standard atmosphere, validated against independently published reference trajectories. The probability layer replicates the app's shipped hit-probability math exactly: group size converted to a per-axis sigma at 3.0 standard deviations per five-shot extreme spread, vertical sigma from a second trajectory solved at muzzle velocity plus one SD with the zero elevation held fixed, horizontal sigma from wind-call confidence through the point-mass crosswind lag rule, the two axes combined in quadrature, and an error-function product over the target rectangle. The lag rule was checked against full engine wind solves at 300, 600, and 900 yards and agreed to within 0.001 inches per mph. Reference load: .308 Winchester, 175 gr match bullet, G7 BC 0.243, 2,650 fps, 1.5 inch sight height, 100 yard zero, ICAO standard air, full-value 90 degree crosswind, deer vital zone 10 by 12 inches.