The sensitivity pack is the proudest exhibit in the room. Eleven variables, each flexed to a punishing value, coverage holding throughout. The sponsor turns the pages slowly, because this is the section that took three weeks.
The credit officer waits until the end and asks one question. In the case where the price falls — what happens to your naira costs?
There is no answer, because in that case nothing happened to naira costs. In the sensitivity pack the price falls while the exchange rate, the interest rate, the cost base and the offtaker’s balance sheet all stand politely still. Eleven variables were tested. No event was.
That question is where a great many Nigerian raises quietly change size.
Ranking is not survival
The single-input sensitivity is not sloppy work. It is careful work aimed at a different target.
Flex one input, hold the rest, record the effect on the answer, repeat, sort the results by magnitude and you have a tornado chart. It is an excellent instrument, and what it measures is which assumption your answer is most sensitive to — where to spend diligence effort, which number to argue about, which cell deserves a better source. It ranks inputs.
Ranking inputs and surviving events are different questions, and the sensitivity pack answers only the first. When a sponsor reads “coverage holds through a twenty per cent price fall” as evidence of resilience, they have taken a statement about the model’s largest first derivative and heard a statement about the project’s ability to withstand a bad year. Nothing in the exercise supports that reading.
The credit officer knows this, which is why the pack does not reassure them, and why they rarely explain why. They simply size the debt off something else.
Your inputs are not independent — and here they never are
The reason one-at-a-time testing misleads is not that it is insufficiently severe. You can flex a single input to a catastrophic value and still learn nothing useful. It misleads because it holds constant precisely the variables that move with the one being stressed.
Adverse events do not arrive as variables. They arrive as events, and an event moves several inputs at once, in directions that reinforce one another. Call that set the Adverse Bundle: one named event, every input it touches, the sign of each movement, all applied together.
Consider the event Nigeria’s own central bank instructs banks to model — “a sharp decrease in global oil price, with consequential impact on the rest of the economy.” Trace it into a project model and the channels are not subtle.
| Channel | Direction | Why |
|---|---|---|
| Realised revenue | Down | Direct, for oil-linked or oil-indexed income |
| Naira | Weaker | Oil is the dominant source of export earnings; the CBN names naira depreciation as a recommended stress driver |
| Financing cost | Up | Policy response and widening risk premium; floating and hard-currency debt reprice |
| Operating cost | Up in naira | Imported inputs, spares and services reprice with the currency |
| Capital cost | Up in naira | Import-priced equipment; overrun risk on part-built scope |
| Counterparty strength | Weaker | Offtakers, customers and guarantors face the same shock you do |
| Government behaviour | Slower, tighter | Receivables lengthen; discretionary approvals and payments slow |
Read the sensitivity pack against that table. Six or seven of its “independent” variables are one event wearing different labels. Testing them separately does not approximate testing them together; it systematically removes the correlation that constitutes the risk.
And the second-order point matters more than the first. If your project has no oil revenue at all — a manufacturer, a residential developer, a logistics operator — most of that table still applies to you. The currency channel, the financing channel and the counterparty channel transmit an oil shock to businesses that never touch a barrel. In this economy the oil price is a macro variable before it is a commodity, which is why sponsors who reasonably consider themselves outside the sector still carry the bundle.
Ratios and thresholds punish simultaneity
Here is the mechanism most sponsors have not drawn, and it is arithmetic rather than judgement.
Cover ratios have inputs on both sides. Cash available for debt service sits in the numerator; debt service sits in the denominator. An event that reduces revenue while raising financing cost does not hit the ratio once. It squeezes it from both ends, and the squeeze compounds rather than adds.
Take a project modelled at 1.30× cover with a covenant at 1.10×. Cut cash flow by a tenth and the ratio falls to about 1.17× — a comfortable pass. Leave cash flow alone and raise debt service by a tenth and it falls to about 1.18× — also a pass. Do both, which is what the event actually does, and the ratio lands near 1.06×. The covenant breaks.
Each stress alone clears the threshold with room. Together they fail. No single-input test in the pack could have found this, however severe the single input, because the failure is not in either variable — it is in their conjunction.
The threshold is the second half of the mechanism. Covenants are cliffs, not slopes. A project does not experience a covenant at 1.11× and a slightly worse covenant at 1.09×; it experiences nothing and then a breach, with cash sweeps, blocked distributions and a lender in the room. Modelling that ignores conjunction while the consequence is a cliff will misprice the outcome in exactly the region that decides the deal.
Your lender’s supervisor already ruled on this
The strongest argument for the bundle is not that it is more prudent. It is that the institution reading your pack is examined this way itself.
The Basel Committee’s stress-testing principles require that “key variables within each scenario should be internally consistent” (Principle 4), and that modelling and calibration “consider the interactions between different risk types, as well as the linkages among models” (Principle 7). Internal consistency is precisely what the one-at-a-time pack lacks: a scenario in which the price collapses while the currency holds is not a severe scenario, it is an incoherent one.
Nigeria’s own regulator is more specific still. The CBN’s guideline on stress testing for Nigerian banks distinguishes the two exercises in a single sentence — stress tests should assess “the impact on banks’ exposure to specific events (sensitivity analysis) or joint movements of a set of economic and financial variables under adverse scenarios” (§3.1) — then requires banks to “ensure that key variables within each scenario are internally consistent” (§3.2), to run “dynamic scenario testing that estimates the impact of a combination of factors” (§3.3(C)), and to model the oil-price shock quoted above with its consequential effects (§3.2(B)).
The bank across the table from you is required by its own supervisor to think in bundles. When you hand it a tornado chart, you are offering a methodology its regulator has already distinguished from the real thing — and asking it to take comfort from an exercise it is not permitted to take comfort from internally.
“Stress everything at once and nothing passes”
This is the right objection and it deserves a precise answer, because it is true that a sponsor can construct a scenario no project survives, and true that some lenders’ scenarios feel arbitrary.
The discipline is causation. A bundle is not the worst value in every row; it is the set of movements one named event actually produces, in the directions that event implies. The currency moves because oil earnings fell, not because you selected a bad number for the currency. That constraint does real work: it rules out the incoherent doom case as firmly as it rules out the incoherent comfort case, and it is why the Basel standard is severity and plausibility together — scenarios “sufficiently severe but plausible”, in the Committee’s phrasing, and the CBN’s “plausible yet present a serious challenge”.
A defensible bundle is therefore falsifiable in a way a tornado chart is not. Anyone can dispute your event, your channels or your directions, and that argument is worth having. Nobody can dispute an eleven-variable pack, because it makes no claim about the world.
What to do instead
Do not begin by choosing stresses. Begin by naming the event.
Take the single event most likely to hurt this project — for most Nigerian assets it is the one the CBN names, but yours may be a counterparty failure, a regulatory change or a construction event. Write it at the top of a page. List every input in your model that event touches, and the direction of each. Then run those together, once. That single run will tell you more than the eleven you already have.
Then reverse it. Instead of asking whether the model survives a stress you selected, ask what combination of movements would breach the covenant — and only then judge whether that combination is plausible. Sponsors find this uncomfortable, and it is the most useful hour they will spend on the model, because it converts an unanswerable question about robustness into a specific claim about the world that can be argued, evidenced and either believed or not.
Which is where the credit officer was pointing all along. The question was never how far one variable could move. It was what happens on the day several of them move together, which is the only way they have ever moved.
