Actuarial Science · Level 301
Actuarial Science 301 — Your Own Project
Price a product, stress a pension, or decide on reinsurance — your question, your recommendation.
Actuarial Science · Level 301
Actuarial Science 301 — Your Own Project
Price a product, stress a pension, or decide on reinsurance — your question, your recommendation.
Prerequisite: Actuarial Science 201.
Actuarial 101 and 201 were guided. This project is yours.
Worked examples — use it to compare structure and tone, not to copy a recommendation.
Module 1 — Your Own Project
Manager email
From: Dr. Sarah Okonkwo
Subject: One decision — your choiceYou have worked through motor claims, pricing, reserving and flood stress. Now the Risk Committee wants to see how you handle an open brief.
Choose one actuarial question below (or propose your own of similar scope). Deliver:
- A notebook with your calculations
- One chart for the committee pack
- A brief in
report/actuarial301_brief.md(500–700 words)Write for busy non-actuaries. Numbers first, jargon never without explanation.
— Sarah
Why this matters
Actuaries are hired to decide under uncertainty when the answer affects real money — premiums, reserves, pensions, reinsurance. The guided modules taught tools. This module tests whether you can assemble them for a question nobody spelled out step by step.
Step 1 — Choose your project
Pick one. Each is achievable with Python, pandas and the skills from 101/201.
Option A — Price a new young-driver product
A broker wants a telematics product for drivers aged 18–21. You have no telematics data yet — only the motor portfolio from Actuarial 101.
Task: Estimate a pure premium for 18–21 drivers using your historical data, add a loading, and recommend whether the product is viable. Discuss fairness (will safe young drivers subsidise risky ones?).
Option B — Pension longevity stress
A corporate pension scheme has 1,000 retirees aged 65. Use the mortality table from Actuarial 101. Assume £12,000 per retiree per year in payments.
Task: Estimate annual pension outgo if life expectancy at 65 increases by three years. Recommend how much extra the sponsor should contribute.
Option C — Flood reinsurance decision
Reuse the flood portfolio from Actuarial 201. The committee asks: should Horizon buy reinsurance that caps any single year's flood losses at £5m for a premium of £400,000?
Task: Compare stressed losses with and without the cap. Recommend buy or pass.
Option D — Your own question
Propose something of similar scope — one product, one stress test, one pricing decision. Email Sarah a one-paragraph proposal before you start (write it in your notebook as if you did).
Step 2 — Follow the actuarial workflow
Whatever you choose, use this structure in notebooks/actuarial301_project.ipynb:
- Business question — who is asking and what decision do they face?
- Assumptions — list them explicitly before calculating.
- Data — source files; generate synthetic data if needed (state that clearly).
- Calculations — frequency, severity, present value, stress scenario, etc.
- Chart — save to
outputs/charts/actuarial301_main.png. - Recommendation — one clear paragraph with numbers.
- Limitations — what you did not model.
Step 3 — Starter code (adapt to your option)
Question
Which option did you choose? State the decision the committee must make.
Code — load or recreate your data
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pathlib import Path
data_dir = Path("../data")
# Reuse files from actuarial101 if you completed 101/201:
# motor_policies.csv, motor_claims.csv, paid_triangle.csv, flood_portfolio.csv
# If files are missing, regenerate minimal synthetic data:
if not (data_dir / "motor_claims.csv").exists():
rng = np.random.default_rng(42)
n = 500
pd.DataFrame({
"policy_id": range(1, n + 1),
"driver_age": rng.integers(18, 70, n),
"claim_count": rng.poisson(0.08, n),
}).to_csv(data_dir / "motor_policies.csv", index=False)
claims = []
for pid in range(1, n + 1):
k = rng.poisson(0.08)
for _ in range(k):
claims.append({
"policy_id": pid,
"claim_amount": float(rng.lognormal(8, 0.6)),
})
pd.DataFrame(claims).to_csv(data_dir / "motor_claims.csv", index=False)
policies = pd.read_csv(data_dir / "motor_policies.csv")
claims = pd.read_csv(data_dir / "motor_claims.csv")
policies.head()What the code does
Checks for data from earlier modules and creates a minimal synthetic portfolio if needed. For a real actuarial project you would never hide synthetic data — state it clearly in your brief.
Add cells below for your calculations.
Code — chart template
plt.figure(figsize=(8, 4))
# Build a chart that supports your recommendation
# Examples: age-band pure premiums, pension cashflows, loss with/without reinsurance
plt.ylabel("£ or rate")
plt.title("Chart title the committee will understand")
plt.tight_layout()
plt.savefig("../outputs/charts/actuarial301_main.png", dpi=150)
plt.show()Step 4 — Write the committee brief
Create report/actuarial301_brief.md:
To: Risk Committee, Horizon Risk Consulting
From: [Your name]
Subject: [Your project title]
- Executive summary — recommendation in the first 4 sentences.
- Background — why this question matters now.
- Method — data, assumptions, techniques.
- Results — headline numbers; refer to your chart.
- Recommendation — specific action (price, reserve, buy reinsurance, etc.).
- Limitations — what could make your answer wrong.
- Personal reflection — did you enjoy this kind of decision-making?
Reflection questions
- Which part felt most actuarial — the coding or the recommendation?
- Did you feel comfortable stating a recommendation despite uncertainty?
- Would you rather work on pricing, pensions, or enterprise risk?
- Has this track helped you decide whether to explore actuarial exams?
Manager feedback
From: Dr. Sarah Okonkwo
Open projects separate people who wait for instructions from people who structure chaos. You do not need perfect models at 17 or 18 — you need honest assumptions and clear communication.
If you found yourself checking whether the recommendation was fair to policyholders or pensioners, not just mathematically correct, you were thinking like an actuary.
— Sarah
AQA Mathematics links
- Modelling cycle — assumptions, computation, validation, communication
- Expected value — pricing and reserving decisions
- Critical thinking — limitations and stakeholder impact
Beyond A-Level
Explore IFoA student resources and apprentice actuary vacancies. Many UK actuaries qualify while working — the exam path is demanding but well documented.
Module 2 — What You Have Learned
When you finish Actuarial Science 301, you will have learned to:
- choose an actuarial question and scope it for a real decision-maker;
- assemble tools from 101 and 201 without step-by-step guidance;
- state assumptions clearly before calculating;
- produce a chart and committee brief that non-actuaries can follow;
- recommend under uncertainty and reflect on whether this career path fits you.
You have finished the Horizon Risk Consulting actuarial track:
- Actuarial Science 101 — Could I be an actuary?
- Actuarial Science 201 — Becoming an actuary
- Actuarial Science 301 — Your own project
If measuring risk, pricing honestly and writing for decision-makers felt motivating, actuarial science may be worth exploring at university and beyond.