Exploration 02 — Personas & sequencing¶
Status: living working doc — session 2, drafted 2026-07-26; ranking below is a recommendation awaiting ratification by Giorgos. Inputs:
00-frame.md(diagnosis, shared primitives),01-market-scan.md(waves 1–2), the UI-pattern scan (risk-assessment-tool/docs/plan/ui-revamp.md), and the parallel corporate validation track (insurance-first exploration, Greek-data demo pending).
Standing principle adopted this session: engine plurality¶
Recorded as a product-level commitment, not just an architecture pattern (ADR-027):
- Never bind the platform to a single engine again — the CLIMADA lock-in of the
Gen-1 era is the anti-pattern.
climate-lama-engineis the default, not the definition. - Users can select the engine per run (
X-Enginedispatch, Phase 7.3 design); instances can restrict or extend the roster per client. - Multi-engine consensus (same scenario through N engines, agreement/divergence view) is a product feature, not a market-vacancy claim — reassessment 2026-07-26 refuted "no competitor offers it" (model blending is standard insurance practice; Nasdaq NRMC hosts 300+ models). The plurality commitment itself stands unchanged; the consensus view's value is validation/credibility, and it needs same-peril roster overlap to mean anything (see scan §Reassessment).
climate-lama-engineimproves by adopting best practices observed in other engines (CLIMADA parity harness already does this; extend the method to OpenQuake, physrisk, Oasis-ecosystem models as they join the roster).
Candidate engine roster (each enters via an adapter, never in-process coupling):
| Engine | Domain | Status | Note |
|---|---|---|---|
| climate-lama-engine | Multi-hazard climate impact, CB | Default, shipped | Ours; Apache-2.0 on PyPI |
| CLIMADA (sidecar) | Same domain, reference science | Designed (Phase 7.3) | Compat bridge + validation; GPL isolated behind process boundary |
| OpenQuake (GEM) | Seismic hazard + risk | New — the earthquake answer | AGPL — sidecar isolation mandatory; scoping in wave 3 |
| physrisk (OS-Climate) | Finance-oriented physical risk | Watchlist | Apache-2.0; also a reusable hazard-data source |
| Oasis-ecosystem models | Insurance cat models | Parked | Channel/credibility play, not near-term |
Persona ranking (recommended)¶
P1 — Regional / mid-market insurer (primary — CONDITIONAL; the revenue persona)¶
- Why first: regulation-driven demand (EIOPA ORSA; GR 5116/2024) in a mid-market tooling gap — corrected by reassessment 2026-07-26: the gap is not empty (free EIOPA CLIMADA-App, Ortec ClimateMAPS, bundled reinsurer atlases); what's vacant is the self-hosted portfolio-level workbench. And the only persona with a live validation channel (the corporate track's Greek-insurer demo).
- Conditionality (reassessment): P1-first is contingent on that corporate channel, which runs on another codebase and may not transfer. Recorded rule: P1 stays primary while the channel is live; checkpoint at the first corporate-track insurer feedback (expected autumn 2026); if no insurer validation lands by then, P3 becomes primary — the persona class that has actually paid for this work historically (EIOPA/GIZ/UNU-shaped institutions), with the CLIMAAX funding cliff (Dec 2026) as a dated catalyst.
- Product shape: portfolio workbench — book upload → per-asset scores → accumulation → EP/PML → what-if → ORSA scenario reports. Entry object: Portfolio; core rungs: portfolio → asset.
- Revenue mechanics: per-instance licence/subscription (white-label, self-hosted or hosted), plus the ORSA climate module as the first sellable unit — scenario-shaped (two EIOPA scenarios × three horizons × portfolio), which plays to the existing engine and sidesteps both validation gates.
- Competition: bundled reinsurer atlases (CatNet/NATHAN) — position as workbench vs. atlas; enterprise platforms — position on price, locality, self-hosting.
- Validation gates (from scan wave 2):
- Earthquake roadmap answer exists (OpenQuake adapter scoping) before any pitch.
- Interviews confirm per-asset granularity demand beyond zonal compliance.
P2 — Citizen (the marketing surface, not a revenue persona)¶
- Why second: shares the address-funnel infrastructure with the insurer's B2B2C embed (same geocoding, same precomputed surface, same score card) — building P1's embed makes P2 nearly free, and vice versa. It is also the public face: demos, press, the public-private angle, and the funnel First Street proved (free consumer portal → B2B data/API revenue → strategic acquisition).
- Product shape: address search → multi-hazard score card → plain-language deep-dive → mitigation tips. No parameter panel; curated defaults only.
- Revenue mechanics: none directly. Optional later: Munich-Re-style pay-per-report for SMEs (proven retail demand exists).
- Greek reality check: a Greek citizen asks about earthquake first — same gate as P1's.
P3 — Decision-maker / public sector (the instance customer, slower)¶
- Why third: real budgets (adaptation funds, EU projects) but slow procurement, and free competition (CLIMAAX, ThinkHazard, EU Risk Data Hub). Our edge: CLIMAAX workflows are Apache-2.0 and reusable as content; their funding ends Dec 2026 — the post-project vacuum may hand us regions that need a maintained product.
- Product shape: admin-unit risk profiles + report composer (pick municipality → dossier; compare units; pre/post-adaptation narrative). Core rungs: country → admin unit.
- Revenue mechanics: project-priced instances (the services-house delivery model); grant/consortium participation.
P4 — Researcher (the credibility engine, not a market)¶
- Why fourth: minimal willingness to pay, well-served by free tools — but this persona is the trust layer: parity harness, provenance, model lab, multi-engine comparison. Investment here is marketing-by-credibility for P1/P3, and it's where engine plurality shines (run CLIMADA vs. ours vs. OpenQuake side-by-side).
- Product shape: model lab — curve editor/upload, engine selection + consensus view, uncertainty bands, reproducibility bundle export.
Shared primitives × personas¶
| Primitive | P1 insurer | P2 citizen | P3 decision-maker | P4 researcher |
|---|---|---|---|---|
| Score/rating layer | per-asset + book rollup | headline card | admin-unit rollup | raw values + bands |
| Explainability drawer | underwriting defence | plain language | methodology cite | full provenance |
| Report composer | ORSA / board packs | per-address report | dossiers, comparisons | reproducibility bundle |
| Location-first entry | book upload + search | address search | unit picker | dataset picker (existing) |
| Precomputed surface | asset scoring | the whole product | rollup source | optional |
| Multi-engine | validation selling point | hidden | defensibility | the headline feature |
Reading of the matrix: the four primitives from 00-frame.md serve every persona; no
persona demands a primitive the others can't use. The build-once-lens-four-ways thesis
holds.
Success criteria (observable, per persona — feeds session 3 goal rewrite)¶
- P1: one insurer runs a real portfolio through an instance and uses the output in a priced decision or an ORSA filing.
- P2: N organic address lookups/week on a public Greek funnel (N set at launch).
- P3: one region/municipality commissions a report or instance.
- P4: one external researcher publishes/presents using the platform's outputs.
Product sequencing (decided 2026-07-26)¶
First-product options were analyzed against three axes: what regulation forces, what the current platform can already serve, and which validation gates block the pitch (earthquake coverage; per-asset granularity demand). Decision:
| Wave | Product | Status | Gates before start |
|---|---|---|---|
| 1 | ORSA climate module — physical-risk half of the EU insurer filing: two EIOPA scenarios × three horizons × portfolio → documented, reproducible report pack | Decided as first product. Scenario-shaped (fits the existing compute model); earthquake legitimately out of scope (not a climate peril); portfolio-level materiality needs no per-asset granularity. Positioned as the engine inside a consultant/actuary-completed filing (transition-risk half stays external). Reassessment honesty: 3-year cycles not annual, small-insurer carve-outs, replacement sale vs. incumbents incl. free EIOPA CLIMADA-App; realistic buyer = the actuarial-consultancy channel | (a) EIOPA scenario data pack — scenario-conditioned hazard data for Greek perils at ≥3 horizons + a citable EIOPA-scenario→RCP/SSP mapping (only historical data exists today; current "time horizon" is growth extrapolation, not climate-conditioned hazard); (b) interview checkpoint — ORSA willingness-to-pay + channel questions answered before ORSA-specific build items start (foundations are justified by 4-persona reuse, not ORSA demand) |
| 2 | 5116/2024 Greek mandatory nat-cat pricing pack | Documented as epic #366 | OpenQuake (seismic) adapter landed; interviews confirm per-asset demand beyond zonal pricing |
| 3 | Insurer portfolio workbench | Documented as epic #367 | Answer-layer RFC (session 4); waves 1–2 shipped |
Considered and deliberately left out (recorded so they aren't re-proposed as new): CSRD/ESRS corporate screening (natural second market for the wave-1 module — same product, different buyer; regulatory ground shaky post-omnibus), data/API licensing (needs a precomputed-surface moat that doesn't exist yet), consulting-with-tool (bootstrap path only), banking stress tests and parametric triggers (crowded / niche). New channel to test in interviews regardless of wave: insurance brokers as the route to mid-market insurers.
Decided / Parked / Killed (session 2)¶
Decided - Engine plurality is a product-level commitment (user-stated): default engine + selectable roster + consensus view; our engine learns from the roster. - Earthquake gap accepted as real (user-ratified); answer is the OpenQuake adapter path, not in-engine seismic. - Persona set fixed at four; ranking P1 insurer → P2 citizen → P3 decision-maker → P4 researcher ratified 2026-07-26. - ORSA climate module ratified as first product (wave 1); 5116/2024 pack and portfolio workbench documented as gated epics #366 / #367 — see Product sequencing above.
Parked - SME pay-per-report tier (Munich Re pattern) — until P2 funnel exists. - Banking/infrastructure personas (corporate-track "domain exploration") — revisit after P1 validation.
Killed - "Generic multi-persona platform first" — the role-agnostic MVP framing is retired; surfaces are persona-lensed from here on.
Reassessment addenda (2026-07-26, adversarial verification)¶
Decided - P1 primacy is conditional: checkpoint at first corporate-track insurer feedback (~autumn 2026); P3 becomes primary if no insurer validation lands. Recorded above. - Wave-1 gains two real gates (scenario data pack; interview checkpoint) — the earlier "none structural" claim understated the data requirement. - Interview kit gains ORSA-specific questions: willingness-to-pay, purchase channel (direct vs. actuarial consultancy), current ORSA tooling (incl. whether they use the free EIOPA CLIMADA-App), 3-year-cycle vs. annual budget reality. - "Multi-engine consensus — nobody offers this" retracted as a market claim; plurality stands as product commitment, consensus demoted to feature.
Parked - Consultancy-channel partnership exploration (sell through actuaries, not around them) — fold into the interview round.