Audit log
Loading…
Recipient Sender Used Status Date/Time
No messages in this bucket.
Send SMS
Preparing message…
✓ Sent ✕ Failed to send

Loading…
Performance Analytics
revenue & request trends · filter by period or custom range
Granularity
Revenue Split swahilies' cut per SMS vs. net revenue · selected range
Gross Revenue
Swahilies Cut
Net Revenue
✓ Saved ✕ Invalid amount(s)
Expenses & Profit SMS buying cost, partner share, and bottom-line profit · selected range
Expenses
Amount After Our Percentage
gross revenue minus swahilies' cut
Partner Amount
Profit After Deductions
revenue − expenses − partner amount
Revenue Trend
Request Trendsuccess · pending · failed
Peak Usage by Hour of Dayrequests · 00:00–23:00
Request Distributionselected range
Payments Sender
approved & paid
Approved
Pending
Awaiting Pmt
awaiting payment
Rejected
Req. Changes
Active Subscription
paid & not yet expired
Inactive Subscription
expired or never paid
Payment Statusdistribution
Revenue by Business Naturecompleted payments
Cohort Revenue Trendlast 12 months
SMS Purchased vs Revenuetop 20 businesses
SMS Buyers by Customer Base businesses with ≥1 completed SMS purchase · buyers
Loading…
No completed SMS purchases yet.
Customers Buyers Share Repeat buyers SMS bought Avg SMS / buyer Revenue (TZS) Top business types
Sender Splits — Customer Range Distribution by sender status
Loading customer data…
Approval Likelihood by Customer Tier sender count (bars) · approval rate % (line)
Shows how approval probability rises with customer base size — the line is the empirical P(approved | tier). A rising line confirms customer volume as a leading indicator of approval.
Status Composition per Customer Tier conditional distribution P(status | tier)
Each bar sums to 100 %. Read across tiers to see how the status mix shifts — green (Approved) should dominate the right side if customer size predicts conversion.
Total Users
unique accounts
Total Revenue
all completed
SMS Purchased
total units
Active Senders
this page
Revenue Distributiontop 10
Success vs Failed Paymentsby business
All User Activity
BusinessPhoneLocationNature SendersActiveAttempts SuccessFailedRevenueSMSDaily RateLast Txn
No records found.
Find User ID by Phone for sender-id requesters — look up their kuza user_id
No user found for that phone number.
User ID
Business
Sender Name Requested
Sender Status
SMS Balance
Purchased Before
Location
User Segments build a target list by sender status, purchase status & subscription — for future notifications
Sender Status
Purchase Status
Subscription
Send Push Notification check rows below to target specific users, or leave none checked to target every user matching the filters above · write in Swahili
Templates: none saved yet
users selected
Send this push notification to users
⚠ This is a very large audience ( users) — double-check before continuing.
⚠ You already sent this exact message to this exact audience in the last few minutes. Sending again will notify them a second (or third…) time — this usually means an earlier click already went through even if it looked stuck.
Sending to users… please keep this tab open.
✅ Sent — users notified.
Scheduled Push Notifications up to 3 independent slots · resends daily to anyone still matching, skips them once they no longer do
While paused, no slot sends anything, no matter its own ON/OFF toggle below.
Matching Users
Business Name Phone User ID Sender Name Sender Status SMS Balance Purchase Status Completed Payments Subscription Location
No users match these filters.
Sender Status Split
Senders by Location
Filter:
User Senders
saving…
Real action against Mifumo (POST .../sender-ids/{id}/reject/) — rejects every sender-id request still 'pending'/'processing', no per-name screening, inside the window below. Requires Resume above AND the checkbox on AND to be inside the window — any one off and nothing happens.
From to
auto-rejected total
Previews first — nothing is rejected until you confirm.
Working…
This will permanently reject pending sender names on Mifumo — this cannot be undone. Top candidates by customer count:
+ more…
✓ Rejected of
saving…
Up to 5 WhatsApp follow-ups (one admin-picked template per step) to every business whose sender is currently rejected on Mifumo — spaced by the interval below. Stops automatically the moment their sender is approved, they opt out, or all 5 steps are sent. Requires Resume above AND the checkbox on.
Days between follow-ups
active · converted · completed
Previews first — nothing sends until you confirm.
Working…
Send the next follow-up to businesses now?
+ more…
✓ Sent of
Automatically WhatsApps every sender in the Rejected Sender Targets list (active subscription, meaningful customer base) once, inside the window below — using whichever template you last picked for Notify.
saving…
From to
Sent per day:
auto-sent total
Sends the rejection WhatsApp template to every rejected sender, each with their own sender name.
Gathering all rejected senders…
Send to rejected senders? ( without a phone will be skipped)
No matching templates
loading templates…
Sending to senders… please keep this tab open.
✅ Done — sent, failed.
Phone Error
Business Name No. of Customers Sender Name Phone Location Nature Status Subscription User Reg. (days) Sender Reg. (days) Notify Rejected
No senders match your filter.
Total Approved
sender names
Active Subs
paid & not expired
Inactive Subs
expired or never paid
Have Paid
on this page
Not Paid
on this page
Pending / Attempted
on this page
Payment:
Approved Senders · Payment Intelligence
Sends the payment-reminder WhatsApp template to every approved sender that has not paid.
Gathering all not-paid senders…
Send to not-paid senders? ( without a phone will be skipped)
No matching templates
loading templates…
Sending to senders… please keep this tab open.
✅ Done — sent, failed.
Phone Error
saving…
Up to 5 WhatsApp follow-ups to every approved-sender business that has never completed an SMS purchase — spaced by the interval below. Stops automatically the moment they buy SMS, they opt out (shared with Campaign B), or all 5 steps are sent. Requires Resume above AND the checkbox on.
Days between follow-ups
active · converted · completed
Previews first — nothing sends until you confirm.
Working…
Send the next follow-up to businesses now?
+ more…
✓ Sent of
# Sender Name Business No. of Customers Phone Action Location Nature Payment Status Subscription Total Paid (TZS) Txns Last Payment Days Active Remind
No approved senders match your filter.
Amount Over Timecompleted
Processing Time Distribution
Completed Payments
BusinessPhoneAmount QtyUnit PriceCalculated Total Payment DateProcessing Days
No records.
Smart In-Progress Filter
When ON — "In Progress" rows only appear if the same business already has a Completed payment in the same month.
Status Mix
Amount Variance Analysisexpected vs actual
All Payments
BusinessPhoneAmountStatus ReminderSender ID ExpectedVarianceDateLocationAction
No records match the current filter.
Revenue by Location
Completion Rate% by location
Location Performance Detail
LocationBusiness NatureBusinesses TransactionsCompletedRevenueAvg ValueCompletion %
No records.
Revenue by Typecompleted payments
Avg SMS Quantityper business type
Business Nature Performance
Business NatureBusinessesTotal Payments RevenueAvg SMS QtyFirst PaymentLast Payment
No records.
Scale Targets — High-Potential SMS Buyers
Active main accounts with a large customer base that have never requested a sender ID — the smartest users to onboard onto SMS. Tune the customer threshold, registration window and result count below.
Top Targets by Customer Baselargest untapped accounts
WhatsApp Campaign
Template sms_campaign · 1 business name · 2 customers
Scale Targets
# Business Name Phone Nature Location Registered Subscription Ends Customers Send
No users match these filters.
Showing the top of — raise “How many (limit)” to see more.
Active businesses awaiting sender approval
Sender name is still pending, the subscription is active, and they have a large customer base — prioritise these for approval. Sorted by customer count.
matching businesses
Pending Sender Targets
BusinessCustomersSender Name PhoneLocationNature SubscriptionActive (days left) Sender AppliedSender Reg. (days)
No active pending-sender businesses meet this customer threshold.
Active businesses with a rejected sender
Sender name was rejected, the subscription is active, and they have a large customer base — reach out so they can re-apply with a compliant name. Sorted by customer count.
matching businesses
Rejected Sender Targets
BusinessCustomersSender Name PhoneLocationNature SubscriptionActive (days left) Sender AppliedSender Reg. (days)
No active rejected-sender businesses meet this customer threshold.
Attempted
total messages
Sent
Delivered
Read
Failed
Skipped / Pending
/
Campaign Messages
BusinessTo (E.164)Customers StatusWA Message IDFailure Reason Initiated ByCreatedSent
No campaign messages yet. Launch one from Scale Targets.
⚠️
SMS gateway not configured. Reminders are drafted and tracked but nothing is actually sent until the Mifumo SMS API key is set in Settings.
Pending Users
Due Now
Due by Stage
no stages configured
Sent Today
Sent Total
Failed
AutomationAuto-send scans every 5 minutes
One SMS per phone number per stage — a phone with several pending transactions is only nudged once.
Reminder Stageshow long after the transaction each nudge fires
No stages yet — add one below.
Add a reminder stage above to write its message.
Pending Transactions grouped by phone — one row per user
to
Last batch — sent , failed .
BusinessPhoneAmount AgeSender ID DueAction
No pending ("In Progress") transactions right now.
Loading…
SMS Gateway (Mifumo)
Used for sending SMS and for all Partner/Pertina lookups (tenants, balances, usage).
✓ Saved — effective immediately, no restart needed
Mifumo Sender Directory Powers the ✓/⚠ sender-verified check on Payment Reminders
Tenants cached
With approved sender
Last refreshed
✓ Refreshed ✕ Refresh failed
Also refreshes automatically in the background every 30 minutes, so a client's Mifumo-approved sender id is picked up without any manual step.
Partner API Access Read-only — lets Mifumo see which clients are active & high-customer
GET /api/partner/active-clients?min_customers=50 with header Authorization: Bearer <key>
Regenerating immediately invalidates the old key — anything already integrated with it will need the new one.
Status Overview
Amount by Business Nature + Status
Avg Processing Days by Status
Status Distribution Detail
Business NatureLocationStatus CountTotal AmountAvg SMS QtyAvg Processing Days
No records.
Top 10 by Lifetime Value
Avg Order Value vs Transactionsbubble = SMS qty
High-Value Customers
#BusinessPhoneLocation Lifetime ValueTransactionsSMS Bought Last PurchaseDays InactiveAvg Order
No records.
Senders vs Revenuedual axis, top 15
Days to First Paymentdistribution
Sender–Payment Correlation
BusinessNatureLocation SendersCompleted PmtsRevenue First SenderFirst PaymentDays to 1st Pmt
No records.
Total Messages
all channels
Sent
accepted by provider
Failed
delivery errors
Success Rate
sent ÷ total
Channels
Broadcast History bulk sends & auto-notify runs
Date Flow Template Status Sent Failed Total
Message Log
Channel Type Recipient To (E.164) Content Status Provider Msg ID HTTP Created Sent Batch Error
No messages logged yet.
Notification History
Sent Title Body Audience Recipients Status Error
No notifications sent yet.