Case study
Legacy risk platform to real-time Azure analytics.
A major Swiss re-insurance group (client name protected under NDA)
Single senior engineer embedded with the client’s risk IT group to migrate batch analytics to Azure and deliver dashboards analysts would actually use — measured by batch runtime, daily row throughput, and adoption.
Context
running legacy on-prem risk analytics that couldn’t scale with growing regulatory demands. Batch jobs ran 14+ hours, meaning analysts waited until the next business day for updated risk positions. FINMA was pressuring the group to improve reporting granularity across its reinsurance book.
Challenge
- ▪ Batch processing exceeding 14 hours on the legacy platform
- ▪ Analysts blocked until next day for updated risk positions
- ▪ FINMA pressure to improve reporting granularity and transparency
Solution
Migrated the analytics stack to Azure (fully Terraform-provisioned infrastructure). Re-engineered the heaviest data pipelines in Python with Polars and pandas, replacing stored procedures that had accumulated over a decade. Built real-time KPI dashboards in Grafana, replacing Excel-based reporting that had been the de-facto standard for underwriting and exposure teams.
Engagement
- Duration
- 22 weeks
- Team
- 1 senior engineer embedded full-time
- Model
- Embedded in client risk IT squad; paired with internal data engineer from week 6
Timeline
-
Weeks 1–4
Legacy assessment & target architecture
Profiled overnight batch jobs, identified Polars candidates vs. SQL-only paths, and drafted Terraform modules for dev/staging/prod parity.
-
Weeks 5–12
Pipeline re-engineering
Replaced longest-running stored procedures with Polars pipelines. Introduced incremental loads and partition pruning on 2.4B daily rows.
-
Weeks 13–18
Grafana dashboards & FINMA views
Co-designed KPIs with underwriting leads. Shipped role-based dashboards replacing Excel extracts; tracked weekly active users as adoption proxy.
-
Weeks 19–22
Cutover & cost optimisation
Blue/green cutover with rollback window. Rightsized Azure SKUs; documented CHF 180K projected annual savings vs. on-prem run rate.
Measured outcomes
- ▪ Nightly batch window reduced from 14 hours to 38 minutes on equivalent data volumes.
- ▪ Daily pipeline throughput sustained at 2.4B rows with incremental load strategy.
- ▪ Dashboard weekly active users reached roughly 3× the legacy Excel workflow baseline within eight weeks of launch.
- ▪ Infrastructure run-rate reduced by approximately CHF 180K annually after rightsizing and reserved capacity.
Exhibit 2
Primary operating measures from the migration cutover. Adoption is shown as an index because the absolute user count is client-confidential.
- Primary batch window
- 14h → 38min
- Equivalent risk aggregation load
- Run-rate reduction
- ~CHF 180K / yr
- Rightsizing and reserved capacity
Nightly risk aggregation
intraday reruns feasible
Normalized index
On-prem batch
14 hours
100
Polars pipeline
38 minutes
5
Analyst dashboard usage
tracked as weekly active use
Normalized index
Excel baseline
1.0×
33
Eight weeks post-launch
~3.0×
100
Source Pipeline telemetry, Grafana usage logs, and finance run-rate model; NDA-safe aggregate.
Control FINMA-facing views carried freshness timestamps and pipeline version identifiers after cutover.
Governance & compliance
- ▪ Production changes via PR-reviewed Terraform and CI/CD; no manual console changes in prod.
- ▪ FINMA-facing reports tagged with data freshness timestamps and pipeline version identifiers.
- ▪ Secrets and connection strings in Azure Key Vault; no credentials in application repos.