Case Study: Insurer Digitizes Its Customer Channel

Case Study: Insurer Digitizes Its Customer Channel

How a Swiss property insurer rebuilt its customer channel from the ground up.

Insurers are known for systems that grew organically over decades. Our customer — a mid-sized property insurer in German-speaking Switzerland — was no exception: three core systems from three decades, customer communication mostly via letter and phone, and a self-service portal built in 2014 that had not been actively developed since 2019.

The starting point

The numbers were clear: 68% of incoming customer requests were pure inquiries about existing contracts — coverage limits, terms, deductibles. Each request cost case-handler time. The mailbox backlog grew by 3–4% per week. At the same time, attrition in customer service was high — the job was frustrating because it consisted mostly of repetitive standard requests.

The expectation on us: a solution that handles standard inquiries via self-service without violating regulatory requirements (FINMA, DPA).

The architecture

We worked in three phases:

Phase 1: Structuring the policy data. The core systems deliver data in different formats. A schema-first approach with JSON Schema defined a unified policy object. Per core system, an adapter was built that produces the canonical schema from the legacy format — in a stream, not a batch.

Phase 2: AI assistant with strict scope. The assistant has access to exactly three tool interfaces: getPolicy(customerId), getClaims(customerId, range?), and getContactChannels(topic). Everything else falls back to human handlers. We deliberately did not try to make the assistant "smart" — the safety profile is defined by the narrow tool scope, not by prompt engineering.

Phase 3: Gradual rollout. First the new interface was rolled out to 5% of customers (A/B test). After four weeks with positive metrics, it went to 30%, then 100%. The old self-service interface is still running as a fallback — customers can switch back at any time. So far 2.1% have done so.

The results

After nine months in full operation:

  • Cycle time for standard requests: 2.1 working days → 14 minutes (95th percentile)
  • Case-handler load from standard inquiries: 68% → 18%
  • Customer satisfaction (NPS): +12 points year-over-year
  • Customer-service attrition: –40% (other factors play in, but the trend is clear)

The freed-up case-handler time now flows into complex claims — the handling of these cases became noticeably better in quality. That was not the primary goal but is the most interesting side effect.

What did not work

At the start we planned to let the assistant accept claim notifications as well. We rolled that back after two months of piloting. The reason was not technical but human: customers filing a claim are emotionally stressed and expect a human touch. An assistant that responds correctly but impersonally was perceived as "dismissive." We now route claim cases directly to a human.

Outlook

Phase 4 — planned for H2 2026 — is integration into the broker channel. The requirements there are different: brokers want bulk access, not single queries. But the architecture fits — the tool interface getPolicy(customerId) becomes listPolicies(brokerId, filter), the rest stays the same.

SOVAIA (Ein Produkt der KIINNO AG)

Baarerstrasse 52
6300 Zug
Schweiz


plus 4 1 4 1 5 1 0 0 6 7 5