Skip to content
Back to Resources
How-To

How to Automate Exposure Calculations for Risk Teams

Skopx Team
July 30, 2026
18 min read

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.

LayerQuestion it answersWhere it should liveWhat breaks when it is neglected
InputsWhere does each figure come from, and is it current?Policy admin, ledger, CRM, broker files, reference sheetsThe formula runs perfectly on last month's data and nobody notices
FormulaWhat exactly are we calculating, and under which definitions?A written, versioned specification agreed by risk and financeTwo teams quote different exposure figures and neither is wrong
ScheduleWhen does it recompute, and how stale is acceptable?An automation that runs whether or not anyone remembersNumbers are only fresh in the hours before a meeting
DistributionWho hears about a breach, and what do they do next?A channel, an inbox, a brief, with a named ownerThe 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:

InputWhere it actually livesRefresh reality
Bound risks and insured valuesPolicy admin system, or a shared workbook if the book is smallUpdated continuously, exported on request
Drawn and undrawn balancesCore ledger or accounting systemUpdated daily, reconciled monthly
Treaty capacity and per risk limitsA PDF or a reference workbookChanges once or twice a year
Facultative cessionsBroker correspondence and a placement logArrives by email, often late
Obligor or group mappingA spreadsheet maintained by one personChanges when someone remembers
FX ratesA rates provider or the finance close packDaily, but the policy rate may be monthly
Quoted but unbound businessCRM pipeline recordsUpdated 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 classHow fast it movesSensible cadenceStaleness tolerance
Bound risks, new lendingContinuouslyDaily, or intraday for a fast bookHours
Ledger balancesDaily posting cycleDaily after posting completesOne business day
Treaty terms and limitsAnnuallyOn change, verified quarterlyWeeks
Group and sector mappingsIrregularWeekly check for changesDays
FX ratesDailyPer the stated policy dateDefined by policy, not by convenience
Pipeline recordsIrregularDaily, flagged as indicativeOne 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:

  1. Absolute level. Aggregate in a zone or sector exceeds a stated amount. Blunt and useful.
  2. 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.
  3. 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.
  4. 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

Pulls bound business and current limits from connected systems every Monday morning, recalculates aggregate exposure by zone, and posts only the exceptions.

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.

JobSpecialist risk softwareSkopxSpreadsheet
Stochastic loss modellingYes, this is its purposeNoNo
Regulatory capital calculationYesNoNo
Deterministic aggregation and limit checksSometimes, often licensed separatelyYes, as a scheduled workflowYes, manually
Pulling inputs from ledger, CRM and sheetsRarely, usually a projectYes, via connected toolsBy export and paste
Scheduled recalculation without a humanVaries by productYesNo
Threshold alerts into a chat channelRarely nativeYesNo
Ad hoc questions about the current bookLimited to built reportsYes, in chat with citationsYes, if you rebuild the sheet
System of record for policies or facilitiesSometimesNoNo

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.

  1. Is the formula written down, versioned, and agreed by both risk and finance?
  2. Does every input in the formula have a named system and a named owner?
  3. Which inputs have no system, and what is the manual gate for them?
  4. What is the staleness tolerance for each input, in hours or days?
  5. What are the thresholds, and who acts on each one within what window?
  6. What gets logged on every run so a movement can be explained in minutes?
  7. 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.

Share this article

Skopx Team

The Skopx engineering and product team

Related Articles

Stay Updated

Get the latest insights on AI-powered code intelligence delivered to your inbox.