Contents
- Executive Summary
- The campaign cycle a CVM analyst runs today
- AI-Native Next-Best-Offer
- Value Delivered
- The Strategic Focus: ARPU, CLTV & Churn Economics
- Key Considerations
Transforming Telecom Customer Value Management from a Fragmented Campaign Factory into a Single Self-Learning Next-Best-Offer Policy on the Databricks Data Intelligence Platform
Executive Summary
For a telecom operator, growth no longer comes from acquiring new subscribers alone; with voice commoditised and headline subscriber counts masking a prepaid base that churns silently — a subscriber simply stops recharging and drifts away — the next phase of growth must come from the base itself, through lifting ARPU and deepening engagement across data, voice, mobile money, digital and home. This is the mandate of the Customer Value Management (CVM) function, which hinges on a single, relentless decision made at scale every lifecycle stage: for tens of millions of subscribers, which offer from a catalogue of hundreds — a data booster, a night bundle, a voice pack, a MoMo cashback, an airtime advance — is the right one to present, over SMS, USSD or app, without over-contacting the subscriber into fatigue and churn.
Today that decision is fragmented across the org chart. Each line of business runs its own microsegmented campaigns from its own P&L and its own targets, so in a single recharge cycle the same subscriber is approached by half a dozen uncoordinated campaigns with no one arbitrating between them — a gap that hyper-personalization, a unified customer journey, and AI-led decisioning at efficient scale are designed to close.

Figure 1 — From a fragmented campaign factory to a single next-best-offer decisioning platform.
Every one of those campaigns is decided in isolation. The Data team pushes a booster; the MoMo team pushes cashback; Retention calls to “save” the very subscriber that three other teams are trying to upsell. Nobody owns the only question that matters: given this subscriber’s usage, tenure, device, recharge rhythm and churn risk right now, what is the single best offer — and is any offer worth the contact at all? The cost lands straight on the operator’s P&L. ARPU is diluted by discounts handed to subscribers who would have recharged anyway; silent churn is accelerated by contact fatigue; margin erodes because campaigns are optimised for redemption rate rather than value; and lifetime value is left on the table, because no single campaign accounts for what today’s offer does to next quarter’s revenue. Campaign-management suites and a patchwork of per-use-case propensity models are effective targeting machines — but they cannot arbitrate across lines of business, cannot optimise a delayed and multi-objective outcome, and cannot learn from their own consequences.
Tenarai Next-Best-Offer (IGNIS NBO) replaces the campaign factory with a single decisioning platform for CVM, built natively on the Databricks Data Intelligence Platform. It is not another campaign and not another point model — it is the operating layer for base management, and it unifies the work into five components:
- Universal subscriber feature store — one governed source of truth for subscriber context (~600 attributes: minutes-of-use and data-GB consumption, on-net/off-net mix, recharge frequency, denomination and gap, top-up channel, ARPU trajectory by line of business, tenure and grace-period history, handset tier and data-plan attach, roaming days, MoMo wallet activity, network-QoE exposure such as dropped-call rate, and mobile-number-portability port-out signals), served from Unity Catalog.
- A single reinforcement-learning decision policy: it ranks the 500+ offer catalogue — spanning voice and data bundles, night and social packs, tariff migrations, roaming and international packs, MoMo cashback and content subscriptions — down to the best few offers per subscriber across all six lines of business at once. The policy combines two complementary approaches: Conservative Q-Learning (CQL) for data-rich lines of business with rich historical interaction logs, and contextual bandits for lines where exploration and rapid adaptation matter more than long-horizon planning.
- A batch serving layer that delivers the chosen offer over SMS, USSD, app and MoMo push at base scale — roughly 200K decisions a week.
- AI/BI Genie for self-serve, natural-language insight into every decision, outcome and uplift — no data-pull queue, no multi-day wait.
- A CVM Control App that lets the team tune the reward, guardrails and A/B configuration without a retrain.
Every decision is scored against one ARPU-anchored, churn-weighted reward, so revenue growth and retention are optimised together rather than traded off between teams. The policy learns offline over the attribution window — no risky live experimentation on a paying base. In controlled A/B testing, the platform has delivered a 5–8% ARPU uplift per month against a held-out control group.
The campaign cycle a CVM analyst runs today
Under the legacy operating model, growing ARPU is a manual, calendar-driven ritual repeated every campaign cycle. A CVM analyst runs roughly this sequence — and its friction is the source of the leakage above.
Step 1: Base segmentation and list-building
- The analyst opens the campaign management platform and rebuilds static, RFM-style segments in SQL or a rules UI — “high-value data users with declining MOU,” “dual-SIM prepaid with a widening recharge gap,” “dormant MoMo wallets,” “handsets flagged for port-out.” The rules are hand-tuned, drift out of date within weeks, and describe populations, never individuals.
Step 2: Per-line-of-business campaign design
- Each line of business — Data, Voice, MoMo, Digital, Home — designs its own campaigns from its own targets and its own budget. A subscriber who is genuinely a broadband cross-sell opportunity is simultaneously on the Data team’s booster list and the Voice team’s bundle list. Nobody is looking at the subscriber whole; everybody is looking at their slice.
Step 3: Propensity scoring, one model per target
- A churn model here, an upsell model there, a bundle-affinity model somewhere else — each scoring against its own narrow objective. The scores are not comparable to one another, so there is no principled way to say a retention action is worth more than an upsell action for the same subscriber this cycle.
Step 4: Offer arbitration and contact policy — the collision problem
- When five campaigns land on one subscriber, a static contact-policy rule (max N SMS per week) breaks the tie — usually by a fixed campaign-priority number set by whichever team argued hardest, not by expected value. The subscriber receives whatever won that internal politics, and the four suppressed offers — one of which may have been the genuinely best action — are simply dropped.
Step 5: Push and fulfilment
- The surviving campaign is scheduled out over SMS, USSD, app or MoMo push, after a manual scrub against the DND/consent registry and per-channel opt-ins. Delivery works. The decision behind it does not — it was optimized to be accepted, not to grow value.
Step 6: Read-out and reconciliation
- Weeks later, a data analyst pulls redemption and response rates into a spreadsheet. Control groups, where they were held out at all, are read once and rarely fed back into targeting. “Why did data ARPU dip for dual-SIM prepaid in the North last cycle?” becomes a multi-day data-pull, and by the time it is answered the next cycle has already fired.
Traditional challenges in telecom CVM
- Siloed optimization across lines of business. Data, Voice, MoMo, Digital and Home each optimize their own campaign response, competing for the same subscriber’s attention and wallet. No single view of customer value arbitrates between them.
- Response rate is the wrong objective. Optimizing for offer acceptance rewards discounting subscribers who would have paid full price — margin cannibalization that shows up as ARPU dilution, not campaign failure.
- Myopic targeting can’t see lifetime value. Growing ARPU and protecting against churn is a delayed, multi-objective outcome. A model that scores a single offer’s acceptance probability structurally cannot capture what that offer does to next quarter’s revenue, or to retention.
- Silent prepaid churn is invisible to acceptance models. In a prepaid base, churn is rarely a cancellation event — it is a widening recharge gap, minutes-of-use and data decay, dormancy, and rising dropped-call complaints, ending in a mobile-number-portability (MNP) port-out to a rival. A subscriber can accept every offer and still be leaving. Targeting on response misses all of it.
- The learning loop is broken. A/B results read weeks late in spreadsheets, disconnected from the targeting engine, mean the operation never compounds. Every cycle starts from scratch.
AI-Native Next-Best-Offer
Rather than layering yet another propensity model onto the campaign factory, Tenarai NBO collapses customer value management into one self-learning decision loop on Databricks.
- A single conditioned policy, not a fleet of models. One reinforcement-learning policy decides the next-best-offer for every subscriber across all six lines of business — replacing the collision of siloed campaigns with a single ranked decision.
- One reward that grows revenue and protects retention. Every decision is scored against an ARPU-anchored reward with churn risk weighted directly into it. Revenue and retention stop being a trade-off between teams and become a single objective the policy optimizes jointly.
- Expected value arbitrates, not internal politics. The 500+ offer catalogue is ranked down to the top few per subscriber by expected value — so the offer that goes out is the one worth the most, and “offer nothing” is a legitimate, value-positive decision when no offer clears the bar.
- Learned offline, safely. Outcomes land in the Delta Lakehouse and the policy is retrained offline over the attribution window. You do not run risky live exploration on a paying base — the engine learns conservatively from logged consequences.
- Self-serve insight in natural language. AI/BI Genie lets the CVM team interrogate decisions, outcomes and uplift directly — no data-pull queue, no multi-day wait.
The next-best-offer cycle
The engine runs a closed Observe → Decide → Serve → Learn loop each batch cycle, replacing the six manual steps above with one automated, self-improving policy.

Figure 2 — The self-learning CVM loop: Observe → Decide → Serve → Observe outcome → Learn, A/B-gated.
- Observe — assemble state. For each subscriber, the policy pulls context from a universal feature store: usage (MOU, data GB, on-net/off-net mix), recharge frequency, denomination and gap, ARPU trajectory by line of business, tenure and grace-period history, handset tier and data-plan attach, roaming and MoMo activity, network-QoE exposure and any port-out signal — roughly 600 attributes.
- Decide — rank the catalogue. A single RL policy (Conservative Q-Learning + contextual bandits, ARPU-anchored reward) ranks the 500+ offer catalogue down to the top few offers per subscriber, arbitrating across all lines of business in one decision.
- Serve — batch delivery. The next-best-offer is delivered through scheduled campaigns over SMS, USSD, app and MoMo push — roughly 200K decisions a week against the active base.
- Observe outcome — delayed reward. Acceptance, incremental revenue and margin, CLTV signals, and churn signals — recharge-gap widening, usage decay, dormancy and MNP port-out — are captured and land back in the Delta Lakehouse as the delayed reward.
- Learn — retrain. The policy is periodically retrained from those outcomes, continuously improving ARPU and lifetime value while protecting against churn.
- Gate — A/B controlled rollout. The user-response log is joined to outcomes and every policy change is A/B-gated: a new policy must clear a ≥2% ARPU uplift threshold against control before it rolls out.
Technical Architecture

Figure 3 — IGNIS NBO: a batch, RL-powered next-best-offer engine on the Databricks Lakehouse, governed end-to-end by Unity Catalog.
The engine is a batch, RL-powered decisioning system on the Databricks Lakehouse, governed end-to-end by Unity Catalog.
- Data sources and ingestion. xDRs/CDRs, recharge and top-up logs, MoMo transactions, ARPU and billing, device and plan, network-QoE/OSS telemetry, the mobile-number-portability port-out feed and the DND/consent registry — plus the offer catalogue — are ingested via Auto Loader (batch) and Event Hubs (interaction and outcome events) into the Lakehouse. External systems — CRM, billing, payment and support APIs — feed the same foundation.
- Lakehouse layers (Delta Lake). A Bronze → Silver → Gold medallion architecture: raw append-only feeds and offers in Bronze; cleaned, deduplicated and conformed dimensions in Silver; ML-ready features and decision logs in Gold. Data engineering runs on Delta Live Tables, Lakeflow Jobs and Databricks Workflows, with expectation-based data-quality checks throughout.
- Feature engineering. A universal feature store of ~600 attributes is engineered and served within Unity Catalog — usage and recharge dynamics, ARPU-by-line-of-business, device and network-QoE, MoMo and roaming behaviour, and portability signals — one consistent subscriber context for both training and scoring.
- RL decisioning engine on Mosaic AI. The policy — Conservative Q-Learning for safe offline learning, contextual bandits for exploration and cold-start, and the ARPU-minus-churn reward — is tracked and registered in MLflow and served through a Mosaic AI Model Serving endpoint.
- Decision output and AI layer. The engine writes ranked offers to Gold Delta decision tables — top-N offers per line of business, per subscriber, with a full decision log — exposed through a decision service. AI/BI Genie sits over the same tables, giving the CVM team text-to-SQL conversational analytics over decisions, outcomes and uplift.
- Delivery and insight. Next-best-offers flow to scheduled SMS / USSD / app / MoMo-push campaigns — each scrubbed against the DND/consent registry before dispatch; Power BI dashboards report ARPU / CLTV growth and A/B results.
- Governance, ops and security. Unity Catalog governs lineage, sharing, and RBAC / ABAC row- and column-level access. CI/CD runs Dev → UAT → Prod through Repos; monitoring covers lakehouse, model and alerts. The foundation is secured with Entra ID SSO, Private Link / VNet / NSG network isolation, and encryption at rest (customer-managed keys) and in transit.
A crucial design point: the CVM Control App exposes the reward dial, guardrails and A/B configuration to the business without a retrain. The CVM team steers the policy’s aggression and its guardrails directly; the data science team owns the learning loop underneath.
Value Delivered
- Offer arbitration: from a collision of siloed per-line-of-business campaign blasts — resolved by static contact-policy priority — to a single expected-value ranking across all six lines of business, per subscriber, every cycle.
- Targeting objective: from campaign response and redemption rate — which rewards cannibalizing discounts — to an ARPU-anchored, churn-weighted value objective that optimizes revenue and retention jointly.
- Learning loop: from ad-hoc A/B results read weeks late in spreadsheets to continuous offline learning over the attribution window, A/B-gated at a ≥2% uplift threshold before any policy rolls out.
- Insight latency: from multi-day analyst data-pulls to self-serve, natural-language interrogation of every decision and outcome through AI/BI Genie.
The Strategic Focus: Profitable ARPU, CLTV & Churn Economics
Telcos do not invest in decisioning engines; they invest in the economics of the base. Every architectural choice above is tied to a specific financial driver — and the results are measured against a held-out control group, every cycle.

Figure 4 — Demonstrated impact of the next-best-offer engine, measured versus a held-out control group, every cycle.
- Grow ARPU without diluting it. A 5–8% ARPU uplift per month versus control — with multi-SIM defence contributing +7–9% and recharge, usage-revival and fintech plays contributing +3–5% — because the policy optimizes value, not acceptance, and declines to offer when no offer clears the bar.
- Compound lifetime value. 1–1.5% CLTV growth per month, because the reward is delayed and multi-objective — today’s decision is scored on what it does to the subscriber’s future revenue, not just this cycle’s response.
- Internalize churn into every decision. A +10–14% ARPU uplift on churn-prevention plays, because churn risk is weighted directly into the reward rather than handled by a separate, competing retention campaign — the policy retains and grows the same subscriber in one decision.
- Protect margin — zero cannibalization. Every discount is checked against CLTV before it is offered, eliminating revenue given away to subscribers who would have paid full price.
- Reach the whole base, every cycle. The engine decisions 80%+ of active subscribers monthly — roughly 200K decisions a week — so value optimization covers the base, not just a hand-picked segment.
Key Considerations
- Design the reward with intent. The ARPU-anchor plus churn-weighting is the product. Anchor on realized ARPU, profitability and CLTV rather than offer acceptance alone, and weight churn indicators directly into the reward so retention is never a separate, competing campaign. A reward tuned to response rate will faithfully optimize you into cannibalization.
- Keep learning offline and conservative. A live subscriber base is not a place to run unconstrained online exploration. Conservative Q-Learning is chosen precisely because it learns a safe policy from logged outcomes without over-valuing actions it has never seen — with contextual bandits carrying the bounded exploration needed for new subscribers and newly launched offers.
- Size the attribution window deliberately. The window over which outcomes are credited back to a decision determines what the policy can learn. Too short and it optimizes for immediate acceptance (the old failure mode); too long and the feedback loop slows. Set it to the horizon over which the offer’s revenue and churn effects actually resolve.
- Make contact policy a guardrail, not the decision. Fatigue limits, eligibility and compliance belong as hard guardrails around the policy — surfaced in the CVM Control App and adjustable without a retrain — never as the mechanism that picks the offer.
- Treat consent, DND and regulatory caps as hard constraints. Honour the DND/consent registry, per-channel opt-ins and regulatory limits on promotional messaging as non-negotiable filters applied before the policy — and give postpaid, minors and financially-vulnerable segments their own eligibility rules, especially for MoMo lending offers. The policy optimises within the compliant action set, never around it.
- Gate every rollout on controlled uplift. Hold out a genuine control group and require a statistically significant uplift threshold (≥2% ARPU at p<0.05) before promoting a new policy. This is what turns “we think it’s working” into a number the CFO can bank.
- Curate the Genie semantic layer. Self-serve natural-language insight is only as trustworthy as the metrics and definitions beneath it. Invest in the Genie semantic layer — clean metric definitions over the Gold decision tables — so the CVM team’s questions return answers they can act on.
- Phase the rollout. Prove the loop on the highest-value plays first — multi-SIM defence, usage revival, churn prevention — then extend the same policy to additional lines of business and geographies. The architecture is designed for it; the operating model should follow.