Copper Mining Stocks Analysis: Reserve Life & EV/EBITDA

Copper mining stocks analysis begins with a structural supply question: can producers deliver enough metal to power AI data centers through 2030? The answer is no, not at current project pipelines. This copper mining stocks analysis ranks five major producers — Freeport-McMoRan (FCX), Southern Copper (SCCO), BHP, Rio Tinto (RIO), and Teck Resources (TECK) — on reserve life and EV/EBITDA to identify which equities offer the best risk-adjusted exposure to the coming deficit.

How This Was Researched

Sources: IEA Global Critical Minerals Outlook 2026, ICSG Copper Market Forecast (Apr 23 2026), USGS MCS 2026, Wood Mackenzie press releases, and SEC filings (FCX 10-K, SCCO 10-K, BHP 20-F, RIO 20-F, TECK 40-F).

Methodology: Primary sources only; every URL HTTP-status verified 2026-08-10; demand forecasts triangulated across IEA/ICSG/WoodMac/USGS. Reserve life computed as proven-and-probable (P&P) reserves divided by annual production. EV/EBITDA uses through-cycle mid-cycle pricing deck (~$4.00–$4.50/lb LME) and is an analyst construct, not company guidance.

NOT covered: Sell-side price targets, BNEF data (subscription-gated), ML price-forecasting models, intraday setups, mine-by-mine DCF. Conclusions are limited to the data above.

Freshness: Last researched: August 10, 2026. Prices as of Aug 10, 2026.

Why is copper demand from AI data centers set to surge by 2030?

AI data centers consume roughly 20 kilotonnes of copper per gigawatt of capacity, making copper demand structurally inelastic to price — copper accounts for under 0.5% of total data center project cost. Wood Mackenzie projects grid-infrastructure copper demand from AI will reach 1.1 Mtpa by 2030, while renewable energy systems grow from 1.7 to 4.3 Mtpa by 2035. Total copper demand rises 24% by 2035 to 42.7 Mtpa. For deeper context on the hyperscaler capex fueling this buildout, see our AI data center buildout and hyperscaler capex analysis and our sector tracker.

Is copper supply really constrained through 2035?

Yes, the project pipeline is insufficient to meet projected demand. The IEA Global Critical Minerals Outlook 2026 estimates supply deficits vs. project pipeline persist through 2035, with a 2035 deficit of ~25% of projected demand (narrowed from ~30% in prior assessments as DRC/Zambia projects advance). USGS reports world mine output was flat at ~23 Mt in 2025, with world reserves of 980 Mt. Wood Mackenzie states more than 8 Mtpa of new mine capacity is needed by 2035. The gap between policy ambition and project finance is the core supply constraint.

Why does the ICSG forecast a refined surplus if the market is tight?

The ICSG forecasts a 2026 refined surplus of +96 kt (reversed from a -150 kt deficit in the October 2025 view) and +377 kt in 2027, but this is a refined-metal surplus, not a concentrate surplus. Refined surplus reflects smelting capacity outpacing mine output; concentrate remains the binding constraint. The ICSG cut 2026 mine growth to 1.6% from 2.3%, signaling supply-side weakness. Traders should watch TC/RCs — falling treatment charges confirm concentrate scarcity even as refined stocks build.

How do you rank copper miners on reserve life and EV/EBITDA?

Reserve life = P&P reserves ÷ annual production. EV = market cap + net debt. Through-cycle EV/EBITDA uses a mid-cycle deck (~$4.00–$4.50/lb LME); NAV is an analyst construct, not company guidance. Higher reserve life reduces reinvestment risk; lower EV/EBITDA indicates cheaper relative valuation. This screen combines geological longevity with financial efficiency.

Ticker Reserve Life Cash Cost / EBITDA Net Debt / Cash 2026 Guidance Source
FCX ~33 yrs (112.3 B lbs) realized $4.75/lb net debt ~$5.6B 3,380 M lbs sales FCX 10-K
SCCO ~52 yrs (108,955 M lbs) $0.58/lb; EBITDA $7.82B (58.3% margin) net debt ~$2.4B 911,400 t (-4.5%) SCCO Q4/FY25 release
BHP FY26: 1,952.8 kt EBITDA $25.98B net debt ~$9B FY27: 1,650–1,800 kt BHP FY26 Op Review
RIO 883 kt 2025 (+11%) EBITDA $25.4B net debt $14.4B 800–870 kt RIO Q4-2025
TECK ~17–18 yrs (7,990 kt) EBITDA C$4.33B net cash ~C$0.1B 490–565 kt TECK 40-F

Note: BHP and RIO report on a June fiscal year basis; FY26 = July 2025–June 2026.

Which copper mining stocks screen best on the 2026 numbers?

SCCO leads on both metrics: lowest cash cost at $0.58/lb net of by-product credits and ~52-year reserve life, with 58.3% EBITDA margin and net debt of only ~$2.4B per its Q4/FY2025 release. FCX offers a Grasberg recovery play — 2025 production of 3,383 M lbs and flat 2026 guidance of 3,380 M lbs, with reserves of 112.3 B lbs per the FCX 10-K. TECK is the QB2 ramp story with net cash of ~C$0.1B. BHP and RIO provide diversified copper beta but carry higher net debt ($9B and $14.4B respectively). For a broader view, see our quant research hub and energy sector spotlight for cross-commodity context.

What do the Grasberg mud rush and falling ore grades tell us about supply fragility?

The Grasberg mud rush in September 2025 cut Indonesia copper output by 44% (1,015 vs 1,800 M lbs), per the FCX 10-K. BHP guided FY27 Escondida production to 1,000–1,100 kt vs. 1,261 kt in FY26 — a headline grade-decline example per their FY2026 Operational Review. SCCO’s 2026 guidance is down 4.5%, “mainly due to lower ore grades.” These events confirm that existing operations cannot offset geological and operational disruptions — supply fragility is structural, not cyclical.

How do US policy moves reshape the copper trade?

Copper was added to the US Critical Minerals List for the first time on November 7, 2025, per the Federal Register. US net import reliance is 57%. The Section-232 tariff process widened the COMEX-LME spread, creating arbitrage opportunities for traders. USGS confirms the 2025 COMEX average hit a record $4.80/lb. Policy now directly influences price discovery and regional basis risk.

How can I compute EV/EBITDA for copper miners in Python?

The code below pulls SEC XBRL companyfacts data for FCX, SCCO, BHP, RIO, and TECK, then computes EV/EBITDA using operating income plus D&A as an EBITDA proxy. Note: reserve life is NOT XBRL-tagged — pull P&P reserve figures from 10-K/40-F reserve statements and divide by annual production. Foreign filers (BHP 20-F, RIO 20-F, TECK 40-F) may not populate standard US-GAAP tags; supplement with their press releases.

"""Copper miner EV/EBITDA screen from SEC XBRL + yfinance.
SEC requires a descriptive User-Agent; keep the contact line real.
Run: pip install pandas yfinance   (Python 3.10+)
"""
import json
import urllib.request

import pandas as pd
import yfinance as yf

CIK = {"FCX": "831259", "SCCO": "1001838", "BHP": "811809",
       "RIO": "863064", "TECK": "886986"}   # CIK without padding

HEADERS = {"User-Agent": "quantbrainai.net research (contact@quantbrainai.net)"}

def companyfacts(cik: str) -> dict:
    url = f"https://data.sec.gov/api/xbrl/companyfacts/CIK{cik.zfill(10)}.json"
    req = urllib.request.Request(url, headers=HEADERS)
    with urllib.request.urlopen(req, timeout=30) as r:
        return json.load(r)

def latest_annual(facts: dict, *tags: str) -> float:
    """Latest annual (fp='FY') USD value for the first us-gaap tag that exists."""
    gaap = facts.get("facts", {}).get("us-gaap", {})
    for tag in tags:
        units = gaap.get(tag, {}).get("units", {})
        for unit in ("USD", "USD/shares"):
            rows = [x for x in units.get(unit, []) if x.get("fp") == "FY"]
            if rows:
                row = max(rows, key=lambda x: x.get("end", ""))
                return abs(row["val"])
    return float("nan")

rows = []
for ticker, cik in CIK.items():
    f = companyfacts(cik)
    revenue  = latest_annual(f, "Revenues",
                             "RevenueFromContractWithCustomerExcludingAssessedTax")
    op_inc   = latest_annual(f, "OperatingIncomeLoss")
    d_and_a  = latest_annual(f, "DepreciationDepletionAndAmortization",
                             "DepreciationAmortizationAndAccretionNet",
                             "DepreciationAndAmortization")
    cash     = latest_annual(f, "CashAndCashEquivalentsAtCarryingValue")
    lt_debt  = latest_annual(f, "LongTermDebtNoncurrent", "LongTermDebt")
    st_debt  = latest_annual(f, "LongTermDebtCurrent", "DebtCurrent")
    mcap     = yf.Ticker(ticker).info.get("marketCap", float("nan"))

    ebitda   = op_inc + d_and_a                    # operating-EBITDA proxy
    net_debt = lt_debt + st_debt - cash            # add finance leases if tagged
    ev       = mcap + net_debt
    rows.append({
        "ticker": ticker,
        "revenue_M": revenue / 1e6,
        "EBITDA_M": ebitda / 1e6,
        "net_debt_M": net_debt / 1e6,
        "EV_M": ev / 1e6,
        "EV/EBITDA": ev / ebitda if ebitda else float("nan"),
    })

print(pd.DataFrame(rows).round(1).to_string(index=False))

Sample output (Aug 10, 2026): FCX screens at EV/EBITDA ~11.9x ($25.9B revenue, $8.8B EBITDA proxy, net debt $5.6B). SCCO screens at ~21.8x ($6.7B revenue, $7.9B EBITDA, net debt $2.9B) — a premium reflecting its low-cost, long-reserve-life profile. BHP, RIO, and TECK file 20-F/40-F (foreign filers), which do not populate standard US-GAAP XBRL tags — pull their metrics from their operational reviews and quarterly releases instead.

What should quant traders watch in copper for the rest of 2026?

Monitor TC/RCs as an early-warning signal for concentrate tightness, Chinese apparent demand (40%+ of global consumption), the Section-232 tariff outcome, and the COMEX-LME spread. BHP’s FY26 results on August 18, 2026 will set near-term copper-beta direction. LME copper held above $14,000/t through early August 2026, with COMEX hitting a record ~$6.72/lb (market data, non-primary — Bloomberg/TradingEconomics). See our quant research hub for systematic screens.

FAQ

Is the copper market in surplus or deficit in 2026?

The refined market is in surplus: +96 kt in 2026 and +377 kt in 2027, per the ICSG April 2026 forecast. However, the concentrate market is tight — TC/RCs have collapsed. The market is pricing the 2028+ structural deficit, not the near-term refined oversupply.

Which copper miner has the longest reserve life?

SCCO has the longest reserve life at approximately 52 years (108,955 M lbs contained copper ÷ 954,270 t 2025 production), per its Q4/FY2025 release. FCX follows at ~33 years (112.3 B lbs ÷ 3,383 M lbs), and TECK at ~17–18 years (7,990 kt at operating mines ÷ 453.5 kt), per the TECK 40-F.

How can I update these metrics myself?

Re-run the Python snippet above against the SEC XBRL companyfacts API for EV/EBITDA. Pull reserve statements from each company’s 10-K or 40-F filing for reserve life. Refresh copper prices from the LME Copper page (note: LME returns 403 to automated curl — use a browser-grade fetcher).

← Back to all posts