Methodology
How the prices
are tracked.
Where the numbers come from, what gets left out, and how the index is calculated. Written so you can check our work.
Retailers
We track five online retailers: LuckyGunner, SGAmmo, TargetSports USA, True Shot and Freedom Munitions. All five publish their prices and stock status openly, without a login, and ship nationwide. We read those public listings the same way a shopper's browser does, a few times a day, and never more than once per page per run. Retailers that would like to be included, or that publish a product feed, can get in touch; the list will grow.
Schedule
Every listing page is read every four hours, six times a day, starting at midnight UTC. A run takes a few minutes. Each page on the site shows when the price it displays was last checked.
What counts as in stock
A listing is in stock only when the retailer's page offers it for sale at that moment. Items marked "notify me", "backorder" or "out of stock" are recorded but never shown as the lowest price. Before October 9, 2026 our stock detection on two retailers was wrong, which is why recorded history begins fresh on that date for the index.
Price per round
Price per round is the listed price divided by the round count in the pack, before shipping, tax and any membership discount. Case and bulk packs usually come out cheapest.
What gets excluded
Blanks, dummy rounds, snap caps, plastic short-range training rounds, components and anything under 50 grains for pistol calibers or 40 grains for rifle calibers. These are legitimate products, but they are not what a buyer means by "9mm" or ".308", and leaving them in produced misleading lows.
Remanufactured ammunition
Listings described as remanufactured, reloaded, once-fired, range brass, mixed brass, blemished or factory seconds are flagged "Reman". They stay in the price board because many people buy them on purpose, and they are usually the cheapest centerfire rounds available. The "Factory new only" switch, and the ?new=1 view on caliber pages, hide them. The flag relies on the retailer's own description, so an unlabelled reman product will not be caught.
Price history
At the end of each run we record the lowest in-stock price for each caliber. From those readings we build one daily record per caliber: opening price, high, low and close. The 90-day range on each caliber page is drawn from those daily records. Raw listings are kept for 30 days; daily records are kept indefinitely.
The Ammo Bourse Index
The index turns 25 daily closes into one number. Each caliber's close is divided by its close on the base date, October 9, 2026. The ratios are averaged with the fixed weights below and multiplied by 100, so the base date reads 100 and a reading of 104 means the basket costs 4% more than it did on the base date. Family indexes (pistol, rifle, shotgun, rimfire) use the same method on their own calibers. A caliber with no in-stock listing on a day carries its last close forward.
The weights approximate the share of US retail volume each caliber represents. They are deliberately round numbers. Because the index is built from ratios, the weights only control how much a caliber's percentage move counts, not its dollar price.
| Caliber | Weight | Caliber | Weight |
|---|---|---|---|
| 9mm Luger | 20% | .300 Blackout | 3% |
| 5.56x45mm | 12% | .38 Special | 2% |
| .223 Remington | 10% | .357 Magnum | 2% |
| .22 LR | 10% | 10mm Auto | 2% |
| .308 Winchester | 6% | 6.5 Creedmoor | 2% |
| 12 Gauge | 6% | .30-06 Springfield | 2% |
| .45 ACP | 5% | .44 Magnum, .243, .270, .30-30, .350 Legend | 1% each |
| .40 S&W | 4% | 20 Gauge, .410 Bore | 1% each |
| .380 ACP | 4% | .22 WMR, .17 HMR | 1% each |
| 7.62x39mm | 4% |
The "basket" figure shown beside the index is the plain weighted average price per round using the same weights, for people who want a figure in cents. The full series is published as JSON at api.ammobourse.com/api/index under a CC BY 4.0 licence. Quote it with a link to ammobourse.com/index/.
Known limits
Five retailers is not the whole market. Different loads, bullet weights and pack sizes make any per-round comparison approximate. Retailer prices can change between our checks. A handful of listings are mislabeled by the retailer and slip through the filters; if you spot one, tell us and it will be fixed within a day.