Frequency-Severity Modelling in Excel: Guide | Vose Software

Frequency-Severity Modelling

How many losses, how big — and what the total looks like Last updated August 2026

What is frequency-severity modelling?

Frequency-severity modelling describes the total losses of a period by separating two questions that have different answers: how many loss events will occur (frequency), and how large will each one be (severity). Each question gets its own probability distribution, and combining them produces the aggregate loss distribution — the distribution of total losses on which pricing, reserving and capital decisions rest.

The separation is what makes the approach powerful. Frequency and severity usually have different drivers — more claims in a stormy year does not by itself make each claim larger — different data, and different responses to change: a higher policy deductible cuts small claims out of the frequency and reshapes the severity of what remains, while portfolio growth scales frequency alone. Modelling them separately lets each effect be applied where it belongs, then recombined.

The same structure appears far beyond insurance pricing: operational risk (number of incidents × cost per incident), warranty and recall exposure, credit portfolio losses, maintenance and outage costs — any total that is a random number of random-sized amounts. Statisticians call the result a compound distribution; this article stays with the practical name.

Choosing the frequency distribution

The Poisson distribution is the standard starting point for event counts: it follows from assuming events occur independently at a steady underlying rate, and it needs only that rate as a parameter. Its signature property is that its variance equals its mean — which is also its main limitation, because real count data are often more variable than that.

That extra variability — overdispersion — typically appears when a common driver affects many events at once (weather, an economic downturn, a systemic process failure) or when the portfolio itself is heterogeneous. The usual remedy is the negative binomial distribution, which can be read as a Poisson whose rate is itself uncertain, and which fits overdispersed count data far better.

The practical discipline: fit candidate distributions to the historical counts and compare the fits statistically rather than assuming. If the counts trend over time (portfolio growth, exposure change), normalise to a per-exposure rate first, or the fitted distribution will blur trend into randomness.

Choosing the severity distribution

Loss sizes are almost always right-skewed — many small losses, occasional huge ones — so the usual severity candidates are skewed, strictly positive distributions: lognormal and gamma as workhorses, and heavier-tailed families such as the Pareto where extreme losses are the real concern. Because the largest simulated losses come from the fitted tail rather than from the data itself, the tail choice can matter more than the fit in the body.

Two data traps deserve respect. First, recorded claims are often truncated or censored: losses below a deductible never appear in the data, and losses above a policy limit appear only at the capped value. Fitting a distribution naively to such data biases both body and tail — the fitting method has to account for the reporting thresholds. Second, inflation: old claims must be brought to current money before fitting, or severity is understated.

As with frequency, fit several candidates and compare information criteria — and sanity-check the fitted tail against the worst losses the business has actually seen or can foresee. This is what that looks like in ModelRisk: candidate distributions fitted to the data and ranked by information criteria, with the fitted curves overlaid on the histogram:

ModelRisk distribution fitting in Excel: candidate severity distributions ranked by SIC, AIC and HQIC information criteria, with fitted curves overlaid on the data histogram

How do you build the aggregate loss distribution?

The aggregate loss is a sum with a random number of terms: draw a count n from the frequency distribution, draw n losses from the severity distribution, add them up — and repeat thousands of times. Done literally in a spreadsheet, this is awkward: the number of claim cells changes every sample, so the naive layout either fixes an arbitrary maximum or grinds through slow workarounds.

The better approach is to construct the compound distribution directly. Several numerical methods exist, each with its niche:

  1. Aggregate Monte Carlo — simulates the compound sum efficiently in one step; fully general, works with any frequency-severity pair.
  2. Panjer recursion — computes the aggregate distribution exactly (to a discretisation) for the Poisson, binomial and negative binomial frequency families; no simulation error at all.
  3. Fast Fourier Transform (FFT) — builds the aggregate distribution via characteristic functions; very fast, and convenient when several risks must be combined.
  4. De Pril and method of moments — De Pril for portfolios of individual policies; moment-based approximations when speed matters more than tail precision.

In ModelRisk each of these is a single spreadsheet function — VoseAggregateMC, VoseAggregatePanjer, VoseAggregateFFT, VoseAggregateDePril, VoseAggregateMoments — taking a frequency distribution and a severity distribution as arguments and returning the aggregate loss directly in the cell. The whole frequency-severity model collapses to one readable formula, and different methods can be cross-checked against each other in adjacent cells. Below, ModelRisk's aggregate window: the frequency distribution on the left, the severity distribution on the right, and the resulting aggregate loss distribution underneath:

ModelRisk aggregate modelling window in Excel: a frequency distribution and a lognormal severity distribution combined into the aggregate loss distribution

Deductibles, layers and correlated risks

Real-world losses rarely pass through untouched: policies carry deductibles, limits and reinsurance layers, and what matters is the loss to a particular layer. Because these structures apply per event, they must be applied to the severity distribution before aggregation — not to the aggregate total afterwards, which gives a different and wrong answer. ModelRisk models these structures directly with functions such as VoseAggregateDeduct and VoseAggregateTranche, so the layer arithmetic happens inside the aggregation.

The second real-world complication is dependence between risks. Storm losses and flood losses are not independent; operational incident classes share causes; lines of business respond to the same economy. Summing independently-modelled aggregates understates the portfolio's bad years. ModelRisk expresses these dependencies with copulas — which capture, for example, tail dependence where risks go bad together — and lets correlated aggregate distributions be combined into a portfolio total. The worked correlated insurance portfolio model shows the pattern. Below, a Clayton copula in ModelRisk's correlation window — note how the dependence tightens in one tail, exactly the behaviour a plain correlation coefficient cannot describe:

ModelRisk multivariate copula window showing a Clayton copula scatter with strong dependence concentrated in one tail

Reading the results: premiums, reserves and capital

Different decisions read different parts of the aggregate loss distribution. Pricing starts from the mean — the pure premium — plus loadings for expenses, profit and risk. Reserving and budgeting look at the middle of the distribution: a P75 or P90 of aggregate losses is a budget with a stated chance of sufficiency, exactly parallel to the P80 cost contingency logic used in project estimating.

Capital questions live in the far tail: solvency frameworks reference high percentiles of the annual loss distribution — the 99.5th percentile over one year is the reference point in European insurance regulation — and tail measures such as expected shortfall describe how bad the exceedances are. This is where method choice pays off: percentile estimates deep in the tail converge slowly under simulation, while recursion- and FFT-based aggregates compute them without simulation noise.

Frequency-severity modelling in Excel with ModelRisk

ModelRisk covers this entire workflow inside Excel: fitting distributions to claim counts and claim sizes (with truncation and censoring handled in the fitting), the full library of frequency and severity distributions, the one-cell aggregate functions listed above, deductible and layer structures, and copulas for dependence — with simulation results reporting any percentile or tail measure of the outcome.

Worked models to take apart and adapt: the insurance premium calculation model, the policy payout distribution, an operational risk estimation and a financial exposure model using FFT, alongside the full example-model library. If you are new to simulation itself, start with how Monte Carlo simulation works.

ModelRisk costs at most €1,550 per user per year, and the fully functional 15-day free trial is enough to fit your own claims data and build a first aggregate model.

Frequently asked questions

What is frequency-severity modelling?

Describing total losses with two distributions — one for how many loss events occur, one for the size of each — and combining them into the aggregate loss distribution used for pricing, reserving and capital decisions.

What is an aggregate loss distribution?

The probability distribution of the sum of all individual losses in a period, where both the number of losses and each loss amount are random. Premiums, loss ratios and high-percentile capital requirements are all read from it.

Which distribution should I use for claim frequency?

Poisson as the starting point; negative binomial when the count data show more variability than Poisson allows (overdispersion), which is common when shared drivers affect many claims at once. Fit both and compare.

How do I combine frequency and severity in Excel?

Simulating each claim in its own cell is unmanageable because the claim count changes every sample. ModelRisk's aggregate functions (Monte Carlo, Panjer, FFT, De Pril, moments) build the aggregate loss distribution from the two input distributions in a single cell.

What are Panjer recursion and FFT used for?

Computing the aggregate loss distribution directly, without simulation error — Panjer for the Poisson, binomial and negative binomial frequency families, FFT via characteristic functions for speed and for combining several risks. Both are single functions in ModelRisk.

ModelRisk logo

ModelRisk

Adding risk and uncertainty to your Excel model

Fit your claims data, build the aggregate loss distribution in one cell, and read premiums and capital straight from the simulation — all inside Excel.