The thing clients bought
Senior specialists deciding what mattered, explaining the result, and standing behind it when a board pushed back.
A ten-person regulated investment manager sold highly specialised climate-risk analysis that took a senior analyst roughly a week to produce for each client. The work was valuable but could not scale without repeatedly consuming the same scarce expert capacity.
We decomposed the advisory workflow into repeatable analytical components and expert judgement, then built a configurable engine combining satellite data, exposure mapping, financial modelling and scenario analysis. Clients could change defined inputs while specialists retained the decisions that required judgement.
One analyst could now serve three clients instead of one. Once prospects saw the working product, pipeline conversion increased from 50% to 70%, and nearly every existing client asked to pay for platform access.
A small regulated investment manager working on climate and market risk. Around ten senior people, most of them out of global banks, serving two quite different buyers: institutions deciding where to put money, and companies with a lot of physical stuff in industry, energy and farming.
They weren't selling climate data. They sold what it would cost a specific company, worked out against that company's own accounts. The analysis was excellent. They just couldn't produce it twice without spending the same senior week again.
Senior specialists deciding what mattered, explaining the result, and standing behind it when a board pushed back.
A financial analytics library, a simulation engine, satellite data, and components built to be reused.
A working platform and dashboards, real and in use, shown off as proof the firm was sophisticated instead of sold as the thing itself.
Engineering had already built shared, reusable components. That only pays back if a family of products is coming, and nobody had defined one. The architecture was quietly answering a product question nobody had asked out loud, and that gap turned out to be the whole job.
A flood, a new law, a price move. None of it matters to a finance team until somebody has carried it all the way to a number in their own accounts.
Hills and water flow are what make a flood risk specific to one site instead of a whole region. How fine the detail is decides whether the answer is usable.
Satellite layers are raw material. They only become a risk product once you join them to a list of the company's sites and a valuation model.
This is the honest bit. Your exposure figure is only ever as good as the link between a company on paper and a physical location on the ground.
We didn't run a discovery sprint and hope an AI roadmap fell out. We studied how the experts think and decide, and the automation opportunities came out of that.
The order matters more than people expect. You need to know what the domain is for before you decompose what the experts do, and you need the cues behind their judgement before you can say what a machine should carry.
Settle the purpose before the mechanism. Stops a team building the thing nobody asked for.
You can't hand a job to a machine before you've named it.
Turns "could a machine do this" from an opinion into a finding.
Split each step four ways instead of judging the whole step. That's what gives you a nuanced answer instead of a yes or no.
Answered by the hazard filters, the map, and the sudden-versus-slow split.
Answered by the site list, the location matching and the vulnerability scores.
Answered by the scenario controls, the loss figure and the price curves.
Automating the easy cases makes the leftover ones rarer and harder. Those have to land somewhere a person is looking.
A number with no confidence attached invites exactly the wrong kind of trust.
You can't bolt an evidence trail on afterwards. If it isn't captured while the sum is being done, the answer can't be defended.
We designed the programme backwards from the decisions that had to be made. Each session had one question and one set of tools, and couldn't start until the previous one had produced an answer.
One rule, set at the start: no session ends without a decision written on the wall. If we ran out of time we cut scope.
If we can't name the decision, we can't build for it.
Eleven capabilities came out as six claims. The five that failed had no decision above them, which told us more than the six that passed.
What evidence would move them.
Both segments wanted the same thing: a figure they can defend, attached to their own operations, with a range and a date. That became the design constraint for every screen.
Draw it before judging it.
Ten stages. Three manual jams ate most of the elapsed time, and all three sat below the line the client can see, where nobody could ever object to them.
Get the signals, not the opinions.
“Could a machine do this” stopped being an opinion. If the signals could be written down, the step could be assisted. If not, it stayed human.
Split every step four ways before deciding.
The survivors all cleared the same two bars: they could be audited, and the data existed at the detail we'd assumed.
Design the human moments first, then fill in the machine.
Three delivery tiers on deliberately different economics, and a written list of the moments that stay human on purpose.
You can't decide what to turn into a product until you know which decision the output serves and what would make somebody act on it. Session three produces the map the whole engagement turns on. Session four is the one most programmes skip, and it's the one that turns opinion into evidence. Five is deliberately destructive. Six puts the service back together with the people still in it.
The mixed room was the method. Almost every disagreement that mattered sat between quantitative research and commercial, or between engineering and advisory. Never inside one team. Separate interviews would have given us four tidy, incompatible views. One room forced the trade-offs to close in the session. The exception was session four, run one to one, because nobody admits what they notice in front of an audience.
A consulting method is a set of decisions that happens to live in people's heads. Writing it down was most of the work. Deciding what a machine should carry was the rest.
Two things did the heavy lifting. The before-and-after service map shows what moved. The ladder gave every capability a current rung and a next one, which ended an argument that had been going in circles.
Turning inputs into settings a buyer can change is what turns a one-off study into a product.
Shared components serving one bespoke service are over-engineering. Serving a family of products pays for itself several times over. Same spend, opposite verdict.
The AI layer, the calculation engine, and human accountability. Anything that blurs them is a liability dressed up as a feature.
Every new market or sector question got treated as its own study. Same analysis, different inputs, another senior week gone. Nobody saw it as a problem. It was just how the work got done.
We proposed one engine with a set list of variables the user controls. A fixed set of combinations covered most of the questions people asked. It was also the cheapest way to test whether any of this held. If a configured analysis couldn't answer what a bespoke project had answered, nothing further down the roadmap was worth starting.
Candidates came out of the service map. Every manual step became one, and each had to get through four gates before it went near a roadmap.
In regulated advice, a guess you can't explain is a liability. So every candidate had to prove it solved a real problem, could be explained to a regulator, and had data behind it.
Once the repeatable middle was separated out, the components underneath turned out not to be specific to any one kind of risk. The same core answers several quite different commercial questions.
The clearest evidence of the whole engagement is a menu. Where a capability sits in the navigation says what the firm believes it sells.
Serving two buyers this different normally costs you focus. Here it did the opposite. Analysing companies with a lot of physical stuff, their sites, their supplies, their exposure to policy and weather, produces something that didn't exist before: detailed, bottom-up intelligence about which real operations are fragile.
That is exactly what investors need to judge which companies are safe to hold. The operator business produces the raw material that makes the investor business defensible. One improves as the other grows, so what looks like a lack of focus turns into an advantage, and it's the reason the roadmap's third stage exists at all.
Four screens redesigned from the working product, three proposed for things the analysis defined but the platform hadn't reached. Anonymised throughout. Every figure is illustrative, computed on published mechanisms.
This is where the research work cashes out. The three-question split, the shortcut people take, who does which part, the countermeasures. They all turn up here as concrete design decisions.
Hazard filter, map, scenario controls and per-site scoring on one screen
| Asset | ACUTERiver flooding | ACUTESurface flooding | ACUTEStorm surge | ACUTEWildfire | ACUTEDrought | ACUTEWind | CHRONICCoastal flooding | CHRONICSubsidence | CHRONICExtreme heat |
|---|---|---|---|---|---|---|---|---|---|
| SITE-023941 | 56 | 92 | 40 | 30 | 23 | 54 | 54 | 54 | 54 |
| SITE-122452 | 51 | 86 | 45 | 30 | 30 | 30 | 53 | 56 | 30 |
| SITE-121234 | 56 | 89 | 12 | 53 | 15 | 54 | 54 | 54 | 54 |
| SITE-121442 | 60 | 95 | 86 | 24 | 20 | 54 | 54 | 54 | 54 |
| SITE-121344 | 54 | 92 | 34 | 30 | 45 | 53 | 53 | 53 | 53 |
| SITE-434345 | 54 | 85 | 65 | 65 | 54 | 49 | 49 | 49 | 49 |
Commodity, energy, macro and financial exposure with the payment schedule underneath
| Date | Total notional | Fixed notional | Aggregate | Market | CF (PV) |
|---|---|---|---|---|---|
| 2026-01 | 40,713 | 15,396 | 56.70 | 55.74 | -2,300,964 |
| 2026-02 | 39,705 | 15,312 | 56.66 | 55.71 | -2,238,026 |
| 2026-03 | 40,965 | 15,857 | 56.65 | 55.62 | -2,303,995 |
| 2026-04 | 40,209 | 14,818 | 56.58 | 55.64 | -2,254,553 |
| 2026-05 | 38,907 | 12,811 | 60.61 | 55.44 | -1,131,657 |
| 2026-06 | 40,020 | 14,370 | 56.35 | 55.32 | -2,223,306 |
The bespoke country study, turned into something you configure. Same screen, four sets of settings.
Base parameters only. One country, cost as a share of import value.
| Origin | Levy cost |
|---|---|
| Global avg | 6,860 |
| Origin B | 5,096 |
Base material cost switched on. The levy is now shown against what the goods themselves cost.
| Origin | Base material | Levy cost |
|---|---|---|
| Global avg | 17,056 | 6,860 |
| Origin B | 15,416 | 5,096 |
Seven origins compared on the same basis. This is the state that changes a procurement decision.
| Origin | Base material | Levy cost |
|---|---|---|
| Global avg | 17,056 | 6,860 |
| Origin A | 15,416 | 1,960 |
| Origin B | 16,400 | 5,096 |
| Origin C | 17,384 | 5,096 |
| Origin D | 18,368 | 5,880 |
| Origin E | 19,352 | 7,448 |
| Origin F | 20,336 | 8,624 |
Phase-in applied across the compliance period, all origins, cost per year.
| Origin | 2026 | 2028 | 2031 | 2034 |
|---|---|---|---|---|
| Origin A | 2,500 | 10,000 | 61,000 | 100,000 |
| Origin B | 6,500 | 26,000 | 158,600 | 260,000 |
| Origin C | 7,500 | 30,000 | 183,000 | 300,000 |
| Origin D | 9,500 | 38,000 | 231,800 | 380,000 |
| Origin E | 11,000 | 44,000 | 268,400 | 440,000 |
Adjusting currency and carbon price assumptions, with the resulting cost path
Every disclosure clause mapped to the capability that answers it
| Processes to identify and assess climate riskDescribe the process, own operations and value chain, under multiple pathways including a high-emissions one | Core platformCost engine | Covered |
| Hazard identificationIdentify hazards, define short, medium and long horizons | Core platform | Covered |
| Exposure assessmentAssess exposure of assets and activities, considering location and hazard likelihood and severity | Core platform | Covered |
| PoliciesDescribe policies to manage material climate impacts, risks and opportunities | n/a | Client-authored |
| Actions and resourcesDisclose mitigation and adaptation actions and the resources allocated | Adaptation module | Partial |
| TargetsDescribe targets for adaptation and physical risk mitigation | Adaptation module | Partial |
| Anticipated financial effectsMonetary amount and share of assets at material physical risk, split acute and chronic | Core platformCost engine | Covered |
| Location of significant assetsDisclose location of significant assets at material physical risk | Core platform | Covered |
| Net revenue at riskNet revenue from activities at material physical risk, monetary and proportional | Cost engine | Covered |
| Methodology disclosureScope, horizons, calculation methodology, critical assumptions and limitations | Cost engine | Covered |
| Reconciliation to the accountsReconcile to the relevant financial statement line items | n/a | Client-authored |
The same exposure priced three ways over one period
| Revenue disruption | 0.0 |
| Adaptation CAPEX | −2.9 |
| Residual damages | −50.8 |
| Insurance premium | −28.0 to −112.1 |
| Revenue disruption | 0.0 |
| Replacement CAPEX | −41.1 |
| Residual damages | −50.8 |
| Insurance premium | −28.0 to −112.1 |
| Revenue disruption | −9.7 |
| CAPEX | 0.0 |
| Total damages | −169.3 |
| Insurance premium | −93.5 to −373.8 |
The screen that makes automation defensible
| Type | Why it was raised | Context | Confidence | |
|---|---|---|---|---|
| Entity match | Operator name on the site licence differs from the registry parentTwo candidate parents share a trading name | Site 12442 · rolling mill | 0.62 | AcceptCorrect |
| Scope classification | Production route ambiguous between two eligible codesRoute determines whether upstream inputs are in scope | Consignment 8841 | 0.58 | AcceptCorrect |
| Anomaly | Cost per tonne 3.4× the sector median for this originDirection and magnitude both outside expected band | Origin D · Q3 batch | rule | AcceptCorrect |
| Entity match | Registry shows dissolution mid-periodOwnership transferred, coordinates unchanged | Site 09813 | 0.71 | AcceptCorrect |
| Extraction | Threshold value absent from the published textFalls back to the prior period value pending review | Regulatory update · clause 14 | 0.44 | AcceptCorrect |