Commodity Price Sensitivity

This use case explains how to model commodity price sensitivity for mining, energy and natural resources assets in Model Reef.

You will:

  • Create benchmark and realised price drivers for key commodities.

  • Apply price paths and scenarios to production volumes.

  • Explore different contract, hedge and currency settings.

  • See how price changes affect margin, cash and valuation.

Model Reef does not execute trades or hedges. It provides a planning layer on top of market assumptions and hedging policies.


When to use this pattern

Use this pattern when:

  • Revenue is materially dependent on commodity prices.

  • You want to quantify upside and downside cases.

  • You need to show lenders or investors sensitivity to price paths.

  • You plan to compare different hedging or contracting strategies.

It is usually combined with:

  • Mine or Well Production Forecasts

  • Capex & Equipment Lifecycle Model

  • Multi-Site Resource Consolidation

  • Valuation Engine Overview


Architecture overview

Commodity price sensitivity modelling uses:

  1. Price drivers

    • Benchmark indices or contract references.

    • Basis, quality and location adjustments.

    • Currency assumptions and FX modifiers.

  2. Volume inputs

    • Production forecasts from mine or well models.

    • Sales volumes by product, grade or contract.

  3. Revenue construction

    • Realised price per product.

    • Revenue per product, site and group.

  4. Sensitivity and scenarios

    • Systematic price shifts or curves.

    • Different hedging and contracting proportions.


Steps

1

Define benchmark price series

In the Data Library, create or import time-series for:

  • Benchmark Price - Product A (for example copper, gold, LNG).

  • Benchmark Price - Product B.

  • Benchmark Price - By-Product C where relevant.

These may be:

  • Historical series used to calibrate the model.

  • Forward curves or consensus forecasts.

  • Scenario-specific paths for base, high and low price environments.

Keep series in consistent units with your production models.

2

Add basis, quality and location adjustments

Realised prices often differ from benchmarks. Create drivers for:

  • Payable Percentage (for example 95 percent of contained metal).

  • Treatment and Refining Charges in the case of concentrates.

  • Shipping and handling costs per unit.

  • Location basis adjustments reflecting local market conditions.

  • Penalties or premiums for specific quality attributes.

Combine these into effective realised price drivers, for example:

  • Realised Price = Benchmark Price × Payable Percentage - Treatment and Refining Charges - Shipping - Penalties + Premiums.

You can implement these in formulas within Revenue variables or as separate intermediate drivers.

3

From your production models, bring through:

  • Saleable production volumes per period per product and site.

  • Sales splits by contract type if relevant.

Create Revenue variables such as:

  • Revenue - Copper - Mine A.

  • Revenue - Gold - Mine B.

  • Revenue - LNG - Field C.

Set formulas like:

  • Revenue - Copper - Mine A = Saleable Copper Volume - Mine A × Realised Copper Price - Mine A.

Because volumes are already computed in production models, price changes will flow directly into revenue without changing those volumes.

4

Represent simple hedging and contract structures

To incorporate basic hedging and contract strategies, define drivers for:

  • Hedged Volume Share per commodity.

  • Fixed Contract Prices for hedged volumes.

  • Spot Volume Share = 1 minus Hedged Volume Share.

Implement revenue as the sum of:

  • Hedged Revenue = Hedged Volume × Fixed Contract Price.

  • Spot Revenue = Spot Volume × Spot Price Series.

Where you use collars or more complex instruments, approximate the effect by adjusting effective fixed and floating prices in scenarios rather than modelling instruments directly.

5

Build price sensitivity and scenario views

Clone the base model into scenario models that represent:

  • Base case prices (for example consensus or current forward curves).

  • Downside case with lower prices for a period or across life of asset.

  • Upside case with higher prices.

  • Shock scenarios where prices fall sharply for a period then recover.

In each scenario, adjust benchmark price series, basis and contract settings. Then compare:

  • Revenue and margin per asset and for the group.

  • Cashflow and funding metrics.

  • Valuation outcomes via the Valuation Engine.

  • Headroom relative to debt covenants or investment hurdles.

You can also produce one off sensitivity tables by changing price drivers by a fixed percentage and inspecting key outputs.

6

Integrate FX where required

If your commodity is priced in a foreign currency but financial statements are in a local currency, you can:

  • Import or create FX rate series as drivers.

  • Express benchmark prices in foreign currency and convert in formulas, for example: Local Price = Foreign Price × FX Rate Driver.

Use scenarios to test combined commodity and FX risk by adjusting both price and FX series in different combinations.


Check your work

  • Benchmark prices and adjustments reflect market data or agreed planning bases.

  • Realised prices reconcile to historical realised revenue when volumes are held constant.

  • Hedging and contracting assumptions can be explained to non technical stakeholders.

  • Scenario results are consistent with risk appetite and external disclosures where relevant.


Troubleshooting

chevron-rightRevenue does not reconcile with historical resultshashtag

Revisit payables, treatment and refining charges, penalties and FX rates to ensure they are aligned with actual contracts and invoices.

chevron-rightSensitivity results appear extreme or mutedhashtag

Check that you are not double counting hedging effects or failing to apply price changes across all relevant products and sites.

chevron-rightToo many series to manage for small productshashtag

Group minor products into aggregated baskets and apply a single representative price and basis series rather than modelling each individually.


Last updated