> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/use-cases/mining-energy-and-natural-resources/mine-well-production-forecasts.md).

# Mine/Well Production Forecasts

This use case explains how to forecast production volumes and revenue for mines, wells and other resource assets in Model Reef.

You will:

* Represent mines, wells or fields as branches and sub-branches.
* Build drivers for ore mined, ore processed, grades, recoveries and product yields.
* Connect production to commodity prices, realisations and revenue.
* Capture timing, ramp-up, decline and shut-down behaviour.

Model Reef is not a geological or reservoir simulator. It consumes high-level mine plan or reservoir assumptions and transforms them into financial statements, cashflows and valuations.

## When to use this pattern

Use this pattern when:

* Production is driven by mining or extraction of a finite resource.
* You need a forward view of tonnes, grades, recoveries and saleable product.
* You want to link life-of-mine or field plans to P\&L, Balance Sheet and Cashflow.
* You need to test price, volume, recovery and cost scenarios.

It works well with:

* Capex & Equipment Lifecycle Model
* Commodity Price Sensitivity
* Multi-Site Resource Consolidation
* Valuation Engine Overview

## Architecture overview

{% stepper %}
{% step %}

### Structure

* Branches for sites, pits, seams or fields.
* Optional sub-branches for stages, benches or development areas.
  {% endstep %}

{% step %}

### Production drivers

* Ore or fluid throughput.
* Grades and recoveries.
* Product yields for one or more saleable products.
  {% endstep %}

{% step %}

### Price and revenue drivers

* Benchmark and realised prices.
* Payable percentages and penalties.
* Currency where relevant.
  {% endstep %}

{% step %}

### Timing and life of asset

* Ramp-up, steady-state and decline phases.
* Scheduled shutdowns, maintenance and end-of-life.
  {% endstep %}
  {% endstepper %}

## Step 1: Set up branches for mines, wells and sites

In the branch tree, create a structure that matches how you report operationally, for example:

* Resources Group
  * Mine - Open Cut A
    * Pit - Stage 1
    * Pit - Stage 2
  * Mine - Underground B
  * Field - Gas C
  * Central Overheads

Each mine or field branch should hold that site's production, costs and, in many cases, site-specific capex and rehabilitation provisions. Central Overheads can hold group management, corporate functions and shared costs.

{% stepper %}
{% step %}

### Build ore or fluid throughput and grade drivers

In the Data Library, create time-series drivers for each producing asset, for example:

* Ore Mined - Mine A (tonnes per period).
* Ore Processed - Mine A (tonnes per period).
* Head Grade - Mine A (for example grams per tonne or percentage).
* Recovery Rate - Mine A (percentage).
* Fluid Production Rate - Well A (barrels or cubic metres per period).

For multi-product assets, create separate grade and recovery drivers per product where required.

Drivers can be:

* Imported from mine schedules or reservoir models.
* Smoothed from high-level annual plans.
* Scenario-specific for different ramp-up or depletion paths.

From these, define production quantities such as:

* Metal in Ore = Ore Processed × Grade.
* Recovered Product = Metal in Ore × Recovery Rate.
* Saleable Product after processing and losses.
  {% endstep %}

{% step %}

### Connect production to revenue

Next, create Revenue variables per product and site, for example:

* Revenue - Copper Concentrate - Mine A.
* Revenue - Gold Bullion - Mine B.
* Revenue - Gas Sales - Field C.

For each, specify:

* Benchmark price driver (for example LME, index or contract reference).
* Realisation factors such as treatment and refining charges, payables and penalties.
* Currency drivers if you need to approximate foreign currency revenue.

Formulas might look like:

* Realised Price = Benchmark Price × Payable Percentage - Treatment and Refining Charges per Unit.
* Revenue = Saleable Product Quantity × Realised Price.

Where a site produces multiple products, repeat this process for each and let P\&L aggregate them via standard Revenue mapping.
{% endstep %}

{% step %}

### Represent ramp-up, steady-state and decline

Use production and grade drivers to reflect the asset life cycle, for example:

* Low volumes in early development and commissioning periods.
* Ramp-up to nameplate capacity over a defined period.
* Steady-state for a number of years.
* Decline as ore or reservoir quality decreases or volumes drop.
* Final shutdown at end-of-life with residual production.

You can:

* Shape throughput and grade drivers directly, or
* Apply modifiers that adjust base throughput and grade by phase.

Ensure that ramp-up and decline patterns align with your technical planning work, and use scenarios to capture uncertainty in ramp-up speed and ultimate recoveries.
{% endstep %}

{% step %}

### Capture operating cost structures linked to production

Create Opex and Staff variables that link to production drivers, for example:

* Opex - Mining Costs - per Tonne Mined.
* Opex - Processing Costs - per Tonne Processed.
* Opex - Power and Utilities - per Tonne or per Unit of Product.
* Opex - Royalties and Production Taxes - per Unit or Percentage of Revenue.
* Staff - Site Operations and Maintenance Teams.

Formulas can be:

* Mining Cost = Ore Mined × Cost per Tonne Mined.
* Processing Cost = Ore Processed × Cost per Tonne Processed.
* Royalties = Revenue × Royalty Rate.

This keeps costs aligned with production volumes and makes margin sensitivity analysis more meaningful.
{% endstep %}

{% step %}

### Add shutdowns, maintenance and unscheduled downtime

Use timing and frequency settings or modifiers to represent:

* Planned shutdowns for major maintenance.
* Seasonal restrictions that limit production.
* Unplanned downtime allowances based on historical performance.

This is often implemented as:

* Uptime factors applied to throughput drivers.
* Additional Opex variables for major maintenance events.
* Adjustments to cost drivers when running at partial capacity.

The aim is to ensure that both production and cost patterns capture realistic operating schedules.
{% endstep %}

{% step %}

### Use scenarios for volume, grade and recovery risk

Clone the mine or portfolio model into scenario models to test:

* Different grade and recovery paths (for example optimistic, base and pessimistic).
* Higher or lower throughput rates.
* Different ramp-up durations and start dates.
* Changes in product mix or by-product credits.

In each scenario, adjust relevant drivers and examine:

* Revenue and margin patterns over time.
* Cashflow profiles and peak funding requirements.
* Life-of-mine or field valuation metrics from the Valuation Engine.
* Impact on debt capacity and covenant headroom.
  {% endstep %}
  {% endstepper %}

## Check your work

* Production profiles match mine plans or engineering outputs when calibrated.
* Revenue and cost structures reconcile to historical performance for operating assets.
* Ramp-up and decline behaviour looks realistic to operational and technical stakeholders.
* Scenario outcomes align qualitatively with risk narratives used internally.

## Troubleshooting

<details>

<summary>Production volumes do not match technical schedules</summary>

Check that you are using the same unit basis, time resolution and loss factors as your mine planning team and that you have not double counted recoveries.

</details>

<details>

<summary>Margins behave strangely at low throughput</summary>

Separate fixed and variable costs where helpful and ensure volume linked cost drivers are not applied to zero or minimal production periods unless that reflects real costs.

</details>

<details>

<summary>Model feels overly complex for early stage studies</summary>

Start with simple annual average grades and recoveries, then only add more detailed patterns when you have better information or the decision warrants it.

</details>

## Related guides

* [Build a Board Reporting Pack](/how-tos/dashboards-and-reporting/build-a-board-reporting-pack.md)
* [Build a Bottom Up Forecast](/how-tos/core-modelling/build-a-bottom-up-forecast.md)
* [Historical Fundamentals Imported](/help/stock-ticker-fundamentals/historical-fundamentals-imported.md)
* [Variable Type](/syntax/variables-syntax/variable-type.md)
