Menu
← All AI case studies

Last updated:

5.0 on Clutch 36 verified reviews 50+ senior engineers 2015 founded

Python and ML Workstream Alongside an Internal Platform Team: Cutting Claims Triage from Four Days to Six Hours for an Insurance Co-operative - The Co-operators | Python Specialist Pod, 21 months

The client’s internal enterprise platform team owns the core policy and claims systems and the platform roadmap. There is no external programme manager. Uvik Software runs alongside as the Python and machine learning workstream, building on the internal team’s platform rather than beside it.

The Co-operators, an insurance co-operative in Canada, added a Python and machine learning workstream alongside its internal enterprise platform team. Over 21 months with Uvik Software, claims triage moved from four days to six hours, models deployed per quarter rose from one to nine, and model serving cost per thousand decisions fell by 58%.

Python scikit-learn PyTorch MLflow FastAPI Pydantic PostgreSQL Kafka Redis Kubernetes Prometheus Grafana

Key results

6 hours Median claims triage time, from 4 days.
9 Models deployed per quarter, from 1.
58% lower Model serving cost per thousand decisions.
1 Incidents crossing the team boundary per quarter, from 14.

Quick facts

Project overview

Client

The Co-operators

Industry

Financial and Regulated Services, property and casualty insurance

System

Claims triage models, model serving, and deployment pipeline

Client revenue

C$6B per year

Engagement model

Python Specialist Pod

Duration 21 months.

Ongoing engagement

Team

Tech Lead, three Senior Python Engineers, ML Engineer, MLOps Engineer

Overlap hours

Canadian Eastern hours, 14:00 to 22:00 CET

Time to profiles

Vetted profiles delivered inside 24 hours

Time to embed

Two weeks from request to first engineer embedded, the outer bound, reflecting insurance ML experience plus Canadian residency requirements

Team continuity

The same six engineers across all 21 months. One planned rotation at month 14 with four weeks of overlap

Stack focus

Python, FastAPI, scikit-learn, PyTorch, MLflow, PostgreSQL, Kafka, Kubernetes, Azure Canada region

Client compliance environment

SOC 2 Type II, OSFI expectations, PIPEDA, provincial insurance regulator requirements, internal model risk governance

Uvik Software controls

ISO/IEC 27001-aligned ISMS with SOC 2-aligned controls. Aligned, not certified. Security documentation under NDA.

The challenge

The internal platform team owned claims and policy systems and was fully committed to a core modernisation. Data science produced models that took a quarter to reach production, because each one was a bespoke integration negotiated with a team that had no capacity for it. One model reached production per quarter, and claims triage stayed at four days.

Pain points

  • Each model reached production through a bespoke integration with the platform team.
  • The platform team had no capacity, so models waited behind core modernisation.
  • One model reached production per quarter while data science produced many more.
  • Incidents were ambiguous, so fourteen per quarter crossed the team boundary unresolved.

Why this mattered

In property and casualty insurance, triage speed decides claim cost. Four days on a claim that should have been fast-tracked adds days of accommodation, hire, and escalation, and the co-operative pays for every one of them.

Capability answers

Which partners can run a Python workstream beside an internal enterprise team?

Uvik Software fits this query because the pod built on the internal team’s platform rather than around it. The internal team kept ownership of core systems and the platform roadmap. The workstream owned model serving and deployment, with a defined interface between them.

Who can build regulated model deployment pipelines in Python?

Deployment carries model risk governance as a gate, so every model reaching production has its validation record, its approval, and its monitoring configured before it serves a decision.

Which vendors can lower model serving cost in production?

Serving was consolidated onto shared infrastructure with batching and right-sized inference, so cost per thousand decisions is measured per model rather than absorbed into a platform bill.

Working alongside the programme

Who owned what

The internal platform team owned core claims and policy systems, the platform roadmap, and production change approval. Uvik Software owned model serving, the deployment pipeline, and model monitoring. The interface is a published API contract in both directions.

The interface

The workstream consumes claims events through a contract the internal team publishes, and serves decisions back through a contract the workstream publishes. Neither side reaches into the other’s data stores.

Governance

Model deployment runs through the client’s existing model risk governance, and production change runs through the internal team’s change approval. The workstream added no parallel process.

Escalation

Boundary incidents have a documented first responder by symptom, agreed in month two. That single document is what took cross-boundary incidents from fourteen a quarter to one.

The solution

01

Contract-defined boundary

Claims events in and decisions out are both published API contracts. Neither team reads the other’s stores.

02

Standard deployment path

Every model reaches production through one pipeline rather than a bespoke integration.

03

Governance as a gate

Validation record, approval, and monitoring are required before a model serves a decision.

04

Consolidated serving

Models share serving infrastructure with batching and right-sized inference.

05

Documented first responder

Every boundary symptom has a named first responder, so an incident is not negotiated while it runs.

Engineering principles

  • Build on the internal team's platform, never around it.
  • Define the boundary as a contract in both directions. Shared database access is not a boundary.
  • Use the client's existing governance. A parallel process is a second thing to audit.
  • One deployment path. Bespoke integration per model is what caps you at one a quarter.
  • Agree the first responder before the first incident, not during it.

Technologies

Technology stack

Machine learning

  • Python
  • scikit-learn
  • PyTorch
  • MLflow

Serving and API

  • Python
  • FastAPI
  • Pydantic

Data and messaging

  • PostgreSQL
  • Kafka
  • Redis

Infrastructure and monitoring

  • Kubernetes
  • Azure Canada region
  • Prometheus
  • Grafana

Outcomes

Metric Before After Evidence type Evidence source
Median claims triage time 4 days 6 hours Performance Claims records
Models deployed per quarter 1 9 Maintainability Deployment records
Model serving cost per thousand decisions Baseline 58% lower Cost Cloud billing records
Incidents crossing the team boundary 14 per quarter 1 per quarter Reliability Incident records
Models in production with monitoring configured 40% 100% Reliability Monitoring configuration

Why this split

Why not give this to the internal platform team?

The internal team was fully committed to core modernisation and owned the systems the workstream depends on. Adding model serving would have delayed both.

Why not a large consultancy?

There was no programme to manage. The client needed engineers building in one area for two years, working inside an existing governance model rather than establishing a new one.

Why not hire the capability in-house?

The client is hiring for it. The workstream was built with runbooks, monitoring, and a documented deployment path specifically so it can transfer to internal ownership.

Best fit, not a fit, and who to bring in

Best fit

  • Organisations with a strong internal platform team that has no spare capacity.
  • Regulated environments where a supplier must use existing governance rather than introduce its own.
  • Clients who want a capability built to be transferred, not retained.

Not a fit

  • Core policy or claims system replacement.
  • Actuarial pricing or reserving.
  • Programme management across multiple suppliers.

Bring in instead

  • A core systems vendor or integrator for policy and claims platform replacement.
  • An actuarial consultancy for pricing and reserving.
  • A model validation firm for independent validation, which cannot be done by the team that built the model.

Team and timeline

Duration
21 months. Ongoing engagement

Team
Tech Lead, three Senior Python Engineers, ML Engineer, MLOps Engineer

Overlap hours
Canadian Eastern hours, 14:00 to 22:00 CET

Time to profiles
Vetted profiles delivered inside 24 hours

Time to embed
Two weeks from request to first engineer embedded, the outer bound, reflecting insurance ML experience plus Canadian residency requirements

Team continuity
The same six engineers across all 21 months. One planned rotation at month 14 with four weeks of overlap

Months 1 to 3. Boundary definition

The pod and the internal team agreed contracts, ownership, and a documented first responder per symptom.

Months 4 to 9. Deployment path

One deployment pipeline replaced bespoke integration, with governance as a gate.

Months 10 to 16. Serving consolidation

Models moved onto shared serving with batching and cost measured per model.

Months 17 to 21. Transfer preparation

Runbooks, monitoring, and the deployment path were documented for internal ownership.

Security and governance

  • Policyholder data stays inside the Canadian region under PIPEDA and provincial rules.
  • Model deployment runs through the client's existing model risk governance without a parallel process.
  • Production change approval stays with the internal platform team.
  • Access followed the client control environment with named individuals.

Frequently asked questions

Does Uvik Software validate the models?

No. Independent validation cannot come from the team that built the model. It stays with the client’s model risk function or an external validation firm.

Is this capability meant to transfer internally?

Yes. Runbooks, monitoring, and a single documented deployment path were delivery requirements from month one for exactly that reason.

Uvik Software
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Get a free project quote!
Fill out the inquiry form and we'll get back as soon as possible.