Tutorials › Exam ASTAM - Advanced Short-Term Actuarial Mathematics › Simulating Finite-Sample Performance From A Data-Generating Model

Exam ASTAM · Bootstrap and Simulation Inference · Tutorial 631 of 979

Simulating Finite-Sample Performance From A Data-Generating Model

Build a frequency-severity model, generate repeated samples, and use the resulting estimates to examine finite-sample behavior.

Intermediate 12 min read

What You'll Learn

  • Specify policy-level frequency and claim-level severity distributions and their assumptions
  • Generate one simulated portfolio sample in the correct order
  • Repeat the sampling process while holding the model and sample size fixed
  • Calculate frequency, severity, and aggregate-loss estimates from simulated samples
  • Distinguish model-based simulation from bootstrap resampling of observed data
  • Check simulation outputs for denominator, exposure, and unit errors

Why Simulate Repeated Samples?

An estimator is a rule for turning observed data into an estimate. Its value changes when the data change, even if the underlying risk process stays the same. Simulation makes that variation visible: specify a model for how data arise, generate many independent samples of the same size, and calculate the estimator in each sample.

For actuarial work, a useful starting point is a frequency-severity model. A frequency model describes how many claims occur; a severity model describes the size of each claim. Together, they generate claim-level data and, if needed, aggregate losses. The purpose here is to understand how to construct and run that repeated-sample experiment—not to assume that its results automatically describe every real portfolio.

Definition: A data-generating model is a stated probability model for the observations in a study. A finite-sample simulation study repeatedly generates independent samples of a specified size from that model, applies a specified estimator to each sample, and examines the resulting estimates. The model, sample size, estimator, and simulation procedure together define the study.

Specify the Frequency-Severity Model First

Consider \(n\) policies observed for one year. For policy \(i\), let \(N_i\) be its claim count, and let \(Z_{ij}\) be the amount of its \(j\)th claim. A common model assumes that the \(N_i\) are independent Poisson random variables with mean \(\lambda\), that the claim amounts are independent and identically distributed with a specified severity distribution, and that counts and claim amounts are independent. Different policies are also independent under this model.

The total loss for policy \(i\) is \(X_i=\sum_{j=1}^{N_i}Z_{ij}\), with \(X_i=0\) when \(N_i=0\). If the severity distribution has mean \(\theta\), then the expected loss per policy is \(\lambda\theta\). This assumes no policy limits, deductibles, inflation adjustments, or other coverage modifications unless they are explicitly built into the simulated payment amounts.

Before generating observations, state the units and assumptions. For example, if \(\lambda\) is claims per policy-year, then the observation period and exposure must be expressed in policy-years. For a policy with exposure \(e_i\), the corresponding frequency model is \(N_i\sim\operatorname{Poisson}(\lambda e_i)\). If exposure differs across policies, using the same Poisson mean for all of them would not represent that model.

Simulation sequence: For each policy, generate its claim count from the frequency model. Conditional on that count, generate that many claim amounts from the severity model. Calculate any policy-level or portfolio-level quantities, and then apply the estimator to the generated data. Repeat this entire process independently for each replication.

What Repeated Samples Tell You

Let \(T\) denote an estimator and let \(T^{(r)}\) be its value in replication \(r\). With \(R\) replications, the simulation produces \(T^{(1)},\ldots,T^{(R)}\). These values are a finite Monte Carlo representation of how the estimator behaves when samples of the chosen size are generated under the stated model.

The data-generating parameters should normally be held fixed across replications when the goal is to examine performance under one specified model. The observations are regenerated; the assumed model is not refitted or changed between replications unless that is deliberately part of the procedure being studied. The simulated outputs are not independent real-world portfolios, and they do not show how the estimator behaves under models that were not simulated.

This differs from a bootstrap. In a model-based simulation, new data are generated from a specified probability model. In a nonparametric bootstrap, resamples are drawn from observed data; in a parametric bootstrap, data are generated from a fitted model. The earlier material on bootstrap methods addresses those resampling procedures. A simulation study of finite-sample performance begins by specifying the data-generating model whose consequences are to be examined.

Derivation: Expected Aggregate Loss per Policy

The model gives a simple justification for the expected-loss benchmark used in the examples. Suppose \(N\sim\operatorname{Poisson}(\lambda)\), and claim amounts \(Z_1,Z_2,\ldots\) are independent of \(N\), identically distributed, and have finite mean \(\theta\). Define \(X=\sum_{j=1}^{N}Z_j\), with an empty sum equal to zero.

Conditional on \(N=k\), the sum contains \(k\) claim amounts. By linearity of expectation, \(E[X\mid N=k]=k\theta\), including \(k=0\). Taking expectation over the claim count gives

$$ E[X]=E\!\left[E[X\mid N]\right] =E[N\theta] =\theta E[N] =\lambda\theta. $$

The result requires the stated independence and finite severity mean. It does not, by itself, account for policy terms, expenses, dependence among claims, or varying risk characteristics. If simulated payments are limited or subject to a deductible, the expected payment is generally not \(\lambda\theta\) for the unlimited loss model; the payment distribution must reflect the coverage terms.

Worked Example: One Simulated Portfolio and Its Aggregate-Loss Estimate

A hypothetical insurer models one-year claim counts for each policy as independent \(\operatorname{Poisson}(0.5)\) variables. Claim amounts are independent exponential random variables with mean \(\$1{,}000\), independent of counts and across claims. There are \(n=4\) equal-exposure policies, with no deductible or limit. In one simulated replication, the claim counts are \(0,1,2,1\), and the generated claim amounts are \(\$800,\$600,\$1{,}000,\$1{,}200\), respectively, in claim order. Calculate the estimated aggregate loss per policy.

Method. For each policy, sum its claim amounts to obtain \(X_i\), then calculate the sample mean \(\widehat{m}=\sum_{i=1}^{n}X_i/n\). This estimator targets the model mean \(E[X]=\lambda\theta\).

Policy totals. Policy 1 has no claims, so \(X_1=\$0\). Policy 2 has one claim, so \(X_2=\$800\). Policy 3 has two claims, so \(X_3=\$600+\$1{,}000=\$1{,}600\). Policy 4 has one claim, so \(X_4=\$1{,}200\).

Portfolio total and estimate. The simulated total is \(\$0+\$800+\$1{,}600+\$1{,}200=\$3{,}600\). Therefore,

$$ \widehat{m}=\frac{\$3{,}600}{4}=\$900.00. $$

Check. The model benchmark is \(0.5\times\$1{,}000=\$500\) per policy-year. The one-replication estimate of \(\$900\) need not equal that benchmark; it is the result from this particular small simulated portfolio. The method avoids dividing by the number of claims, which would instead estimate mean claim severity.

Constructing a Repeated-Sample Study

A clear simulation procedure fixes the model, sample size, estimator, and replication count before generating results. Within each replication, the same rules are followed from the beginning. Keeping a record of generated counts and claim amounts for a small run can help verify the implementation before running a large number of replications.

1
Write down the target model.
State the frequency distribution and its parameters, severity distribution and parameters, exposure basis, independence assumptions, and any coverage modifications.
2
Fix the sample size and estimator.
For example, specify the number of policies and whether the estimate is mean claim frequency, mean claim severity, or aggregate loss per policy.
3
Generate one complete sample.
Generate the frequency for each policy, then the corresponding claim amounts, and calculate the estimator using its stated denominator.
4
Repeat independently.
Regenerate all observations under the same model for each replication, recording one estimator value per completed sample.
5
Inspect the output and validate the run.
Check that sample sizes, exposures, units, and estimator definitions are consistent. A simulation result is interpretable only if the implemented model matches the stated one.

Worked Example: Repeated Estimates of Mean Claim Severity

A hypothetical one-year portfolio has independent policy claim counts \(N_i\sim\operatorname{Poisson}(0.4)\). Claim amounts are independent exponential random variables with mean \(\$1{,}000\), independent of counts. Three policies are generated in each replication. The estimator is the pooled mean claim amount, calculated as the total of all claim amounts divided by the total number of claims, when that count is positive. Three simulated replications produce the following data.

Replication 1. Policy counts are \(1,0,1\); the two claim amounts are \(\$500\) and \(\$1{,}500\). The total claim count is \(2\), and the total amount is \(\$2{,}000\). Thus the estimate is \(\$2{,}000/2=\$1{,}000.00\).

Replication 2. Policy counts are \(2,1,0\); the three claim amounts are \(\$400,\$800,\$1{,}800\). The total claim count is \(3\), and the total amount is \(\$400+\$800+\$1{,}800=\$3{,}000\). Thus the estimate is \(\$3{,}000/3=\$1{,}000.00\).

Replication 3. Policy counts are \(0,1,0\); the one claim amount is \(\$2{,}400\). The total claim count is \(1\), so the estimate is \(\$2{,}400/1=\$2{,}400.00\).

Check. The estimator values are \(\$1{,}000,\$1{,}000,\$2{,}400\); each uses claims, not policies, in its denominator. In a replication with zero claims, this pooled severity estimate is undefined, not zero. A study must state how such replications are handled if they occur. The method avoids incorrectly treating a no-claim policy as a claim of size zero.

Worked Example: Reading a Small Simulation Run

A hypothetical portfolio has eight equal-exposure policies per replication. The policy counts are independent \(\operatorname{Poisson}(0.25)\) variables, and claim amounts are independent exponential random variables with mean \(\$2{,}000\), independent of counts. The estimator is the frequency estimate \(\widehat{\lambda}=\sum_i N_i/8\), in claims per policy-year. In eight independent replications, the simulated portfolio claim totals are \(0,1,1,2,2,3,4,1\). Find the estimates and the fraction within \(0.125\) claims per policy-year of the true frequency.

Calculate each estimate. Divide each replication's total claim count by eight. In order, the estimates are \(0/8=0\), \(1/8=0.125\), \(1/8=0.125\), \(2/8=0.250\), \(2/8=0.250\), \(3/8=0.375\), \(4/8=0.500\), and \(1/8=0.125\).

Apply the stated comparison. The true frequency is \(0.25\). The absolute differences from \(0.25\) are \(0.25,0.125,0.125,0,0,0.125,0.25,0.125\). Six estimates? Checking each value against the inclusive threshold \(0.125\), the three estimates equal to \(0.125\), the two equal to \(0.250\), and the one equal to \(0.375\) qualify: \(3+2+1=6\) of the eight.

Result and check. The fraction is \(6/8=0.7500\). The zero and \(0.500\) estimates are each \(0.25\) from the true frequency, so neither is within the specified threshold. This calculation describes these eight simulated replications only; with so few replications, it is a coarse and unstable summary of the model-based result.

Common Mistakes and Checks

A simulation can be computationally correct but answer the wrong question if the model or estimator is misread. In the severity example, dividing total loss by three policies would be wrong because there are three policies only in one specified replication; the estimator is pooled severity and its denominator is the number of claims. Conversely, dividing the aggregate-loss example by its four claims would answer a severity question instead of estimating loss per policy.

Other frequent errors include using an annual frequency parameter for a different exposure period, generating one claim amount per policy regardless of the simulated count, and treating the expected value of one sample as the required result for every replication. Zero-claim samples are valid outcomes under a Poisson frequency model. Whether an estimator is defined for such a sample depends on the estimator, not on a decision to silently replace its value.

  • Write down the unit for every parameter and estimate.
  • Use the number of policies, claims, or exposure units required by the estimator as its denominator.
  • Generate claim amounts only for claims that occur.
  • Keep the model fixed across replications unless a changing model is part of the stated study.
  • Check a small run by hand before relying on a large simulation output.

A well-specified simulation is a controlled experiment under an assumed model. It can reveal how an estimator behaves for a chosen sample size and set of assumptions; it cannot establish that those assumptions are appropriate for a real portfolio. This simulation framework is aligned with the SOA Exam ASTAM (Advanced Short-Term Actuarial Mathematics) syllabus.

Check Your Understanding

For each problem, state the calculation and keep the estimator's unit and denominator explicit.

  1. A hypothetical one-year portfolio has four policies with counts \(0,1,2,1\). The observed simulated claim amounts are \(\$300,\$700,\$1{,}000,\$2{,}000\). Find simulated aggregate loss per policy. (Answer: \(\$1{,}000.00\))
  2. Three policies have simulated counts \(2,0,1\) and claim amounts \(\$600,\$1{,}200,\$900\). Find the pooled mean claim severity. (Answer: \(\$900.00\))
  3. Eight equal-exposure policies in one replication have a total of five claims. What is the frequency estimate per policy-year? (Answer: \(0.625\) claims per policy-year)
  4. In five replications with sample size four policies, total claim counts are \(0,1,2,2,3\). What is the fraction of frequency estimates at most \(0.5\) claims per policy-year? (Answer: \(4/5=0.8000\))
  5. A severity estimate is defined as total claim amount divided by total claim count. A simulated replication has no claims. What estimate should be recorded without adding an extra convention? (Answer: Undefined; the denominator is zero.)
Clinical Biostats