16 profiles across Latvia, Lithuania and Estonia · 9 consumer, 7 business, 0 residual
price increasecompetitor promotioncontract expiry
Responds to headline price almost exclusively. Cheap to retain, cheap to lose. High sleeping-dog risk: low engagement means outreach is often the only thing prompting a comparison.
network experiencedevice upgrade cyclecompetitor promotionspeed throttling
Retained by hardware and network quality, not by price. Device cycle is the churn clock -- a subsidy ending is a stronger predictor than tariff.
total bill shockprice increasecompetitor family offerhousehold change
Highest absolute value and the strongest structural retention. Churn is a household decision and moves all lines at once -- so exposure is lumpy, and a single competitor family launch moves real money.
fixed service outageinstallation experienceprice increasemoving home
Fixed line is primary; mobile is attached. Churn trigger is usually a service failure or a house move, not a tariff. Discounting a customer with an unresolved broadband fault reliably fails.
roaming policy changefair use throttlingcompetitor roaming offer
Baltic labour mobility makes this larger than in most EU markets. Uniquely sensitive to roaming fair-use terms, which are a frequent and under-monitored competitive lever.
vulnerability flag — excluded from offer optimisation
coverage qualityretail store closureprice increasefamily influence
VULNERABILITY-SENSITIVE. Long tenure, high trust, low digital engagement. Must be excluded from aggressive differential pricing and from automated offer optimisation (AI Act Art.5, and basic conduct risk). Retention here is a service and channel question, not a pricing one.
competitor promotionprice increasepeer influencedata exhaustion
Structurally high churn; low current value, meaningful future value. Retention economics only work if lifetime horizon is extended beyond the standard window -- otherwise the model correctly refuses to spend here.
silent dormancytop up frictioncompetitor starter pack
Churn is usually silent -- no cancellation event, just cessation of top-ups. Requires an inactivity-window definition, which differs by market and is a named reconciliation item in the feature contract. Highest sleeping-dog density in the base.
unclassified
Deliberate residual. No persona library covers an entire base, and rescaling the named personas to sum to 1.0 would hide that by silently inflating every exposure figure. This bucket carries the remainder honestly: it is NOT priced at T0 (no basket) and is counted at T1 only as unattributed base. If it grows beyond ~15% the library needs another persona, not a bigger residual.
price increasebilling complexitycompetitor bundlebusiness closure
Behaves closer to a consumer household than to a business. Decision is one person. Frequently mis-segmented into B2B treatment and then handled by an account structure that does not fit.
contract expirycompetitor tenderaccount manager changebilling dispute
SIM churn and customer churn diverge sharply here -- fleet reductions look like churn and are not. Account-manager continuity is a stronger retention variable than price and is almost never modelled.
contract expirysla breachcompetitor tenderintegration frictionprice increase
Churn is an event, not a drift -- it happens at renewal and is visible months ahead. Predictive value comes from contract calendar plus service history, not behavioural signals. Discounting late in a tender rarely works; technical engagement early does.
coverage gapnetwork outagedevice reliabilitycompetitor coverage claim
Almost entirely coverage-driven. A discount is close to irrelevant; a documented coverage improvement plan is decisive. The clearest case where the correct next-best-action is an engineer, not an offer.
platform capability gapapi limitationscontract expiryunit price
Breaks every consumer assumption: enormous SIM counts, negligible ARPU per line, and switching cost dominated by platform integration rather than tariff. Must be excluded from consumer churn models entirely or it distorts every aggregate. A frequent and expensive modelling error.
inconsistent terms across marketsgroup procurement cyclesla breachcompetitor regional offer
The persona that justifies the pan-Baltic mandate. Churn risk is created by INTERNAL inconsistency -- different terms, different account teams, different service levels across the three markets. Invisible to any single-market model, because no single market sees the whole customer.
excluded from automated offers
tender outcomecompliance requirement changesla breachsecurity incidentpolitical procurement shift
Churn is a procurement event with a statutory calendar. No behavioural model applies and automated offer optimisation is inappropriate -- pricing is bid-governed. Include for exposure accounting; exclude from the decision engine. Public-sector contracts may also carry disclosure obligations that make differential pricing legally impossible.
| Step | What happens |
|---|---|
| 1 · Basket | The profile declares what it needs — lines, data, voice, roaming, contract preference. |
| 2 · Match | Every extracted operator tariff is tested against every requirement. A tariff that fails any one of them is not a candidate. |
| 3 · Availability | Candidates are dropped if the price is a “from” figure rather than a firm rate, or if the tariff is age-gated and the persona has not declared matching eligibility. |
| 4 · Price | The cheapest surviving tariff per operator is taken at its standard rate, not its promotional headline. |
| 5 · Compare | The reference operator is set against the best competing offer. No qualifying tariff is reported as unserved — a finding, not a gap. |
Source of truth: config/personas/persona_library_v1.yaml
(version 1.0). Changing a basket changes every figure on the
market-pressure page, which is why it lives in git with the rest of the semantic layer.