Apr 29 update (as of Apr 30): Infobip CAMPAIGN_NAME remains null for the Apr 29 "Non-Eligible to Eligible" blast — attribution lag still active. Partial data shown below (4.7K sends, 52% still in PENDING_WAITING_DELIVERY). Re-run tomorrow for final numbers.
Total SMS Sent
897K
7 blast types · Apr 1–29
Unique Recipients
~478K
98.3% receive only 1 type
Total Cost
$1,296
~18,792 GHS · +Apr 29 partial
Best Cost / L0
$0.11
Eligible but no L0
Spam Risk
Low*
*dedup bug in 1 blast
Blast Performance — Apr 1–29 · Conversions = L0 disbursals except where noted
| Blast Type | Blasts | Sends | Unique Recip. | Sends/User | Delivery | Target Action | 24h | 48h | 7d | 30d | Conv. Rate | Cost (USD) | $/Conv. | Verdict |
| Eligible but no L0 | 10 | 165,571 | 76,862 | 2.15x | 91.9% | L0 disbursal | 588 | 787 | 1,430 | 2,584 | 3.4% | $286 | $0.11 | Keep |
| KYC verified w/o Survey | 8 | 56,598 | 29,891 | 1.89x | 91.2% | Survey completion | 367 sv | 470 sv | 768 sv | 1,137 sv / 545 L0 | 3.8% | $78 | $0.14 | Keep |
USSD Dropoffs 25% confirmed USSD · 15% -> app | 9 | 349,799 | 208,132 | 1.68x | 86.9% | App sign-up -> L0 | 277 | 381 | 724 | 1,337 | 0.6%* | $483 | $0.36* | Keep · audit |
KYC USSD Boost 29% confirmed USSD · 4% -> app | 9 | 86,071 | 37,659 | 2.29x | 80.0% | KYC completion | 65 kyc | 84 kyc | 157 kyc | 84 L0 | 0.4%* | $119 | $1.42* | Kill |
| Reset Fido Score | 6 | 142,555 | 88,842 | 1.60x | 78.4% | Score reset -> L0 | 72 | 91 | 135 | 183 | 0.2% | $197 | $1.07 | Kill |
Non-Eligible (Apr 16) Goal: doc upload to boost score | 1 | 51,436 | 50,499 | 1.02x | — | Doc upload -> score | 36 | 37 | 41 | 49 L0 · 816 docs | 1.7% doc | $71 | $1.45 | Fix segment |
| EasySave | 2 | 40,000 | 40,000 | 1.00x | 89.8% | First deposit | 35 dep | 39 dep | 39 dep | 39 dep | 0.1% | $55 | $1.41 | Kill / Rethink |
Non-Eligible -> Eligible Apr 29 · attribution pending | 1 | 4,952 | 4,738 | 1.04x | 17.8%* | L0 disbursal | 6 | 6 | — | — | ~0.1%† | $8 | $1.33† | PARTIAL |
| TOTAL | 46 | 896,982 | ~478K | — | — | — | 1,066+ | 1,425+ | 2,614+ | 4,475+ | — | $1,296 | — | — |
* USSD blasts: conv. rate vs. all recipients. Only 25–29% confirmed in SUBSCRIPTION_LOG as USSD users. Non-Eligible conv. rate = doc upload rate. | * Apr 29 delivery 17.8% because 52% still PENDING in Infobip. † Metrics provisional — 1 day of data, mixed attribution.
Conversion Curves — Speed of Response
% of 7d conversions arriving within 24h. Fast = SMS-driven. Flat/slow = organic.
Signal: Healthy SMS-driven blasts show 40–50% of 7d conversions in 24h (Eligible no L0, KYC w/o Survey). Non-Eligible doc uploads at 29% = weakly driven. Non-Eligible L0 at 88% = purely organic.
Spam Assessment
Verdict: Low risk overall
98.3% of users receive exactly 1 blast type. Cross-blast overlap is minimal.
Dedup bug — Eligible but no L0
1 phone got 2,017 SMS in 3 days. 15+ others got 17–65 copies. ~4,271 wasted sends total.
No cross-channel cap
These 897K Infobip SMS run alongside ~700K+ CleverTap SMS/push with no shared frequency cap.
Cost Breakdown
Total: $1,296 · ~18,792 GHS · Apr 1–29
$/L0 vs. paid acquisition
$0.11 Elig. no L0
$0.14 KYC w/o Survey
$0.36 USSD Dropoffs
$1.07 Reset Score
$1.42 KYC Boost
$1.45 Non-Elig.
~$12.85 Google paid
USSD Attribution — Fixed via BANKING_SERVICE.SUBSCRIPTION_LOG
USSD match rates via SUBSCRIPTION_LOG
| Blast |
Recipients |
In Sub. Log |
-> App |
L0 30d |
| USSD Dropoffs |
208,132 |
51,740 (25%) |
7,918 (15%) |
1,337 |
| KYC USSD Boost |
37,659 |
10,846 (29%) |
406 (4%) |
84 |
The remaining 71–75% of recipients are phones that dialed a USSD code but dropped before opt-in logged, or used an untracked menu path. These are pre-app users with no identity in any table we have.
To close the gap fully
1. Add drop_step to SUBSCRIPTION_LOG (which menu node they exited)
2. Track USSD session -> app install -> sign-up as a single funnel
3. Source blast lists directly from sub_log so the segment is reproducible
Blast Verdicts & Actions
Eligible but no L0
Keep — fix copy + dedup
Best ROI: $0.11/L0, 3.4% conv., 41% in 24h. Fix two things: (1) 25% of messages are 2-part SMS — trim to <160 chars. (2) Fix the dedup bug — 1 user received 2,017 SMS in 3 days.
KYC verified w/o Survey
Keep
3.8% survey conv., 48% in 24h — strong and fast. 545 of 1,137 survey completers go on to L0 within 30d. $0.14/L0. Check overlap with CleverTap's "GH KYC Done No Survey" blast — may be double-hitting same population.
USSD Dropoffs
Keep — audit segment
$0.36/L0 is good (vs $12.85 paid — 36x cheaper). Worth keeping. But 75% of recipients aren't in SUBSCRIPTION_LOG. Audit: pull the blast list source and cross-check against sub_log. If 75% are real unconverted USSD users, real CPL is even better. If phantom numbers, cut them and halve cost.
KYC USSD Boost
Kill
$1.42/L0. Only 4% of confirmed USSD users ever converted to an app account. The USSD -> app install barrier is structural — SMS can't fix it. Reallocate $119/month to Eligible but no L0.
Reset Fido Score
Kill or restructure
142K sends, zero score resets detected, 183 L0 in 30d. $1.07/L0. Worst delivery (78.4%). CTA isn't resonating — users already have scores. Migrate this list into Eligible but no L0 blast.
Non-Eligible (Apr 16)
Fix segment + CTA
Goal is doc uploads (MTN, POE, POA) to boost score. Only 816 uploaded (1.7%), 13 got L0. Weak 24h signal (29%) — not clearly SMS-driven. Core problem: 58% of recipients already have L0 — their block is debt/recency, not score. Fix: filter to pre-L0 users only (~21K), rewrite CTA to name specific docs + deep link.
EasySave
Kill via SMS / Rethink
40K sends, 39 deposits. 90% respond in 24h (immediate or never) — 0.1% rate is dead. Existing borrowers don't convert to savings via SMS. Try in-app banner at loan repayment instead.
Non-Eligible Blast — Score Document Funnel (SOURCE: DATA.DOCUMENT_PROCESSING_STATUS)
Funnel: 50K recipients -> doc upload -> L0
| Blast recipients (app-matched) | 49,814 | — |
| Already have L0 (wrong segment) | 28,975 | 58% |
| Pre-L0 (right targets for doc boost) | 20,839 | 42% |
| Uploaded score doc (MTN/POE/POA/BS/payslip) | 816 | 1.7% |
| within 24h of SMS | 154 | 29% of 7d |
| within 48h of SMS | 229 | 43% of 7d |
| Doc uploader who got L0 | 13 | 1.5% of uploaders |
Diagnosis & Fix
Is SMS driving uploads? Weakly. 29% of 7d uploads in first 24h. SMS-driven blasts show 40–48%. The curve is flat, not spiked.
Is the segment right? No. 58% already have L0 — their block is debt/recency, not score. Uploading docs does nothing for them.
Is the CTA clear? Probably not. 1.7% across 50K people suggests most don't know what to do. Must explicitly name: "Upload your MTN statement, payslip or employer letter."
3 fixes to unlock this blast
1. Segment: filter to users with no L0 + score below eligibility threshold (~21K not 50K)
2. CTA: name exact docs (MTN statement, payslip, employer letter) + deep link to upload screen
3. Target: doc upload rate should move from 1.7% to 5%+ if both are fixed
USSD Tracking — Why It Is Structural, Not a Bug
What USSD users are
USSD users dial *998# and interact with Fido entirely via shortcode menu — no app, no account. The SMS blast tries to convert them from USSD to app user. If they do not install and sign up, they have no identity in our database at all. The tracking gap is not a query problem — unconverted users are invisible to every table we have.
Why 75% are invisible
25–29% completed USSD opt-in — in SUBSCRIPTION_LOG — trackable
~50% dropped mid-USSD-menu before opt-in logged — no record in any DB
~25% source unknown — in blast list but no USSD trace at all
If an unconverted user later installs the app, we match by phone number — but only then.
Verdict per blast
Keep USSD Dropoffs
$0.36/L0 vs $12.85 paid — 36x cheaper. Economics work even with foggy attribution. Audit who the 75% not in sub_log are: real USSD users = keep, phantom numbers = cut them and CPL halves.
Kill KYC USSD Boost
$1.42/L0. Only 4% of confirmed USSD users ever created an app account. The install barrier is structural — SMS cannot fix it.
Attribution caveats: All conversions are observational (no holdout group). True incremental lift is lower than shown. The 24h response rate is used as a causality proxy — fast decayers are more likely SMS-driven, flat curves indicate organic activity. USSD blast conversions reflect only users matchable to SEMANTIC_LAYER.USERS. The ~75% of USSD recipients with no match in any DB table are excluded from all conversion counts. Non-Eligible doc upload funnel sourced from DATA.DOCUMENT_PROCESSING_STATUS (doc types: MTN, TELECEL, POE, POA, BS, PAYSLIP). CleverTap SMS/push (~700K sends in April) excluded from volumes and costs. Non-Eligible to Eligible (Apr 29): CAMPAIGN_NAME null in Infobip; metrics provisional.