Methodology & data sources

Every formula and dataset behind the calculators, so you can verify or replicate any result.

Last updated: 08 Oct 2026

The penetration formula

We use the community-datamined model, identical in independent open-source projects:

A = (121 − 5000 ÷ (45 + 2 × durability%)) × armorClass ÷ 10

  • pen ≥ A → penetrates: chance = 100 + pen ÷ (0.9A − pen) %
  • A − 15 < pen < A → partial: chance = 0.4 × (A − pen − 15)² %
  • pen ≤ A − 15 → no penetration

Validation examples the model reproduces: M995 (pen 53) vs class 5 full = ~93%; 7.62x39 BP (pen 47) vs class 4 full = ~96%; M855 (pen 31) vs class 4 full = ~13%.

Armor damage model

Durability damage per hit (used for "shots to break"):

dmg = max(1, pen × (armorDmg% ÷ 100) × clamp(pen ÷ class × 10, lo..hi) × destructibility)

with clamp = 0.5–0.9 for penetrating hits and 0.6–1.1 for blocked hits; destructibility by material: Aramid 0.19, UHMWPE 0.34, Combined 0.375, Titan 0.41, Aluminium 0.45, ArmoredSteel 0.53, Ceramic 0.55, Glass 0.6 (community datamining values).

Penetrating damage reduction

When a round penetrates, damage is reduced by the model factor median(0.6, pen ÷ (A + 12), 1), i.e. between 0% and 40% reduction, matching the in-game behaviour description ("0% to 40% less damage").

Data sources

  • Ammo stats (175 rounds, 29 calibers): Escape from Tarkov Wiki ballistics table, fetched 2026-10-08 via reader; spot-validated against known values (BS 45 dmg / 54 pen; M995 42/53; M80 80/43; LPS 81/42).
  • Armor list (45 body armors, 38 plates): tarkovdb.gg armor chart, fetched 2026-10-08; classes and base durability.
  • Formulas: community-datamined implementation, cross-validated across independent open-source projects (cited in the investigation; identical math).

All data is a snapshot; Tarkov patches change values. Updates ship with a changelog entry and the snapshot date on affected pages.

Known limits (honest list)

  • Single-layer model: multi-plate rigs, soft armor under plates, and zone splits are not simulated per-zone.
  • Helmets: ricochet and helmet-specific quirks are not modeled; use torso values for helmet approximations only.
  • Pens deviation: the game applies deviation to penetration power; we use the nominal value (standard practice).
  • Damage falloff: distance reduces speed and (slightly) damage/pen; the calculators use point-blank values.
  • Blunt damage: estimated with the community medians; treat as indicative, not exact.

Testing & corrections

  1. Every formula has hand-verified test cases (see the repo's test suite) that must pass before deploy.
  2. Spot validation against known community values is part of the data pipeline.
  3. Corrections: report with a source; confirmed fixes ship with a changelog entry.

AI use disclosure

Pages are drafted with tooling assistance and reviewed before publishing; every stat and formula is verified against the sources above. No invented numbers appear on this site.