How to Automate Exposure Calculations for Risk Teams
The aggregate exposure figure in most risk committee packs is not wrong. It is late. Someone pulled the bound policy list on Tuesday, joined it to the treaty limits held in a second workbook, dropped the totals into a slide, and by the time the committee sits on Friday three more risks have been written into a zone that was already close to capacity. When teams say they want to automate exposure calculations, this is almost always the real complaint. The arithmetic is not hard. The arithmetic is only fresh for about four hours a week.
That distinction matters because it changes what you should buy and what you should build. If the problem were the mathematics, you would need a better model. If the problem is that the mathematics runs once a week by hand, you need scheduling, input plumbing, and an alert that fires without anyone remembering to look. Those are different projects with different costs, and confusing them is why so many risk exposure automation efforts stall halfway.
This walkthrough covers the second project: the surrounding automation. It assumes your actual modelling, whether that is a catastrophe model, a capital model, a potential future exposure simulation, or a set of actuarial assumptions signed off by someone with a qualification, stays exactly where it is. What follows is how to make the inputs arrive on time, the deterministic parts recompute on a schedule, and the breaches announce themselves.
What it really means to automate exposure calculations
Exposure work splits cleanly into two halves that people habitually blur together.
The first half is stochastic and judgement heavy. Simulating hurricane footprints across a portfolio, running a Monte Carlo on counterparty credit paths, calibrating dependence structures, deriving a one in two hundred year loss. This half lives in specialist software and stays there. It is validated, versioned, sometimes regulated, and no general purpose tool should be near it.
The second half is arithmetic and logistics. Sum the total insured values in each accumulation zone. Multiply undrawn commitments by a credit conversion factor and add the drawn balance. Convert three currencies at a stated rate on a stated date. Express the total as a percentage of available capacity. Compare that percentage to a limit. Tell somebody when it crosses.
Every step in the second half is something a competent analyst could reproduce by hand with the inputs in front of them. That is the practical test for what can be safely handed to automation: if a person could check the number with a calculator and the source documents, a machine can produce it. If the answer depends on a simulation whose seed and assumptions matter, it does not belong in a chat-built workflow.
Most teams discover that the second half consumes the majority of the hours. Pulling the bordereau out of an email, reconciling it against the ledger, chasing the broker for a missing schedule, re-keying treaty terms, checking that the FX rate used is the one policy says to use. Automated exposure calculations, done honestly, means removing that labour rather than replacing the model.
The four layers you automate when you automate exposure calculations
Break the job into four layers and the scope becomes obvious. Almost every failed attempt at exposure calculation software over-invests in one layer and ignores the other three.
| Layer | Question it answers | Where it should live | What breaks when it is neglected |
|---|---|---|---|
| Inputs | Where does each figure come from, and is it current? | Policy admin, ledger, CRM, broker files, reference sheets | The formula runs perfectly on last month's data and nobody notices |
| Formula | What exactly are we calculating, and under which definitions? | A written, versioned specification agreed by risk and finance | Two teams quote different exposure figures and neither is wrong |
| Schedule | When does it recompute, and how stale is acceptable? | An automation that runs whether or not anyone remembers | Numbers are only fresh in the hours before a meeting |
| Distribution | Who hears about a breach, and what do they do next? | A channel, an inbox, a brief, with a named owner | The threshold is crossed on Wednesday and discussed the following Tuesday |
Note that only one of these four is about mathematics. Teams that go shopping for a platform that automates exposure calculations usually evaluate on calculation features and then find that their real bottleneck was a broker who sends schedules as PDF attachments.
Work the layers in order. Inputs first, because a formula over bad inputs is confidently wrong. Formula second, because you cannot schedule something you have not defined. Schedule third. Distribution last, because alerting on a number you do not trust yet trains everyone to ignore alerts.
Step 1: write the exposure formula down before you automate anything
Ask three people on a risk team to state the aggregate exposure formula and you will get three answers that differ at the edges. The edges are where all the disputes live.
Write the specification in plain language, with every term bound to a source. A property aggregate might read: sum of total insured value for all policies bound and in force as at the reporting date, grouped by accumulation zone, gross of facultative reinsurance, capped at the per risk limit where a policy exceeds it, converted to reporting currency at the month end rate, expressed as a percentage of the zone capacity stated in the current treaty schedule.
A credit exposure specification might read: exposure at default equals drawn balance plus the undrawn commitment multiplied by the applicable credit conversion factor, aggregated first to obligor group using the parent mapping table, then to sector using the internal sector code, excluding facilities where the commitment has lapsed but the record has not yet been closed.
Then settle the questions nobody wants to settle:
- Date semantics. Bound date, inception date, booked date, or reported date? Most exposure disagreements are date disagreements wearing a costume. Pick one, name it, and use it everywhere.
- Pipeline treatment. Do quoted but unbound risks count? Many teams want a second figure that includes them, which is a separate calculation, not a modifier.
- Cancellations and endorsements. Mid-term changes that have been agreed but not yet processed are a known source of drift. Decide whether the automation reads the processed record only, and accept the lag, or whether a human gate adds pending items.
- Currency and rate date. A rate taken at run time and a rate taken at period end produce different answers. Both are defensible. Only one should be in the specification.
- Exclusions. Every real book has a category that is deliberately left out. Write the exclusion list down or it will be applied inconsistently.
Version the specification and put a date on it. When someone asks in six months why the number moved, the first thing you check is whether the formula changed, and you can only check that if it has versions.
Step 2: map every input to the system that holds it
Now list each term in the formula and write next to it the exact system, file, table, or person it comes from. This exercise is unglamorous and it is where most of the value is found.
A typical map for a mid sized insurance or lending team looks like this:
| Input | Where it actually lives | Refresh reality |
|---|---|---|
| Bound risks and insured values | Policy admin system, or a shared workbook if the book is small | Updated continuously, exported on request |
| Drawn and undrawn balances | Core ledger or accounting system | Updated daily, reconciled monthly |
| Treaty capacity and per risk limits | A PDF or a reference workbook | Changes once or twice a year |
| Facultative cessions | Broker correspondence and a placement log | Arrives by email, often late |
| Obligor or group mapping | A spreadsheet maintained by one person | Changes when someone remembers |
| FX rates | A rates provider or the finance close pack | Daily, but the policy rate may be monthly |
| Quoted but unbound business | CRM pipeline records | Updated when the deal team feels like it |
Two things usually fall out of this table. First, one or two inputs have no system at all: they exist as a document somebody emails, and they will need either a manual gate or a deliberate decision to run without them and mark the output as partial. Second, several inputs change far more slowly than the report that consumes them, which tells you the refresh cadence in the next step.
Be ruthless about the mapping owner. Every input needs a named person who is accountable for it being current, even if a machine does the pulling. Automation removes the keystrokes, not the ownership. This is the same discipline described in our guide to automated data insights, where the difference between a signal people act on and noise people mute is almost always whether a human owns the source.
Step 3: schedule the recalculation per input, not per report
The common design mistake is to refresh everything whenever the report is produced. That is expensive, slow, and produces spurious movement, because a rate that should be held at the month end value gets re-fetched at run time.
Instead, give each input its own cadence and its own staleness tolerance.
| Input class | How fast it moves | Sensible cadence | Staleness tolerance |
|---|---|---|---|
| Bound risks, new lending | Continuously | Daily, or intraday for a fast book | Hours |
| Ledger balances | Daily posting cycle | Daily after posting completes | One business day |
| Treaty terms and limits | Annually | On change, verified quarterly | Weeks |
| Group and sector mappings | Irregular | Weekly check for changes | Days |
| FX rates | Daily | Per the stated policy date | Defined by policy, not by convenience |
| Pipeline records | Irregular | Daily, flagged as indicative | One day |
The output then has a defensible staleness statement attached to it: this exposure figure reflects bound business through yesterday's close, treaty terms as at the current schedule, and rates at month end. That single sentence resolves a surprising number of committee arguments.
Prefer scheduled runs over purely event driven ones for anything that goes to a committee or a regulator. Event driven recalculation is attractive and it makes reproducing a number harder, because the run boundary is fuzzy. A fixed daily or weekly run with a recorded timestamp is easier to defend. Keep event triggers for the alerting layer, where reacting quickly is the point. The trade-offs between scheduled and event driven designs are covered in more depth in our field guide to analytics automation tools.
Step 4: alert on threshold breach, not on job completion
An automation that posts "exposure refresh complete" every morning teaches everyone to ignore it within two weeks. Alert on state, not on activity.
Four threshold types cover most risk exposure automation needs:
- Absolute level. Aggregate in a zone or sector exceeds a stated amount. Blunt and useful.
- Utilisation. Aggregate exceeds a percentage of available capacity. Usually a warning band and a hard band, for example a notification at three quarters and an escalation at nine tenths.
- Rate of change. The figure moved more than a defined amount since the last run. This is the one that catches data problems as often as it catches real accumulation, which is a feature.
- Composition change. The mix shifted materially even though the total did not, for example a single obligor group growing from a modest share to a dominant one within a sector that is still under its cap.
Every threshold needs three attributes written next to it: the owner by name, the action expected within a stated window, and the escalation path if that window passes. A threshold with no named owner is decoration.
Add suppression logic or you will destroy the alert's credibility. Fire on the transition into breach, fire again if the breach worsens by a defined step, stay quiet while it sits unchanged, and fire once on resolution. Daily repetition of an unchanged breach is the fastest known route to a muted channel.
Finally, put the exceptions where the humans already are. A message in the channel the risk team lives in beats a report nobody opens. If your team starts the day with a briefing, the exception list belongs there.
A workflow you can describe in one sentence
Once the four layers are defined, the automation itself is small. Here is the shape of a weekly aggregate refresh, expressed the way you would describe it out loud.
Weekly aggregate exposure refresh
Monday 06:00
Runs before the risk pack is assembled, not after
Pull bound business
Reads policy or facility records added since the last run
Read current limits
Pulls capacity and per risk limits from the reference schedule
Recalculate exposure
Applies the versioned formula per zone and per sector
Compare to thresholds
Flags utilisation bands, drift beyond tolerance, and composition shifts
Post exceptions
Sends breaches with figures and source references to the risk channel
Write run record
Appends inputs, formula version, outputs and timestamps for audit
Two details in that diagram do real work. The run record node is not optional: without it you cannot answer why a figure moved. And the alert node sends exceptions only, which is what keeps it worth reading in month six.
Step 5: keep a run record that survives a question
Six weeks after go live, someone will ask why the sector aggregate jumped. You need to answer in minutes, not days.
Log four things on every run: the inputs as retrieved, including their own timestamps; the formula version applied; the outputs by grouping; and the run time. Store it somewhere append only, even if that somewhere is a sheet. Then a movement investigation becomes a diff between two run records rather than an archaeology project.
This also protects you from the most insidious failure in automated exposure calculations, which is a source that silently returns fewer rows. An input that shrinks from four hundred records to three hundred and eighty without an error is invisible in the output and obvious in the run record. Add a row count and a control total to every input pull, and alert when either moves more than a small tolerance between runs.
Where Skopx fits, and where it does not
Skopx is an AI workspace that connects to nearly 1,000 tools a company already uses, including Gmail, Slack, Stripe, HubSpot, QuickBooks and Google Analytics. Four things it does are relevant to this job: chat that answers with cited data from your connected tools, a morning brief, an insights engine that surfaces risks and anomalies, and workflows you build by describing them in chat rather than wiring them in a canvas. It is bring your own key for any major model, at zero markup, which matters when a risk function has opinions about which model touches which data.
Here is the honest boundary. Skopx is not a catastrophe model, a capital model, or an actuarial engine, and it will not replace one. It is also not a dashboard building BI tool. If your instinct is to commission a dashboard, the more useful pattern here is to ask your data questions in chat and let the recurring ones become scheduled workflows. It is not a system of record either: the policy admin system and the ledger remain the books.
What it covers is the surrounding automation described above. Pulling figures from connected books, ledgers and sheets on a schedule. Recomputing a deterministic formula you have written down. Comparing the result to thresholds. Surfacing drift and exceptions in chat and in the morning brief so the breach reaches a human on the day it happens rather than at the next meeting. For a lean risk function, that is usually the gap.
| Job | Specialist risk software | Skopx | Spreadsheet |
|---|---|---|---|
| Stochastic loss modelling | Yes, this is its purpose | No | No |
| Regulatory capital calculation | Yes | No | No |
| Deterministic aggregation and limit checks | Sometimes, often licensed separately | Yes, as a scheduled workflow | Yes, manually |
| Pulling inputs from ledger, CRM and sheets | Rarely, usually a project | Yes, via connected tools | By export and paste |
| Scheduled recalculation without a human | Varies by product | Yes | No |
| Threshold alerts into a chat channel | Rarely native | Yes | No |
| Ad hoc questions about the current book | Limited to built reports | Yes, in chat with citations | Yes, if you rebuild the sheet |
| System of record for policies or facilities | Sometimes | No | No |
Pricing is straightforward: Solo is $5 per month and Team is $16 per seat per month, and you bring your own model key. The current details are on the pricing page, and the mechanics of describing an automation in chat are on the workflows page.
If you are still deciding what category of tool this even is, our overview of agent software lays out the types and where each one genuinely earns its place, and the best AI orchestration tools shortlist is deliberately honest about which problems need an orchestration layer at all. Teams that care about which model handles sensitive figures will find the reasoning in AI model orchestration useful, and smaller finance functions weighing this against a reporting stack should read business intelligence for small business before committing to a pipeline.
Common failure modes and how to avoid them
Automating a formula nobody agreed on. The automation becomes the arbiter of a definitional dispute, and the losing side quietly keeps their own sheet. Settle the specification in a room with risk and finance present, then automate.
Silent input failure. A connection expires, a sheet is renamed, an export returns a partial file. Without row counts and control totals, the output looks normal. Alert on input shape, not only on output value.
Alert fatigue. Daily repetition of the same unchanged breach. Fire on transitions and material worsening only.
Confusing point in time with restated. A figure recalculated today using today's mappings will not match the figure produced last month, even for the same period, if the group mapping changed. Decide whether history is frozen or restated, and label every output accordingly.
Treating the automation as the record. The workflow produces a view. The policy system and the ledger remain the books. When they disagree, the books win and the workflow gets fixed.
Scoping the model in. The most expensive version of this project is the one where someone decides that since the aggregation is automated, the loss estimation should be too. Keep the boundary where you drew it.
A short checklist before you automate exposure calculations
Run through this before building anything. If you cannot answer all seven, you are not ready to automate, you are ready to write a specification.
- Is the formula written down, versioned, and agreed by both risk and finance?
- Does every input in the formula have a named system and a named owner?
- Which inputs have no system, and what is the manual gate for them?
- What is the staleness tolerance for each input, in hours or days?
- What are the thresholds, and who acts on each one within what window?
- What gets logged on every run so a movement can be explained in minutes?
- Where is the boundary between this automation and the specialist model, written explicitly?
Frequently asked questions
Can automation replace our catastrophe or capital model?
No, and no honest vendor should suggest otherwise. Those models are validated, often reviewed by regulators or auditors, and depend on assumptions that carry sign off. What automation replaces is the work around them: collecting inputs, running deterministic aggregations, checking limits, and getting exceptions in front of people. Treat the model as a black box you feed and read, not something to reimplement.
How often should exposure be recalculated?
Set the cadence per input rather than per report. Bound business and ledger balances usually warrant a daily run. Treaty terms and mapping tables change rarely and need a periodic verification rather than a daily pull. The output should carry a plain statement of what it reflects, for example bound business through yesterday's close at month end rates. That statement resolves more disputes than a faster refresh would.
What is the difference between exposure calculation software and a BI dashboard?
A dashboard renders numbers someone has already assembled. Exposure calculation software, or the automation layer standing in for it, assembles them: retrieving inputs, applying a defined formula, checking thresholds, and raising exceptions. The distinction matters because most teams who say they need a dashboard actually need the assembly and the alert. A chart that nobody opens on the day a limit is breached has not helped.
Do we need a data warehouse before we can automate this?
Usually not, if the calculation touches a handful of systems and produces one or two grouped outputs. A warehouse earns its place when many consumers need governed, reconciled history across many sources. For a single exposure calculation with a written formula, pulling directly from the connected systems on a schedule is simpler, cheaper, and far easier to audit, because the lineage is one hop instead of five.
How do we handle inputs that only arrive as PDFs or email attachments?
Be explicit rather than clever. Either the automation waits for a human to place the file where it can read it, and the run is marked incomplete until then, or the run proceeds and the output is labelled as excluding that input. What you must avoid is an automation that quietly reuses last period's file. Make the missing input visible in the alert, so chasing the broker becomes part of the loop instead of a forgotten task.
What does this cost to run in practice?
The automation layer itself is a small line item: Solo at $5 per month or Team at $16 per seat per month, plus your own model key billed directly by the provider at zero markup. The real cost is the specification work in step one and the input mapping in step two, which is analyst time and cannot be bought. Budget a week of somebody's attention for that, and treat the tooling decision as the cheap part of the project.
Skopx Team
The Skopx engineering and product team