Skip to content
AI Digital Hub

Telecom · India

Recovering more from overdue accounts by contacting fewer of them

An operator chased every overdue account with the same reminder cadence and the same escalation, spending heavily on balances that would never be recovered, offering settlements to customers who would have paid in full, and pushing customers in genuine difficulty through a sequence designed for someone else.

Client
Mobile network operator
Published
3 June 2026
Published under NDA

The client is not named at their request. Figures are as reported by them.

23%
Recovery uplift on aged balances

Measured against a held-out control cohort

31%
Fewer contacts per rupee recovered
100%
Recommendations with a recorded reason
0
Eligibility decisions made autonomously

A deliberate boundary, not a limitation

The situation

Uniform treatment across the whole overdue ledger. The same reminder schedule and the same escalation path whether an account was four days late because a card had expired or four months late with no contact since.

That produced three distinct losses at once. Collection effort spent on balances with no realistic recovery. Settlement discounts handed to customers who were already about to pay. And customers in genuine financial difficulty pushed through an automated sequence that generated complaints and churn among people who had been profitable for years.

The operator had engaged a vendor previously. That engagement reported a large improvement measured before-and-after, which the finance function had subsequently attributed largely to seasonality. Credibility, not capability, was the immediate problem.

What we did

Weeks 1–2 — established whether this was trainable. Before proposing a model we checked whether the history supported one. It did for most segments and did not for recently acquired accounts, where there was insufficient behavioural history. We said so and scoped that cohort out rather than including it and producing noise.

Weeks 3–5 — built the segmentation. Accounts grouped by observed behaviour and expected recovery, from payment history, usage pattern, tenure and contact response. Protected attributes excluded, and proxy leakage tested for rather than assumed absent — location and device data can reconstruct a great deal.

Weeks 6–8 — treatment recommendation under policy. A recommended next action per segment, drawn from a set the operator's policy team defined. Offer ceilings, escalation thresholds and settlement authority live in configuration owned by that team, not in the model.

Weeks 9–10 — hardship routing and the control group. Vulnerability and hardship indicators route out of automated treatment entirely, to a trained human. A comparable cohort stayed on the existing process throughout so the uplift could be measured against something real.

Weeks 11–13 — governance package. Model documentation, fairness testing methodology and results, the oversight design with named authority, and monitoring thresholds with a defined fallback to the manual process.

The boundary we kept

The system segments and recommends. It does not decide.

No account is refused service, no eligibility determination is made, and no settlement is authorised by a model output. The authority for every offer sits in policy rules that a named person owns and can inspect and change without an engineer.

That is the same line we hold in financial services, and it was not a constraint the client imposed — we proposed it. An autonomous affordability determination carries regulatory exposure and fairness obligations that neither the engagement scope nor the available data justified.

What we would do differently

We under-resourced the agent-facing side.

The recommendations were good and the interface presenting them to collections agents was thin, so for the first six weeks agents overrode the recommendation frequently — not because it was wrong, but because they could not see why it had been made and defaulted to their existing habit.

We had logged the reasoning for audit purposes and had not surfaced it to the person being asked to act on it. Once the reason appeared alongside the recommendation, override rates fell sharply and the measured uplift improved without any change to the model.

This is the same lesson as the review interface on a document extraction engagement, and it recurring twice is why we now treat the operator-facing surface as a first-class deliverable rather than a presentation layer over the real work.

Where it went next

Billing dispute triage went live the following quarter, reusing the data foundation. It is a lower-exposure application and, in hindsight, would have been a better first project — it builds the same platform, proves the delivery relationship, and leaves the sensitive work until there is a track record behind it.

Override rates by segment are now monitored as a model-quality signal rather than as an agent-compliance metric, which is the right way round and was not how the operator had previously read them.

Stack

  • Postgres
  • dbt
  • Airflow
  • Python
  • Claude
  • Grafana
  • Kubernetes
The holdout was the thing that made this credible internally. Our previous vendor showed us a before-and-after chart that turned out to be mostly seasonality, and finance never trusted a collections number again until we had a control group.
Head of Credit Operations · Mobile network operator

Want the same conversation about your process?

Bring the workflow that costs you the most time. In thirty minutes you will know whether it is automatable, roughly what it would cost, and where it would fail.

Or email [email protected] · we reply within 1 business day