Enter the basic indicators of a project — or pre-fill from a platform asset or a statutory fiscal regime — and get a Derived NPV, IRR, government take and the government–investor revenue split. The engine is deterministic (not AI) and blind-pilot validated. Refine any assumption to your own convention terms; nothing is locked.
Pre-fill a starting point, then edit anything. Fields are User-input or Platform-Sourced.
Computed from the inputs at left using the published DCF + government-take method.
| Lifetime ($m, undiscounted) | Amount |
|---|
| Yr | Project FCF | Investor FCF | Gov take |
|---|
Fiscal terms can change across a mine's life. A stability clause freezes them; without one, a reform can lift the state's share. This brackets that exposure — it holds the rates you entered for the whole life ("stabilised") against a reformed set you specify, and shows the gap: the value a stability clause would protect, and the take the state would gain without one.
Both runs are Derived from the same engine. This is a bracket — rates held versus reformed for the whole life — not a specific asset's clause: actual stabilisation terms live in the negotiated mining convention and are usually confidential, so they are Absent at asset level here. Several jurisdictions have recently weakened or removed stability protection (e.g. Mali, Côte d'Ivoire) — the regime note above shows each one's status.
Method: after-tax DCF (straight-line depreciation tax shield; royalty handled per jurisdiction deductibility; state free-carry applied to post-tax equity cashflow — the investor bears 100% of initial capex, as a free-carried state contributes none). AETR = lifetime government take ÷ lifetime pre-take project net cashflow. A single discount rate is applied to both project and investor cashflow. Full methodology ›
Boundary: the government-take model captures royalty, corporate tax and state free-carry. It does not model super-profits / windfall taxes (e.g. DRC's windfall levy), withholding tax on dividends/royalties, local development levies, or VAT/customs — so it can understate total government take for a specific convention. Depreciation timing and loss carry-forward shift the NPV of take between years (straight-line is used here) without changing its lifetime total. Where a royalty is price-sliding (Zambian copper 4–10%; Ivorian/Malian gold), the default shown is indicative — set the rate to your price band.
The compute engine is validated two ways: against analytic ground truth — closed-form NPV/IRR, monotonicity, and hand-checked government-take arithmetic (independent of the engine) — and as a regression against the documented Afrimintel Python DCF reference (Kamoa-Kakula baseline), confirming the JS engine reproduces it within ±0.5%. The parity check is internal consistency, not third-party validation. Run a representative set of these checks live, here, in your browser.