What the figures mean, how they're normalised across reporting codes, and the assumptions behind every toggle in the header. R&R Tracker is a code-agnostic comparability layer over listed miners' own disclosures (gold, silver, copper, zinc, lead, nickel, cobalt, molybdenum, lithium, tin, iron ore and uranium) — JORC for ASX, NI 43-101 for TSX/TSXV, SK-1300 for SEC registrants, and JORC/SK-1300 on the LSE.
Every estimate is sourced from a primary disclosure document:
Every row carries a source URL and the as-at date the company stated, and is reviewed before it appears in any public view.
Share prices that drive the companies-table comps (market cap, EV/oz) refresh each weekday from Yahoo Finance after the NYSE close. The same sync also pulls shares outstanding and a net-debt figure from Yahoo's quoteSummary endpoint. Net debt is an approximation — Yahoo's totalDebt − totalCash (negative means net cash) — not a balance-sheet-grade figure, so treat EV-based comps as indicative.
Browse every ingested document at /sources — a single cross-company index of the primary PDFs the figures come from, each one linkable straight back to the original filing.
Royalty and streaming companies are excluded as owners. Their filings disclose the R&R of properties underlying their royalty interests — projects owned and operated by other issuers, reproduced second-hand — so ingesting them would misattribute those deposits and double-count the operators' own filings. The operator's filing is always the authoritative source; a royalty holder's summary never is.
R&R figures don't only appear in the annual statement — they land in MRE updates, PFS/DFS studies, acquisitions, quarterlies and price-sensitive presentations too, so the database tracks companies' announcement flow continuously rather than waiting for the annual statement.
JORC 2012, NI 43-101, SK-1300 and CIM Definition Standards differ in form (cover page, sponsor, public-disclosure rules) more than they differ in substance — all four use the Measured / Indicated / Inferred resource categories and Proved / Probable reserve categories with broadly equivalent confidence thresholds. We store the raw category from the source statement; downstream views roll up to a common total per classification. The code-of-record for each estimate is captured, so the provenance is never lost.
One extra row you will see on some statements: M&I, the issuer's printed "Measured & Indicated" subtotal (common under SK-1300, occasional under JORC). It is a partial total that overlaps the Measured and Indicated rows — never a third additive category — so the tables render it as a dimmed subtotal line and every sum, rollup and derived total on this site excludes it. When a filer discloses only the M&I line (no Measured/Indicated split), it is what the M+I lens of the Total Res toggle totals from. Adding Measured + Indicated + M&I together double-counts the deposit.
The project detail page surfaces these provenance fields inline: each R&R row gets a Provenance column carrying small chips for the code-of-record (JORC / NI 43-101 / SK-1300), the cutoff grade, the price assumption (currency matched to the company's exchange — A$ for ASX, GBP for LSE/AIM, US$ otherwise), the inclusive-of-Reserves flag where applicable, and the page reference in the source PDF. A header data-quality card aggregates the same signals across the project and flags rows whose stated contained metal disagrees with our recomputed figure by more than 0.5%.
The disagreement check is rounding-aware: it accounts for how coarsely the document printed its tonnes, grade and contained figures (a "5,800 oz" derived from a "0.1 Mt @ 2 g/t" line can only ever be approximate), so companies that round to one significant figure aren't flagged for arithmetic they never claimed to that precision — while genuine inconsistencies between a company's own printed numbers are still surfaced.
Every estimate row carries a commodity. We support twelve: gold (Au), silver (Ag), copper (Cu), zinc (Zn), lead (Pb), nickel (Ni), cobalt (Co), molybdenum (Mo), lithium (Li), tin (Sn), iron ore (Fe) and uranium (U). Uranium is the newest and its coverage is still early — the first approved rows landed in August 2026. Coal remains deferred — its resources and reserves are printed on incompatible tonnage bases (ROM vs product/marketable, on differing moisture bases, sometimes both in one document), so the figures would not be comparable across filers and we don't ingest them yet. Commodities outside this list (mineral sands, rare earths, graphite, PGMs, …) are deliberately not mapped onto a supported code — a deposit we can't represent honestly is left out rather than stored under the wrong metal. The same applies to construction materials: cement producers' limestone and aggregate quarry reserves are filed under SK-1300 too, but they are not metal R&R and are excluded outright. Grade units and the contained-metal unit differ by commodity. The issuer's printed contained figure is canonical whenever the document states a usable one — readers expect the company's own number, and the rounding of printed tonnes and grades makes any recompute drift slightly. We still recompute tonnes × grade independently for every row, but as a cross-check: a disagreement beyond rounding tolerance is flagged for review, never silently substituted. The recompute fills in only where the document prints no usable contained figure.
Printed units are normalised deterministically at ingestion, never by the extraction model: US filers' short tons ("tons") convert at 1 st = 0.90718474 t; precious-metal contained figures a document prints in mass units (tonnes of gold) convert to troy ounces; and brine tables' volume columns (m³ / million m³ / km³) are scaled onto the tonnage basis described below.
oz = tonnes × grade(g/t) ÷ 31.1034768.t = tonnes × grade(%) ÷ 100. (Trace by-product grades printed in ppm are converted to % on ingestion.)Because the units differ, contained metal in the native view is never summed across commodities. A multi-commodity project displays each commodity's Resources & Reserves on its own rows with the correct unit. The screener, projects and regions rollups — and every comp derived from them (EV/oz, oz/share, mine life) — report one commodity at a time (gold by default; pick another in the filter panel) in that commodity's native unit. For a single cross-commodity number, switch to the metal-equivalent view described below.
The Equivalent view collapses a multi-commodity Resources & Reserves position into a single figure, so issuers with different metal mixes can be compared on one axis. The base is whichever commodity the page is showing — the commodity selector in the filter panel on the list pages, the page's primary metal on the company and project pages — so a copper page reads CuEq and a gold page (the default) reads the classic AuEq. It uses the value-ratio method, shown here on a gold base:
AuEq oz = Σ ( contained_qty × price_per_unit ) ÷ gold_price_per_oz
The equivalent is a derived presentation value — it is never persisted as authoritative R&R, and the native per-commodity view remains the source of truth. The headline figure is labelled with the base's unit (Moz AuEq, Mt CuEq, …).
The one correctness rule is that each commodity's price must be on the same per-unit basis as its stored contained-metal unit:
USD/tonne = USD/lb × 2204.62262 before pricing.* in the price control). Treat the Li line as indicative only.Prices are set in the Eq price assumptions panel on the Companies and Projects tabs (shown in the Equivalent view), and come from one of two sources. Custom: type a USD price per commodity (cookie-backed, per-browser, persists across navigation like the other reporting toggles). Spot: one click pulls the latest quotes from Yahoo Finance — Au GC=F, Ag SI=F, Cu HG=F (converted lb→tonne). Zn, Pb, Ni and Li have no clean free Yahoo futures symbol, so Spot skips them with a visible note and you enter a custom USD/tonne price instead. The active prices and an "as of" date are shown with the figure; a Yahoo failure falls back to your custom / last-known prices and never crashes the page.
A commodity with no usable price is excluded from the equivalent total (and flagged as excluded) rather than silently treated as zero, so the figure is never quietly wrong.
A bare ticker code isn't globally unique — the same letters can list on more than one exchange. Every ticker is therefore shown exchange-qualified as EXCHANGE:CODE (for example ASX:EVN or NYSE:NEM) across the screener, company and project pages, Compare, Sources, the Cmd-K palette and every CSV export.
Company URLs accept both forms: the bare code (/companies/EVN) keeps working for every existing link, and the qualified form (/companies/ASX:EQX) pins the exchange. When two different companies share a bare code across exchanges, the bare URL resolves to one of them deterministically (preferring a primary listing) and that page carries a note linking the other same-code companies by their qualified URLs — so every listing is reachable. Search inputs and the command palette accept either form too: type EVN or ASX:EVN.
Cross-listings. A dual-listed issuer (e.g. an ASX home listing with a NASDAQ secondary) is stored as linked company records and presented as one group: the screener shows it once under the primary listing, and a company page — either listing's — shows the group's combined R&R, taking the freshest disclosure per classification across listings. A secondary listing's page says so in a banner and links the primary; the primary lists its known secondaries ("Also listed as…").
Companies report R&R on a 100%-project basis. When a company owns less than 100% of a project, the attributable figure is what accrues to its shareholders. The Basis toggle switches between the two: at Attributable, every contained-metal and tonnes number is multiplied by the project's ownership percentage.
A JV orebody is reported by each of its owners — AngloGold (70%) and Regis (30%) both publish statements for Tropicana, on different reporting codes and often different as-at dates. We keep both filers' statements (each is authoritative for its shareholders' view) and link them with a shared deposit identity. On the Attributable basis the two views complement (70% + 30%); on the 100% basis both gross up to the same full deposit, so geographic rollups count a linked deposit once (the largest-share filer's view). A project page shows its co-owner links inline, and two independent filers agreeing on the same orebody is treated as corroboration, not duplication. Links are assigned deliberately — never inferred from a name match — so unrelated deposits can't be fused.
Pure display preference. Millions renders contained metal in Moz and tonnages in Mt; Thousands renders in koz and kt. The underlying numbers are identical.
One of the most pervasive comparability traps in R&R reporting. Some companies state their Resources inclusive of Reserves — the headline Resource figure already contains the Reserve figure. Others report them exclusive: the Resource figure is additional ounces beyond what's in Reserves. Comparing the two conventions head-to-head systematically overstates inclusive reporters' resource positions.
We capture the convention per estimate from the source statement, and the Resources toggle normalises both conventions onto whichever basis you pick. At Excl. Reserves (the default — SK-1300 mandates this basis for US filers), any project flagged inclusive has its Reserves netted out of its Resources at display time. At Incl. Reserves, any project flagged exclusive has its Reserves added back into its Resources. Both directions are best-effort like-for-like: projects with an unknown convention are shown as stated in either mode.
The toggle applies everywhere a Resource total is shown: the companies screener, the Projects and Regions tables, Compare, the Changes feed — and the company page and project tab, where the Total Resources line is netted the same way. The netting is totals-level only: the category rows (Measured / Indicated / Inferred) always show the figures as stated in the source, because there is no defined way to allocate Reserves back into a single category — Proved + Probable is modified from Measured and Indicated material together. One visible consequence: on an exclusive reporter at a mature operation, Measured can legitimately sit below Proved + Probable even in the Incl. view — most of the measured material has been converted into Reserves and removed from the stated Resource.
A netted total is a derived figure, and is treated as one: only the contained metal is adjusted (tonnes and grade stay as stated), and the row's printed-figure provenance is cleared so the data-quality checks never compare a normalised number against the document's print.
On the Projects table, the small inc tag next to a project name flags an inclusive-reporting project.
A printed "Total Resource" does not mean the same thing everywhere: JORC totals are conventionally Measured + Indicated + Inferred, while SK-1300 filers print Measured + Indicated subtotals with Inferred broken out separately. Comparing the two as printed is apples to oranges, so wherever a document discloses the category rows we re-derive the total from the categories instead of trusting the printed line. The Inferred header toggle picks the convention: Include (M+I+I, the default and the JORC norm) or Exclude (M+I only — the conservative lens, since Inferred carries the lowest geological confidence). A printed total that already matches the selected convention is kept with its provenance; otherwise the derived figure replaces it. "Matches" is rounding-aware: beyond a flat 0.5% it also allows for how coarsely the document printed each category figure, because issuers round every category independently of the total — a table whose 2-significant-figure categories sum to 191 Mt against a printed 190 Mt total keeps the issuer's printed total, exactly as the company presented it.
The same derivation handles area-split disclosures without double counting: when a project prints both a whole-project row and per-area rows (open pit / underground / per-deposit), the whole-project row wins per category; when only area rows exist they are summed. Stockpile-class lines (stockpiles, heap-leach inventory, gold in circuit) are the one ambiguous case — some issuers include them in the project row, others print them as extra — so the issuer's own printed total adjudicates which treatment reconciles. Reserves have no Inferred axis: a printed Reserve total always stands, and Proved + Probable is summed only when no total is printed.
Estimates live in an append-only table. A R&R figure may appear in an annual R&R Statement, but it can also be updated mid-year via a study update, a presentation deck, or a quarterly. "Current" is always the row with the newest as-at date per (project, commodity, classification, category, mining area) among approved rows — regardless of source document type. Two approved rows sharing the same as-at date (a restatement or correction) resolve to the most recently recorded one.
New figures are also cross-checked against the company's prior published history: a figure that conflicts with what the company previously disclosed is held for human review rather than silently replacing it.
The Dashboard's Recent R&R updates feed lists the most recently approved estimate snapshots — what each issuer just disclosed, per commodity, as stated — so fresh disclosures are visible without opening the screener. Its Biggest movers section ranks the largest % moves between each project's two most recent statement vintages, and the full Changes feed lists every pair with its exact as-at window per row. Change figures compare like with like: the issuer's printed totals at both vintages, each normalised onto the active Reserves treatment via its own statement's flag — never a printed figure against a re-derived one, which is why a project disclosing only sub-category rows appears in the screener (derived total) but not in Changes.
On the screener, reserve grade is the tonnes-weighted average across a company's reserve rows. Simple averages over per-project grades would be wrong: a 50 Mt low-grade project should dominate the average over a 1 Mt high-grade project. Tonnes weighting fixes that.
Every figure on the site is live data: taken from a primary disclosure document, independently recomputed and consistency-checked, then reviewed against the source document before it becomes visible — every approval is recorded with who or what reviewed it, and anything the deterministic checks flag is held for human adjudication. Each row links back to the source PDF and page it came from, and rows a reviewer corrected are marked as verified manual entries.
Coverage is expanding company-by-company while extraction accuracy is stress-tested against the source documents, so the universe you see is deliberately smaller than the tracked universe. The /coverage page shows exactly where ingestion stands — companies tracked vs companies with reviewed data, by exchange — so absence of a name means "not ingested yet", never a silent gap presented as a zero.
Using the data? The Terms of use cover what the figures are (and aren't) good for.