How the rating works
USPSA classification measures how well a shooter runs a classifier against a published high hit factor. It says nothing about whole matches. A match percent says how a shooter did against one field on one day and nothing about how strong that field was. The rating here reads every stage a shooter has run, works out how hard each stage was from everyone who ran it, and reports a single number: the shooter's hit factor as a percent of the hit factor that wins a field of average strength in that division. A rating of 100 means a skill that would be expected to win an average field. A 120 means hit factors twenty percent above that. A 70 means seventy percent of the winning pace.
Each rating carries an interval. A shooter with forty matches on record is known closely; one with four is not, and the interval says so. The ranking is ordered by the lower end of that interval, one standard deviation below the rating, so a short record has to be exceptional to outrank a long one, and two shooters whose intervals overlap should be read as level whatever order they appear in.
Who is ranked
A shooter appears in a division's ranking when, in the last twelve months, they have shot at least four matches in that division in fields of eight or more shooters who completed the match, and when their results connect through shared fields to the main body of the division. A shooter whose matches share no competitors with the rest of the division has a skill that cannot be placed on the same scale, and is held out rather than guessed. Disqualifications are excluded. Shooters without a member number cannot be followed from one match to the next and are not rated. A division is ranked at all only when it has at least two hundred entries in the window.
The observation
The input is the hit factor on every stage, not the match percent. Hit factors multiply: a shooter who is ten percent faster at the same accuracy posts a hit factor ten percent higher on a six-second classifier and on a forty-second field course alike. Taking the logarithm turns that multiplication into addition, and every stage result becomes the sum of three things.
Stage difficulty is a free number for every stage of every match, in every division. It absorbs the course design, the target distances, the round count, the weather and the squad schedule, because every shooter on that stage faced the same ones. The match winner is simply another shooter on the stage and nothing is measured against them. This is why a dominant winner no longer makes a field look strong, and why a stage where everyone was slow does not make everyone look slow. The fit uses twenty-four months of stage scores, roughly six to twelve observations per match instead of one, which is the main reason the rating is sharper than any match-level average.
Noise that is not bell-shaped
A miss, a no-shoot, a procedural or a jammed gun turns a ninety-percent stage into a forty-percent stage without any change in the shooter's skill. Errors of that size are far more common than a bell curve allows, and an average that treats them as ordinary lets one bad stage drag a whole year. The model uses a Student-t distribution with four degrees of freedom instead. Under it, a stage result far from what the shooter's skill and the stage difficulty predict is given less weight, in proportion to how far it falls, and the shooter's skill is carried by the stages that look like them. Each shooter also has their own noise scale, estimated from their own record and shrunk toward the division's, so a consistent shooter and an erratic one are described as such rather than averaged together. A stage with no score at all, a zero hit factor, is a blow-up: it leaves the skill estimate and counts instead toward the shooter's blow-up rate. That rate is not forgotten. A zeroed stage scores no points, so a shooter who zeros one stage in twenty scores five percent less over a match than their stage skill implies, and the rating is the stage skill less exactly that. The rate is estimated with a light pull toward the division's, and its own uncertainty widens the interval.
Skill that moves
A shooter's skill is not one number for the year. It is a path, free to drift between matches by a random walk whose step grows with the time between them. A result from eighteen months ago still informs today's estimate, but through a chain of small steps that lets this year's form outweigh last year's. The size of that step is a fitted constant, chosen by how well the model forecasts the following year's results, and it is small: about ten percent in hit factor over a full year of drift. The rating shown is the skill at the shooter's most recent match, with uncertainty that widens the longer they have been away.
Countries that rarely meet
Stage difficulty is measured from the shooters on the stage, so a country whose shooters never compete abroad gives the model no way to tell a hard stage from a slow field. Each shooter's skill is therefore split into a level for their home country and an individual part. The country level is a free parameter with a wide prior, identified only by shooters who have competed in more than one country, and it carries its own posterior variance, computed exactly from the full system. That variance is added to every shooter in the country. Where enough travellers connect a country to the rest of the division, the level is known to a few percent and its shooters rank normally. Where they do not, the uncertainty grows until the shooters are held out of the ranking as unplaced rather than listed at a number the data cannot support. The threshold is a total standard deviation of 15 percent.
Across divisions
A shooter who runs Carry Optics and Limited Optics is one person. Once every division has been fit on its own, each shooter's skills across divisions are compared, an average offset between each pair of divisions is measured from the shooters who compete in both, and every division is fit a second time with each shooter's estimate pulled gently toward their own cross-division average. The pull is set by the spread the data show between a shooter's skill in one division and another, currently a standard deviation of 16 percent in hit factor across 26,968 shooters seen in two or more divisions. A shooter with a long Carry Optics record and a short Limited Optics one gets a Limited Optics rating that already knows how they shoot.
What the fit computes
All skills on all paths and all stage difficulties are solved together, as one sparse system with hundreds of thousands of unknowns, by conjugate gradients. The heavy-tailed noise is handled by reweighting: solve, measure every residual against the shooter's own scale, reduce the weight of the outlying ones, solve again, six times over. The interval around each rating comes from the curvature of the fitted posterior along that shooter's own path, holding the stage difficulties fixed, and is widened by the drift since their last match. The reference for 100 is the average, over every match in the ranking window with a field of eight or more, of the strongest skill in that field.
Who beats whom
Two ratings give a probability. For shooters A and B meeting over a match of n stages, the difference in their log skills is divided by the combined uncertainty, which is the two interval widths plus the two noise scales spread across n stages, and read off the normal curve. The probability is the thing the model is tested on, and the test is below.
Does it predict
Every night, the model is fit again on everything before Oct 10, 2025 and then asked about every pair of rated shooters who met in a match in the year after that. Three numbers are reported per division. Accuracy is the share of those pairs where the higher-rated shooter finished higher. Log loss scores the stated probabilities, so that a confident wrong call costs more than a hesitant one; a coin flip scores 0.693 and lower is better. Rank correlation compares the rating order to the next year's average match percent among shooters who went on to shoot four or more matches. The same pairs are scored for the earlier rating on this site, a match-level model of percent of the winner corrected for field strength, and for a plain average of match percent. Pairs from one match are not independent of each other, so the interval on each accuracy and on the gap to the previous rating comes from resampling whole matches, four hundred times. The test can only score shooters who kept competing, so it says how well the rating forecasts the people who came back, not the people who stopped.
| Division | Pairs | Raw average | Previous rating | This model | Gap to previous | Log loss | Rank corr. |
|---|---|---|---|---|---|---|---|
| Carry Optics | 382,499 | 80.7% | 81.4% | 83.4%83.0–83.8 | +2.0+1.8 to +2.3 | 0.376 | 0.89 |
| Limited Optics | 287,906 | 81.7% | 82.6% | 84.9%84.2–85.5 | +2.3+1.9 to +2.7 | 0.349 | 0.89 |
| Open | 76,768 | 82.9% | 84.5% | 86.6%85.4–87.7 | +2.1+1.3 to +2.8 | 0.325 | 0.88 |
| Production | 35,954 | 83.9% | 84.1% | 84.6%83.8–85.4 | +0.4+0.1 to +0.8 | 0.351 | 0.86 |
| Production Optics | 34,573 | 84.5% | 85.1% | 86.2%85.4–86.9 | +1.1+0.7 to +1.5 | 0.325 | 0.84 |
| PCC | 21,532 | 82.1% | 83.8% | 85.6%83.8–86.9 | +1.7+1.0 to +2.3 | 0.333 | 0.86 |
A probability is only useful if it means what it says. The table below groups the model's head-to-head calls in Carry Optics by how confident they were and shows how often the favoured shooter actually finished ahead.
| Stated confidence | Mean stated | Favourite won | Pairs |
|---|---|---|---|
| 50–60% | 54.9% | 54.1% | 43,076 |
| 60–70% | 65.1% | 66.1% | 44,869 |
| 70–80% | 75.1% | 76.0% | 49,726 |
| 80–90% | 85.2% | 85.0% | 61,270 |
| 90–100% | 97.3% | 95.8% | 183,558 |
Fit on data before Oct 10, 2025; scored on matches from then to Oct 10, 2026; computed 2026-10-10T07:04:21. Pairs are ordered head-to-heads, in fields of eight or more, between shooters all three methods could rate. Small figures are 95 percent intervals from resampling matches. The test is repeated at each nightly build, so this table describes the model that is running, not the one that was written about.
What the rating does not do
It does not use USPSA class, and it is not a prediction of class. Classifier stages enter only as stages, with their difficulty measured from the people who ran them rather than taken from a published high hit factor.
It does not weight major matches. A Level III match matters more only because its stages are run by stronger shooters, which the model measures directly.
It does not know about equipment, weather, squadding or intent. A mistyped member number at registration is a separate shooter here. Two shooters sharing a number look like one erratic shooter, and the model flags records it cannot describe with a single skill and a single scale; in PCC Optics that is 0 of 179 ranked records. Those flags are not shown on shooter pages.
Results come from the match reports posted to PractiScore by match directors. Some posted matches have reports PractiScore cannot serve; those are missing here and from any other analysis built on the same source.
Where it comes from
The structure is old and well tested. A skill plus a difficulty on a log scale is the Rasch model used in educational measurement since 1960. Skill as a random walk updated match by match is Glickman's dynamic paired-comparison model of 1999, which also underlies the Glicko system, and TrueSkill from 2006 applies the same idea to team games. Elo is a one-step approximation to the same posterior. The adaptation here is to continuous stage scores rather than wins and losses, so that margins are used instead of discarded, with heavy-tailed noise in place of the bell curve because the sport produces blow-ups.
The model as it stands
These numbers are produced at each nightly rebuild.
| Division | Ranked | Eligible | Shooters | Stages | Stage scores | Noise scale | Downweighted | Interval |
|---|---|---|---|---|---|---|---|---|
| Carry Optics | 7,105 | 7,107 | 24,155 | 60,545 | 1,066,349 | 15.0% | 7.9% | ±5.0% |
| Limited Optics | 6,292 | 6,293 | 18,908 | 58,902 | 905,268 | 14.8% | 7.9% | ±4.8% |
| Open | 1,797 | 1,919 | 15,908 | 63,352 | 575,273 | 14.4% | 8.0% | ±4.4% |
| Production | 1,092 | 1,508 | 15,756 | 32,373 | 426,469 | 18.4% | 7.5% | ±5.9% |
| Production Optics | 981 | 1,223 | 9,964 | 21,576 | 347,375 | 14.6% | 7.5% | ±5.1% |
| PCC | 612 | 625 | 7,052 | 32,758 | 238,639 | 12.8% | 8.4% | ±4.1% |
| Standard | 419 | 804 | 9,031 | 18,877 | 249,546 | 17.2% | 7.6% | ±5.5% |
| PCC Optics | 179 | 395 | 4,527 | 7,529 | 138,630 | 12.1% | 7.6% | ±5.3% |
| Optics | 153 | 683 | 3,794 | 8,293 | 112,410 | 13.5% | 7.2% | ±4.6% |
Divisions with at least one hundred ranked shooters. Eligible counts shooters meeting the four-match rule before the connectivity test. Shooters and stages count everything in the twenty-four-month fit. Noise scale is the pooled stage-to-stage spread of a shooter's log hit factor; downweighted is the share of stage results given less than half weight as outliers; interval is the median half-width of a ranked shooter's rating, one standard deviation.
By division
Pick a division to see its fit, its country levels and a worked example from its number one shooter.
In PCC Optics the fit holds 138,630 stage scores on 7,529 stages from 1,006 matches, run by 4,527 shooters with member numbers. 395 shooters meet the four-match rule, 182 of them sit in the main connected body of the division, and 179 are ranked. 1,140 stage results were zero hit factors, 0.8 percent of the total, and were treated as blow-ups. The reference for 100, the strongest skill in an average field, sits 592 percent above the average rated shooter's hit factor. 152 ranked shooters also compete in another division and carry information across. 3 shooters met the match rule but are held out as unplaced because their country's level is not known closely enough.
| Home country | Shooters | Level vs US | Known to |
|---|---|---|---|
| US | 2,816 | 100 | ±1.6% |
| ? | 1,001 | 134 | ±2.3% |
| PL | 229 | 79 | ±3.9% |
| HU | 136 | 67 | ±5.1% |
| FI | 92 | 73 | ±5.7% |
| CZ | 89 | 135 | ±5.6% |
| SI | 57 | 88 | ±7.8% |
| AU | 29 | 93 | ±10.4% |
| LT | 29 | 108 | ±9.5% |
Country levels in PCC Optics, for countries with twenty or more shooters in the fit. Level is the country's fitted baseline as a percent of the US baseline in hit factor; it is a statement about who shoots in that country's fields, not about any one shooter. Known to is one standard deviation of that level.
Worked example: the number one PCC Optics shooter
Sami Haaranen tops PCC Optics with a rating of 119.7, interval 112.5 to 127.4. Below is every match in the fit, oldest first. Percent is the raw percent of the division winner, the number PractiScore shows. Versus stages is how far above or below the stages' measured difficulty the shooter's hit factors ran that day, averaged across the stages and expressed in percent of hit factor; it is the quantity the model actually reads, and a large negative value on a day with a high match percent means a weak field. Skill is the fitted skill at that match, in rating units, as it stood on the path.
| Date | Match | Field | Stages | Percent | Versus stages | Skill |
|---|---|---|---|---|---|---|
| Oct 21, 2024 | Omegan Viikkokisat 21/24 | 4 | 0 | 100.0 | – | 131.3 |
| Nov 3, 2024 | HalloweenPistol 2024 PCC | 34 | 6 | 100.0 | -2.5% | 130.6 |
| Nov 18, 2024 | Viikkokisa 23/24 | 5 | 0 | 100.0 | – | 130.6 |
| Dec 2, 2024 | Omegan Viikkokisa 24/24 | 9 | 5 | 100.0 | -21.7% | 131.1 |
| Dec 6, 2024 | Xmas Open 2024 | 34 | 8 | 100.0 | -2.1% | 131.1 |
| Dec 16, 2024 | OMEGAT Viikkokisa 25/24 | 9 | 5 | 100.0 | +2.4% | 131.7 |
| Jan 13, 2025 | Omegan Viikkokisat 1/25 | 7 | 0 | 100.0 | – | 132.8 |
| Jan 27, 2025 | Omegan Viikkokisa 2/25 | 12 | 5 | 97.3 | -9.6% | 133.4 |
| Jan 31, 2025 | Helmi Match 2025 | 42 | 8 | 100.0 | +5.0% | 133.9 |
| Feb 24, 2025 | Viikkokisa 4/25 | 10 | 5 | 100.0 | +11.3% | 131.7 |
| Mar 10, 2025 | OMEGAN VIIKKOKISA 5/25 | 13 | 5 | 100.0 | -3.4% | 128.5 |
| Mar 24, 2025 | Omegan Viikkokisa 6/25 | 10 | 5 | 100.0 | -3.8% | 126.8 |
| Apr 7, 2025 | Omegan VIIKKOKISAT 7/25 | 7 | 0 | 100.0 | – | 125.4 |
| Apr 16, 2025 | SSG viikkokisa 2/2025 | 5 | 0 | 100.0 | – | 124.0 |
| Apr 21, 2025 | Omegan Viikkokisa 8/25 | 8 | 5 | 100.0 | -3.8% | 123.6 |
| Apr 24, 2025 | SSG viikkokisa 3/2025 | 8 | 5 | 100.0 | -1.4% | 123.3 |
| Apr 26, 2025 | Nokian Kevät II PCC | 62 | 7 | 100.0 | +12.9% | 123.1 |
| May 5, 2025 | Omegan Viikkokisa 9/2025 | 7 | 0 | 100.0 | – | 120.9 |
| May 13, 2025 | SSG viikkokisa 5/2025 | 4 | 0 | 100.0 | – | 119.4 |
| Jul 19, 2025 | Viking Extreme Open 2025 | 38 | 21 | 100.0 | -7.2% | 101.9 |
| Mar 12, 2026 | InCup 2026 | 19 | 6 | 100.0 | +7.2% | 118.9 |
| Apr 10, 2026 | Nordic Easter Open 2026 | 18 | 8 | 100.0 | +5.2% | 116.0 |
| Apr 26, 2026 | SSG Spring Match 2026 PCC | 19 | 8 | 100.0 | -0.7% | 113.0 |
| Apr 26, 2026 | SSG Spring Match 2026 | 19 | 8 | 100.0 | -0.5% | 112.8 |
| Apr 26, 2026 | SSG Spring Match 2026 PCC | 12 | 8 | 100.0 | -0.0% | 112.5 |
| May 28, 2026 | Extreme Euro Open 2026 | 123 | 30 | 99.0 | -3.4% | 105.1 |
| Sep 6, 2026 | SSG Autumn Match 2026 PCC | 21 | 8 | 100.0 | +3.2% | 120.3 |
| Sep 6, 2026 | SSG Autumn Match 2026 | 21 | 8 | 100.0 | +3.2% | 120.4 |
| Oct 3, 2026 | EPM 2026 | 17 | 6 | 100.0 | -2.5% | 119.8 |
The skill column moves by small steps because the random walk ties each match to the ones around it, and the final value, 119.7, is the rating. The interval is ±3.2 percent at one standard deviation after 213 stage results with a personal noise scale of 8.0 percent per stage. Every ranked PCC Optics shooter is ordered by this number less one standard deviation, which puts Sami Haaranen first worldwide, first in United States.