Skip to content

Insurance vertical — beginner tutorial

Released in FCC v1.2.0. You are new to FCC and want a gentle introduction to the Insurance vertical. This tutorial walks you through loading the pack, inspecting one persona, and running the simplest scenario end-to-end — no AI provider required.

The Insurance pack in one paragraph

The insurance vertical pack (at src/fcc/data/verticals/insurance.yaml) contains 6 personas spanning underwriting, actuarial reserving, IFRS 17 / Solvency II reporting, claims fraud detection, reinsurance structuring, and parametric / climate risk. Headline compliance frameworks: ACORD Reference Architecture, IFRS 17, Solvency II, NAIC Model Laws.

Focus persona: IUW — Insurance Underwriter Analyst

We'll anchor this tutorial on IUW, because it's the one most relevant to the beginner audience in the Insurance domain.

from fcc.verticals.registry import VerticalRegistry

reg = VerticalRegistry.from_builtin()
pack = reg.get("insurance")
persona = next(p for p in pack.personas if p.id == "IUW")

print(persona.name)
print(persona.risk_category or "minimal")
riscear = persona.riscear or {}
print("Archetype:", riscear.get("archetype"))
print("Role:", riscear.get("role"))

Step 1 — Load the pack

The VerticalRegistry auto-discovers all packs from src/fcc/data/verticals/. You never need to list them manually.

from fcc.verticals.registry import VerticalRegistry

reg = VerticalRegistry.from_builtin()
print(f"Loaded {len(reg)} packs with {sum(len(p.personas) for p in reg.all_packs())} total personas")

You should see 6 packs and 45 personas on v1.2.0.

Step 2 — Inspect IUW

pack = reg.get("insurance")
p = next(p for p in pack.personas if p.id == "IUW")

print(f"Name: {p.name}")
print(f"Role: {(p.riscear or {}).get('role', '—')}")
print(f"Compliance frameworks: {list(p.compliance_frameworks)}")

Step 3 — Run a mock scenario

FCC always defaults to MockAIClient unless you explicitly set an API key, so you can run scenarios without any cost or cloud calls.

fcc scenarios list --vertical insurance

Pick the first scenario in the list, then:

fcc scenarios run --scenario INS-001

You'll see persona-generated output in your terminal — all mocked, all deterministic.

What you learned

  • Packs are auto-discovered YAML files.
  • Every persona has a nested R.I.S.C.E.A.R. block you can read from Python.
  • Scenarios run in mock mode by default.

Verify what you did

Run the vertical test suite to make sure your changes didn't break anything:

pytest tests/test_verticals.py -k "insurance" -v

All beginner-path steps in this tutorial leave your working tree unchanged — the pack YAML is read-only from your perspective. The only state that accumulates is in _output/ (scenario run traces) and docs/model-cards/ (if you regenerated cards).

Next steps