Onboarding journey
All accounts
All environments
All use cases
All partners
7d
30d
90d
All
Onboarding journey
Feature usage
Account pipeline
Template activation
User behaviour
Time to go live
Split by template order — these are fundamentally different journeys
First template (cold start)
7.4 wks
▲ 85% above 4-wk target
Subsequent templates (warm)
2.8 wks
✓ Within 4-wk target
Sandbox → UAT time
8.4 days
Baseline
Sandbox → UAT conversion
42%
Baseline
UAT → Prod conversion
64%
Target: 100%
UAT → Prod time
18.2 days
Baseline
% apps meeting SLA
72%
↓ −4pp vs last month
Click any step to expand sub-funnel
Columns: Count Avg time at step Drop-off
Sandbox
Exploration → UAT activation · 148 accounts created
StepCompletionCountAvg timeDrop
1Account created
100%
148
Sub-flow: URL accessed → OTP → Landing page
URL accessed
100%
148
OTP triggered
96%
142
12 sec
−4%
OTP confirmed
90%
133
1.4 min
−6%
Landing page reached
89%
132
4 sec
−1%
2First login
89%
132
−11%
Note: Account created and first login are the same event for sandbox
3Template details page
65%
96
2.1 min
−27%
Sub-flow: Dashboard → Template list → Template detail
Dashboard viewed
100%
132
Template list viewed
86%
113
1.2 min
−14%
Template detail clicked
73%
96
54 sec
−15%
4Template added
40%
59
3.4 min
−39%
Sub-flow: Template detail view → Confirm add to account
Template detail viewed
100%
96
Add to account clicked
71%
68
4.2 min
−29%
Confirmed (template in use)
61%
59
22 sec
−13%
5Master config completed
22%
33
3.2 hrs
−44%
Sub-flow: Template use → 9 config steps → Publish clicked
Template in use
100%
59
Categories added
90%
53
18 min
−10%
Subcategories added
83%
49
12 min
−8%
Op. capabilities selected
78%
46
9 min
−6%
Forms setup completed
71%
42
38 min
−9%
Roles setup confirmed
59%
35
22 min
−17%
Workflow setup completed
54%
32
41 min
−9%
Notification setup done
61%↑
36
8 min
+13%
Payment setup done
56%
33
19 min
−8%
Publish clicked + confirmed
56%
33
3 min
0%
Roles and Workflow setup are the stall points — 17% and 9% drop-off respectively. Workflow averages 41 min, the longest config step.
6Go-live checklist done
11%
16
1.4 hrs
−52%
Sub-flow: Users created → Theme → Boundary → Go live
Checklist started
100%
33
Users created
88%
29
11 min
−12%
Theme confirmed
61%
20
24 min
−31%
Boundary confirmed
52%
17
8 min
−15%
Checklist completed
48%
16
2 min
−6%
7Emp/Citizen URL accessed
8%
12
−25%
Terminal step — sandbox account considered activated. This event triggers the Sandbox → UAT conversion clock.
Sandbox → UAT conversion
42%
12 of 148 sandbox accounts
Avg. time sandbox → UAT created
8.4 days
From acct created to UAT provisioned
Fastest conversion
2.1 days
Best case observed
UAT
Partner-provisioned → Emp URL accessed · 14 accounts · Same funnel steps as Sandbox
UAT account creation sub-flow differs from Sandbox. UAT accounts are partner-provisioned: invitation email triggered → link accessed → password set. There is no OTP step.
StepCompletionCountAvg timeDrop
1Account created
100%
14
Sub-flow: Invite email → link accessed → password set
Invitation email sent
100%
14
Invite link accessed
93%
13
6.2 hrs
−7%
Password set
93%
13
2.1 min
0%
2First login
93%
13
−7%
First login coincides with password set — same session. Time here is negligible.
3Template details page
93%
13
1.8 min
0%
Sub-flow: Dashboard → Template list → Template detail
Dashboard viewed
100%
13
Template list viewed
100%
13
1.1 min
0%
Template detail clicked
100%
13
42 sec
0%
4Template added
86%
12
2.8 min
−8%
Sub-flow: Template detail view → Confirm add to account
Template detail viewed
100%
13
Add to account clicked
100%
13
1.9 min
0%
Confirmed (template in use)
92%
12
18 sec
−8%
5Master config completed
64%
9
5.8 hrs
−25%
Sub-flow: Template use → 9 config steps → Publish clicked
Template in use
100%
12
Categories added
100%
12
21 min
0%
Subcategories added
100%
12
14 min
0%
Op. capabilities selected
100%
12
11 min
0%
Forms setup completed
92%
11
52 min
−8%
Roles setup confirmed
92%
11
28 min
0%
Workflow setup completed
75%
9
68 min
−18%
Notification setup done
100%
9
9 min
0%
Payment setup done
100%
9
24 min
0%
Publish clicked + confirmed
100%
9
3 min
0%
Workflow setup averages 68 min in UAT vs 41 min in Sandbox — real account complexity is significantly higher. Primary driver of 4-week miss.
6Go-live checklist done
50%
7
1.8 hrs
−22%
Sub-flow: Users created → Theme → Boundary → Go live
Checklist started
100%
9
Users created
89%
8
14 min
−11%
Theme confirmed
78%
7
31 min
−13%
Boundary confirmed
78%
7
12 min
0%
Checklist completed
78%
7
2 min
0%
7Emp/Citizen URL accessed
36%
5
−28%
Terminal step for UAT. This event starts the UAT → Production conversion clock.
UAT → Prod conversion
64%
9 of 14 UAT accounts → production
Avg. UAT → Prod time
18.2 days
UAT created → Emp URL accessed (prod)
5 UAT accounts not yet converted
2 stalled
>28 days in UAT, no progress
Production
Activation + SLA · 9 live accounts
Activation
License issuance
Apply flow
Payment flow
Account created → First citizen application
StepCompletionCountAvg timeDrop
1Account created
100%
9
Production account created by partner after go-live checklist completed.
2First employee login
100%
9
4.1 hrs
0%
All 9 accounts have had at least one employee login. 4.1 hrs avg reflects same-day setup.
3First citizen login
89%
8
3.2 days
−11%
1 account has had no citizen login yet. 3.2 days avg to first citizen login — depends on partner publicising the service.
4First citizen application
78%
7
18.4 days
−13%
18.4 days avg from account created to first application. 2 accounts live but no application submitted yet.
Other functionality
One-time configuration tasks · Measured by time at step + completion, not conversion rate
Boundary setup
Create boundary → Boundary live · Upload data is the friction point
UAT / Prod
Create boundary
2 min
0% errors
Select source
3 min
4% retry
Upload data
18 min
31% errors ⚠
Confirm data
5 min
12% go back
Task completion
StepCompletionCountAvg timeDrop
1Create boundary
100%
42
2 min
Partner names the boundary and selects the account it applies to. Fast and error-free.
2Select source
95%
40
3 min
−5%
Chooses between OSM, Shape File, or Excel upload. 4% retry suggests some partners select the wrong source type initially.
3Upload data
81%
34
18 min
−15%
Highest friction step — 18 min avg and 31% error rate. Errors are predominantly file format mismatches. Track boundary.upload_data.failed with error_code to distinguish format vs size vs processing errors.
4Confirm data
71%
30
5 min
−12%
12% who reach the preview go back — they've seen something wrong in the boundary preview. This is a data quality signal from the upload step, not a UX problem at confirmation.
Boundary live
71%
30
0%
30 of 42 boundary setups have completed successfully. 12 accounts have not completed — either in progress or abandoned at upload.
Add new language
Add language → Language live · Provide translations is expected to take hours
UAT / Prod
Add language
1 min
0% errors
Provide translations
4.2 hrs
Expected — manual work
Confirm translations
8 min
24% go back ⚠
Task completion
StepCompletionCountAvg timeDrop
1Add language
100%
28
1 min
Partner selects a language to add from the available list. Fast and reliable.
2Provide translations
93%
26
4.2 hrs
−7%
4.2 hrs is expected — translating all UI strings is manual work. An unusually short time (<30 min) may indicate incomplete translations. Flag sessions where provide translations takes <30 min for review.
3Confirm translations
86%
24
8 min
−8%
24% who reach confirm go back to revise translations — they spotted errors or gaps during review. This is the translation quality signal. Track localization.confirm_translations.rejected per account as a quality score.
Language live
71%
20
−17%
20 of 28 language additions have gone live. 8 accounts started but have not completed — likely still in the translations step. Alert if not completed within 7 days of initiation.
Integration configuration — OOB vs custom
How many accounts have configured each integration type, and which path did they choose
Integrations · one-time setup
SMS
Amazon SNS (OOB) 11 accounts
Custom (partner-built) 3 accounts
Email
Amazon SES (OOB) 11 accounts
Custom (partner-built) 3 accounts
USSD
OOB provider 7 accounts
Custom (partner-built) 7 accounts
Feature usage
Click any row to expand · Avg uses = avg number of times an account uses this feature per month · Journey status = product decision, not calculated
On journey Off journey Understand
Feature / Sub-feature Journey Avg uses / account / month Accounts using
Avg uses / account / month = total events ÷ accounts that triggered the feature at least once · Baseline data — thresholds for high/low will be set after 60 days of instrumentation
Total accounts
8
Across 3 partners
Accounts in UAT
4
Active in UAT environment
2 stalled >28d
Accounts in prod
6
Live in production
↑ +1 this month
Total templates
21
Avg 2.6 per account
↑ +3 this month
Templates stalled >28d
3
UAT started, not live
Needs attention
Total templates activated
9
First citizen click received
75% of live templates
Account pipeline — template view
Each row = one template · An account may have multiple rows · Click account name to group
Live + activated Live, not yet activated Stalled In progress
Account Template Template ID Partner Pipeline stage Days Status
Lagos
PartnerCo W. Africa
Trade LicenseTI-0041PartnerCo W. Africa
26dActivated
Business PermitTI-0048PartnerCo W. Africa
19dLive, 0 citizens yet
Market LicenseTI-0052PartnerCo W. Africa
12dConfiguring
Accra
PartnerCo W. Africa
Sanitation PermitTI-0031PartnerCo W. Africa
31dActivated
Health LicenseTI-0055PartnerCo W. Africa
8dLive, 0 citizens yet
Nairobi
PartnerCo E. Africa
Business PermitTI-0038PartnerCo E. Africa
34d ⚠UAT stalled
Trade LicenseTI-0044PartnerCo E. Africa
22dActivated
Kampala
PartnerCo E. Africa
Health LicenseTI-0039PartnerCo E. Africa
29d ⚠UAT stalled
Dar es Salaam
PartnerCo E. Africa
Building PermitTI-0042PartnerCo E. Africa
18dConfiguring
Trade LicenseTI-0053PartnerCo E. Africa
14dActivated
Complete
Current stage
Not started
Stages: Sandbox · UAT active · Master config · Go-live checklist · Live
Account pipeline design note: Rows are templates, not accounts. An account may appear multiple times with different templates at different stages. "Activated" = first citizen click received on that template. The template activation deep-dive is on the Template activation tab.
1 · Template views
How many times has each template details page been viewed, across all accounts and environments
Sandbox UAT
Template type Total views Unique accounts Avg views per account Trend (6 wks)
Trade License 1,840 14 131
Sanitation Permit 642 8 80
Building Permit 510 7 73
Health License 388 6 65
Business Permit 290 5 58
Market License 174 4 44
2 · Time to activation
Template details page viewed → Go-live checklist completed · How long does it take a partner to configure and go live with a template
Sandbox UAT
Configuration funnel — per template
StepCompletionCountAvg time at stepDrop
1Template details viewed
100%
96
Starting point — partner opens a template detail page for the first time.
2Template added
61%
59
3.4 min
−39%
39% who viewed the detail page did not add the template. Largest single drop — decision point between exploring and committing.
3Master config completed
35%
33
3.2 hrs
−44%
3.2 hrs avg across all 10 master config steps. Workflow setup is the longest individual step. 44% who added the template did not complete configuration.
4Go-live checklist done
17%
16
1.4 hrs
−52%
Only 16 of 96 template detail views resulted in a completed go-live checklist. Theme confirmation is the stall point within the checklist.
Overall: 17% of templates viewed reach go-live checklist completion. The biggest loss is at template added (−39%) and master config (−44%).
Time from template details viewed → go-live checklist completed
<1 day
2 templates
1–3 days
4 templates
4–7 days
5 templates
8–14 days
4 templates
>14 days
1 template
Median
5d
Average
6.8d
Fastest
0.4d
Slowest
18d
Of the 16 templates that completed go-live checklist. Note: 80 templates viewed but never reached go-live are not included in this distribution.
3 · Template view → use %
Of accounts that viewed a template detail page, what % went on to add it to their account
Sandbox UAT
Template type Views Added to account View → use % Avg time view → add
Trade License 1,840 128 7.0% 3.4 min
Sanitation Permit 642 38 5.9% 4.1 min
Building Permit 510 24 4.7% 5.8 min
Health License 388 16 4.1% 6.2 min
Business Permit 290 10 3.4% 7.1 min
Market License 174 5 2.9% 8.4 min
View → use % is low by design — most sandbox users are exploratory. This metric becomes more meaningful once segmented by accounts that went on to activate UAT.
4 · Configuration changes per template
How many times has a template's configuration been edited after initial setup
Instrumentation TBD
This metric needs a definition decision before instrumentation. A "configuration change" could mean any of the following — and each requires a different event:
A
Post-publish edits — changes made to any master config step (form, workflow, roles, etc.) after the template has gone live. Tracked via existing master_config.* events with a flag indicating the template was already published.
B
Version increments — if the product supports versioning of templates, track template.version.published with a version number. Count of versions > 1 = number of post-launch changes.
C
Checklist restarts — if a partner re-enters the go-live checklist after a template is live, that's a proxy for a significant configuration change. Tracked via template.go_live_checklist.started where template is already in live state.
Decision needed: which definition matches how configuration changes actually work in the product? Once agreed, the event and this panel can be built out.
1 · Geography
Auto-captured · PostHog
Sessions by country and city
All user roles · last 30d · hover to inspect · accounts may map to city or department within a city
View
Country · low → high sessions
City · bubble size = session volume
Segment by role in PostHog to distinguish accounts where citizens are engaging vs. accounts with only admin activity. Sessions in cities with no live account may indicate sandbox exploration or VPN usage.
2 · Devices
Auto-captured · PostHog
Employee app
How employees access the product
Desktop 58%
Mobile 34%
8%
Desktop 58% Mobile 34% Tablet 8%
Chrome
61%
Safari
17%
Firefox
11%
34% mobile — employees are processing applications on phones. Direct UX priority signal for inbox, forms, and payment collection.
Citizen app
How citizens access the service
Mobile 82%
11%
7%
Mobile 82% Desktop 11% Tablet 7%
Chrome Android
54%
Safari iOS
23%
Samsung Internet
11%
82% mobile-first. Document upload is the highest drop-off step and most painful on mobile — strongest UX improvement candidate.
3 · Session patterns
Auto-captured · filterable by account
Usage by hour of day
Sessions per hour · separated by role
Account Role
Employee sessions
12am6am12pm6pm11pm
Citizen sessions
12am6am12pm6pm11pm
Peak employee usage 9am–11am and 2pm–4pm. Citizen peak 11am and 4pm–6pm. Maintenance window: 10pm–6am local time.
4 · Error and friction signals
Requires session replay enabled
Rage clicks and JS errors — PostHog session replay automatically flags rage clicks and JavaScript errors. Once enabled at 50% sampling, this panel will show: top screens by rage click frequency, JS error rate by page, and a direct link from any data point to the relevant session recordings. No additional instrumentation needed — just enable session replay before launch so the first real usage is captured.