Project Kilimanjaro is AIA’s Africa-first decision-intelligence operation — built on governed infrastructure, so every number we put in front of a board is defensible.
The reframe that makes it work: a model is a function, and its inputs are not the model’s private property — they are firm-level shared knowledge. When two AIA models running “the same scenario” disagree, the firm is voting against itself. So there is one governed source; every model reads from it. That single change is what makes stewardship, audit and reproducibility possible at all.
Four pillars. Every artifact is testable against them.
Each pillar maps to a specific gap in the African decision-support market. If a piece of Project Kilimanjaro work doesn’t speak to at least one, it’s drifting.
Integrated 01
One discipline alone fails in Africa. Technical misses political risk; political misses economics; economics misses operational ground truth. Project Kilimanjaro = Technical × Economic × Political on one substrate.
Repeatable 02
Every quarter, every team rebuilds the same African inputs from scratch — effort that never compounds. Project Kilimanjaro = a governed registry every model reads from once.
Auditable 03
Board, regulator and co-investor all ask "where did this number come from?" Project Kilimanjaro = a commit-grade trail behind every value.
Scalable 04
A second client should amortise the substrate, not double the build. Project Kilimanjaro = the same governed infrastructure serving many engagements.
The problem it kills.
Today every model team carries its own copy of the inputs. They are usually close, rarely identical — and nobody can prove which number fed which board paper.
The freight model has its diesel price. The financial model has its diesel price. PLEXOS has its diesel price. When two models running the same scenario disagree, leadership cannot tell whether that is a real modelling difference or just an input mismatch.
And there is no way to reproduce a figure we put in front of the board six months ago, because the inputs that fed it were never recorded.
If a model needs an input the firm has a view on, it reads it from one governed place — versioned in git, owned by a named steward, stamped with the commit that produced it. That is the whole idea.
What we sell — four offerings, one funnel.
Intelligence widens the funnel; Research deepens a specific issue; Data & Modelling provides technical certainty; Decision Support takes it to the boardroom. A single client can buy one, two, all four, or the combination across cycles — same firm, four different buyers, four different budgets.
| Offering | What it is | Price band | Who buys |
|---|---|---|---|
| Market Intelligence Always on |
Continuous African mining + energy + transport scanning, on a recurring subscription. | $5–25k / yr | Head of strategy · chief economist |
| Targeted Research On-demand depth |
Productized deep-dives on a specific issue, without commissioning a $500k bespoke study. | $5–25k / report | Sector strategy leads |
| Data & Modelling Technical certainty |
Bespoke scenario engines, demand and financial models with the African data already in. | $50–250k+ / job | Head of project finance · analytics |
| Executive Decision Support Board-ready |
Independent, audit-grade analysis worked into a board-ready narrative. | $25–100k / job | CFO · chief risk officer |
The buyer decision map.
The questions buyers actually pay to answer — mapped to the assets that answer them and the offer that sells the answer. This is the bridge from "what we sell" to "what we've built".
| Buyer decision | Assets that answer it | Offer |
|---|---|---|
| How will liquid-fuels demand, supply and import dependency evolve? | liquid_fuels_modelmaster-assumptions-reporesearch_agent | Liquid Fuels Outlook · annual-refresh retainer · paid scenario pilot |
| Which gas-monetisation options are viable under landed-cost and return constraints? | client_x_mozambiquegas_mass_balancelng_pipeline_shipping_modelmaster-assumptions-repo | Gas value-chain screening · deal-space report · retained gas intelligence |
| Which corridor / port / rail investment strategy is right-sized? | freight_market_sizingfreight_demand_modelfreight_financial_modelling | Corridor intelligence pack · 90-day pilot · infrastructure feasibility retainer |
| Are we overpaying for freight, and which mode / contract changes cut the spend? | diverzify_freight_analysismaster-assumptions-repo | Freight cost-efficiency diagnostic · overcharge audit · mode-optimisation pilot |
| What changed in the market, why does it matter, what to do next? | research_agentaia-website | Weekly Pulse / Project Kilimanjaro Desk subscription · proprietary brief · executive retainer |
| Can a board / client trust the assumptions behind a recommendation? | master-assumptions-repo | Assumptions audit · defensibility pack · governed model deployment |
| Which proposal team or delivery shape fits an opportunity? | team_recommender | Internal GTM operations support |
Mirrors narrative/insights_source_map.md — the single source of structure.
The infrastructure underneath.
Two productized assets sit under all four offerings. Neither alone is sufficient; together they are what makes the offerings productized rather than bespoke — and they are invisible to the client, who only ever sees the deck, the model and the data feed.
The Master Assumptions Registry
13 governed domains, ~485 forecast and assumption values, exposed to every model through one API. Makes Data & Modelling scalable, Decision Support defensible, and Intelligence cheaper to produce.
Open the registry →The Project Kilimanjaro Modelling SOP
The productized methodology that turns governed values into defensible model outputs — roles, sign-off matrix, the seven-step workflow, the compliance gate. The registry stores values; the SOP defines how they get used.
See the checklist →Mozambique gas monetisation.
The clearest proof the operation is real and not aspirational: the registry already governs the inputs underneath delivered, partner-approved paid work for a Mozambique gas value-chain client — not a separate product the client buys, the operating layer beneath the engagement. Here is the whole motion in four steps.
The decision
At what gas price does a Mozambique gas-to-X plant clear its hurdle rate? The question has to be answered across four plant types (GtL, Methanol, NH3/Urea, GtP) and five ports (Afungi, Nacala, Beira, Inhassoro, Maputo) — twenty plant-port economics, each needing the same shared inputs.
Pull governed inputs — never local copies
Every shared input is read from the registry. Crucially, the named owner of each input is the same person who stewards that domain — the governance and the delivery are the same people, not two parallel worlds.
| Domain | Input | Steward / owner |
|---|---|---|
| fuel_prices | Gas, diesel, HFO, ammonia, methanol price tracks | Lauren |
| energy | Port tariffs & infrastructure constants | Kenneth |
| energy | Transmission & pipeline tariffs | Ayodele |
| financial | Plant economics, capex/opex, hurdle rates | Jenny |
Model — cost against worth
A DCF per plant-port computes a floor (the landed, cost-recovery price) against a ceiling (the bearable, affordable price). The verdict isn’t a single number — it lives in the gap between the two. Run low / medium / high; one-lever what-ifs go to the tornado, never become a new scenario.
Board-ready, and reproducible
The client sees an XLSX deliverable and a board deck — the registry is invisible. But every number is sourced, dated, owned, and stamped with the assumptions_commit that produced it. Six months later, the same scenario at the same commit returns the same number. When the audit committee asks where it came from, the answer is one click.
Why this one engagement is the entire proposition
Integrated — four domains, four disciplines, one substrate. Repeatable — the next plant DCF re-binds to the same fuel-price domain; nothing is re-curated. Auditable — every figure carries its commit. Scalable — the registry already governs these inputs, so the next gas engagement starts from the substrate, not from a blank sheet.
Transnet & TNPA corridor economics.
The second flagship, in a completely different value chain — the proof the substrate isn’t a one-domain trick. The authority-published tariff schedules that decide whether a corridor pays are governed in the registry and read by the corridor financial model, with the integration verified end-to-end against production. The Boegoebaai S9 corridor (Northern Cape) is the showcase.
The decision
Do we put capital into this port, this rail line, this corridor — and at what access tariff does it actually pay, against the volume that’s really coming? A freight forecast alone won’t answer it: you need where the system bottlenecks, the tariff that clears it, and who sets that tariff — threaded into one call.
Pull governed inputs — the authority schedules
The tariffs that decide the case aren’t guesses — they’re authority-published schedules, governed in the registry and owned by the stewards who liaise with each authority. The corridor model also reuses the same financial, macro and fuel-price domains the gas DCF read — one substrate, two value chains.
| Domain | Input | Steward / owner |
|---|---|---|
| ports | TNPA port tariffs — cargo & vessel dues, marine services, landlord | Sibongiseni |
| rail | Transnet Freight Rail — Component A + B, corridors, escalation | Tanya |
| financial · macro · fuel_prices | Hurdle rates, escalation, diesel — reused from the gas work | shared domains |
Model — the access-tariff envelope
Demand outruns the corridor; the gap is the investment case. The V2 InfraDCFEngine computes the tariff envelope — the price band that makes the build bankable without pricing freight off the line. Same cost-against-worth logic as the gas work: a floor (cost-to-serve) against a ceiling (what the freight can bear), and the verdict lives in the gap.
Board-ready, and verified against production
Registry-side integration is complete and verified end-to-end — all five handoff probes pass against the production API. Every tariff in the model carries its authority source and the commit that produced it; the consumer-side cutover from local spreadsheets to the governed feed is the last mile in flight.
Why this is a flagship in its own right
Integrated — engineering (the bottleneck) × economics (the tariff that clears) × politics (the authority that sets it). Repeatable — it reuses the gas work’s financial, macro and fuel domains untouched. Auditable — authority-sourced tariffs, every figure SHA-stamped. Scalable — one verified wiring pattern now extends to every corridor and freight model behind it.
The ExxonMobil gas mass balance.
The first two flagships prove the data layer — the registry governing inputs underneath delivery. This one proves the method layer: a live South African gas mass-balance engagement for ExxonMobil, run on the frontier where the registry doesn’t reach yet. Most of its entities — Mozambique upstream, LNG terminals, gas pipelines, demand zones — don’t exist in the registry today, so registry-first wasn’t possible. The Modelling SOP held anyway. That is the point.
A supermajor, a hard question
“What is South Africa’s gas mass balance under different demand and supply scenarios to 2035?” — six demand and six supply buckets, MECE, system and SA-inland subsystem residual views.
The SOP held anyway
A 42-row assumption register — every number with an owner, reviewer and approver — and an exception log surfacing six risks (two medium, four low) before review, not after. Discipline applied where the data layer couldn’t reach yet.
Sketch first, scaffold later
The model drove the framing through ~20 iterations; the formal register caught up once it worked. Exploratory mode, then a deliberate gate into production. Nothing pretends to be more finished than it is.
The frontier writes the roadmap
The gap analysis against the registry is the build list: the upstream, terminal, pipeline and demand entities this engagement needed are what the registry absorbs next.
Why this is a flagship in its own right
It proves the second infrastructure asset — the Modelling SOP — works in live delivery for a top-tier client, and that our governance discipline holds even on ground the registry hasn’t reached. An analyst who builds the model in a non-linear order hasn’t failed the method — they’ve run the iteration loop. The honesty is the credibility.
Rail manufacturing — the next CoE taking shape. Emerging
Build-in-public means showing the work before it’s finished. Rail manufacturing isn’t registry-wired end-to-end yet — but it already carries two live engagements that show both legs of the offer: the model and the strategy. The rolling_stock domain is the substrate being stood up to tie them together.
The Gibela delivery model
A CPV/MPS forecast of the Gibela train-delivery programme — revenue, cost, billing and cash flow across X’Trapolis Mega trainset volumes (62 / 55 / 24 scenarios). It solves for the premium that hits a target margin under hard scenario levers (the labour floor moves 555→612→712M ZAR with extensions; capex buffer; committed savings). Live in delivery today as an Excel/VBA model — the prime candidate to read the rolling_stock domain next.
The Swasap growth strategy
A board-signed three-year growth strategy (R500k, 8 weeks): situational analysis → strategy workshop → execution framework. It sizes the rolling-stock opportunity across Local (SA) / Regional (SADC) / Global (EU + NA) and the Transnet, Alstom, PRASA-via-Gibela and African-corridor segments — on an “any axle, any gauge” capability wedge, through the DTIC + ITAC regulatory lane.
Why it’s here while still emerging.
Two real engagements are already running — the delivery model and the board strategy, the same firm’s offer exercised at two rungs. The honest next step is in plain sight: stand up the rolling_stock domain so the Gibela model reads governed inputs and the strategy’s sizing rests on the same substrate the gas and corridor work already do. That move is what turns two engagements into a fourth flagship.
Pull the governed data into your tools.
One source, every tool. Copy-paste and you have a live, governed dataset in Excel or a notebook in under a minute — no re-keying, no stale copies. This is the data layer, in your hands.
A governed timeseries that refreshes. Data → Get Data → Blank Query → Advanced Editor:
let
Source = Csv.Document(
Web.Contents("https://www.africaia.com/insights/assumptions/series.csv?key=macro.gdp.timeseries_index"),
[Delimiter=",", Encoding=65001]),
Table = Table.PromoteHeaders(Source)
in
Table
Preview the dataset →
Two lines to a DataFrame. Self-serve from the intranet, or hit the governed API.
import pandas as pd
df = pd.read_csv("https://www.africaia.com/insights/assumptions/series.csv?key=macro.gdp.timeseries_index")
df.plot(x="period", y="value")
# or the governed API (scenario-aware):
# requests.get("https://master-assumptions.digitalnyika.com"
# "/v1/series/macro/gdp.timeseries_index?scenario=medium",
# headers={"X-API-Key": "<your-key>"})
?domain=macro for one domain. Same URL Power Query & scripts pull from.
What is live now.
This is the board the wider team watches the operation take shape on. It reflects today, not the pitch — edited as each piece of wiring lands.
As of 21 June 2026 — updated as wiring lands.
| Piece | Where it stands | Status |
|---|---|---|
| Production API | master-assumptions.digitalnyika.com | live |
| Streamlit explorer | assumptions.digitalnyika.com | live |
| Governed domains | 13 domains · ~485 values | live |
| Mozambique gas | Registry underneath delivered paid work — Lauren, Kenneth, Ayodele, Jenny | live |
| Transnet & TNPA corridors | Corridor financial model — registry integration verified end-to-end (5/5 probes) · Sibongiseni, Tanya | live |
| ExxonMobil gas mass balance | SOP in live delivery — register + exception log; entities feeding the registry roadmap | in flight |
| Rail manufacturing — Gibela delivery model | CPV/MPS forecast in live delivery — rolling_stock wiring candidate | emerging |
| Rail manufacturing — Swasap growth strategy | Board-signed 3-yr growth strategy in delivery | emerging |
| Liquid Fuels (Vopak / Reatile) | External pilot — consuming the API | in flight |
| LNG transport | Cost-to-serve calculator + storefront shipped | in flight |
| Run Registry (Layer 2) | Closes the audit loop on the recorded SHA | on the roadmap |
Portfolio health — auto-scanned
Live from scripts/build_estate.py — the engineering reality behind the board above: what's versioned and backed up.
At risk: team_recommender, aia_power_tools, gtm-operating-system, swasap_growth_strategy, diverzify_freight_analysis — not backed up to a remote. (Fix: git init + push to the AIA org.)
It’s a ground-floor seat, not a maintenance job.
Most of the operation is still being built — which is exactly the offer. You’d be shaping the infrastructure the whole firm ends up reading from, not maintaining someone else’s. You don’t join a team of generalists; you become the named person whose number a board paper rests on.
Own a number the firm trusts
As a domain steward, your value is the one every model reads. Real authorship, not anonymous analysis.
Work the whole weave
Technical × Economic × Political on one decision — not one thread in a silo. The integration is the craft.
Build assets that compound
Your model gets reused, not rebuilt next quarter. Effort that amortises is rare in advisory work.
Early enough to shape it
The method, the products and the team are still forming. What you build becomes how it’s done.
Open honestly — the gaps are the opportunity.
Today the bench is the wider AIA analytical practice; the dedicated seats are mostly open. We’d rather show you the real org than a finished one.
| Seat | What you’d own | Status |
|---|---|---|
| Domain steward | Own a governed domain — the number the whole firm reads from is yours to defend. | open across CoEs |
| Substrate engineer | Build and run the registry, the API and the scenario / risk engines underneath every model. | open |
| Economic discipline lead | Market sizing, pricing, capital flows, macro — the leg we most need next. | open · named gap |
| Product owner | Own one of the four offerings end-to-end, from signal to board-ready. | open |
| Technical discipline lead | Modelling depth — the weave’s technical thread. | in seat |
| Political discipline lead | Sovereign, regulatory and stakeholder risk — the third leg of the weave. | forming |
We grade on one thing — producing the weave — on a five-band ladder from Analyst to Partner, the same spine for everyone. See where you’d land, and what the next band asks of you. The door in is a conversation with Nigel.
See how we grow — the career ladder Self-assess against the bandsWhere to next.
“Bullish on the destination; ruthless on the evidence.”
How we actually work
The operating manual — operations, method, governance, the modelling checklist.
Nkabom →Browse the registry
Every governed domain, field and scenario — resolve a live value.
The Assumptions Registry →Pull it from your laptop
The API and Python client — read governed inputs into your own model.
API reference →