Active accounts
5
Across 2 hosting partners
Templates live
6
of 10 total templates
↑ +1 this month
Stalled >28d
2
Nairobi BP · Kampala HL
Needs intervention
Configuring
2
Active, not yet live
Within normal range
Avg days to go live
12d
Across 6 completed templates
Baseline
Account onboarding status
Click account to expand · Click template row for stage detail · Stall threshold: 28 days
Integration configuration — OOB vs custom
How many accounts have configured each integration type
SMS
Amazon SNS (OOB)11 accounts
Custom (partner-built)3 accounts
Email
Amazon SES (OOB)11 accounts
Custom (partner-built)3 accounts
USSD
OOB provider7 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
On journeyOff journeyUnderstand
| 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
3 · Template view → use %
Of accounts that viewed a template detail page, what % went on to add it to their account
| 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. Becomes more meaningful once segmented by accounts that went on to activate.
4 · Configuration changes per template
What each account modified vs kept as default across the 6 configurable sections
Instrumentation required: events must fire when any template section is saved with changes vs saved with defaults intact. Data below is illustrative prototype — to be replaced with live PostHog events once backend instrumentation is in place.
Section change frequency — across all activated template instances
Viewing account:
All metrics are per-account unless "All accounts" is selected
A · Employee Usage
Employee activity — login & session detail
Active = logged in within 14 days · Low = 1–5 logins in last 30d · Inactive = no login in 30+ days
| Employee | Role | Last login | Logins (30d) | Avg session | Status |
|---|
Login activity — 6-week trend
Total employee login count per week
Device & channel — employees
Device type and access channel used by employee sessions
Employee action completion time
Avg time per action type · P50 = median · P90 = slowest 10%
Inbox backlog trend
Applications unactioned for >3d and >7d · 6-week view
First touch & throughput
Time to first employee action after submission · Applications processed per login
B · Citizen Usage
Geography
Where citizens are accessing the system from · Click a marker for detail
Device & channel — citizens
Device type and access channel used by citizen sessions
Apply-to-issuance
Flow from application start → certificate download · blue = continued · red = dropped off · select an account to view
Form drop-off & timing
Time spent at each step (P50 = median, P90 = slowest 10%) · drop-off count and rate per step
Notification click-through (24h)
Of notifications sent, % where citizen returned and took next action within 24 hours
Payment channels & success rate
Online vs offline split · first-attempt payment success rate per channel
Time per action
Avg time citizens spend at each step · high values indicate friction
Screen abandonment
Where citizens dropped off and how long they spent before leaving
C · Session Patterns
Sessions by hour of day
Local time · helps size capacity and plan maintenance windows
Employee sessions
12am6am12pm6pm11pm
Citizen sessions
12am6am12pm6pm11pm
Naming convention
Events
entity_past_tense_verbProperties
snake_caseContext IDs
account_id + service_id on every eventTimestamps
_at suffix e.g. submitted_atDurations
_seconds suffix e.g. duration_seconds
Examples:
form_step_completed
payment_attempted
employee_action_completed
notification_link_clicked
license_downloaded
Property Hierarchy
properties are captured at three levels — capture once at the right level, not per-event
properties are captured at three levels — capture once at the right level, not per-event
LEVEL 1 · SDK / Identity
Set once on login via
posthog.identify() + posthog.register() — attached to every event automatically
user_id
user_type citizen·employee·admin
account_id
service_id
timestamp auto
LEVEL 2 · Session
Captured on
session_started — same for all events in that sitting, queried by joining on session_id
session_id
device_type mobile·desktop·tablet
browser
os
channel web·whatsapp·ussd
country
city
lat
lon
LEVEL 3 · Event-specific
Only properties unique to that action — listed in each event definition below
duration_seconds
elapsed_days
sessions_count
flow_started_at start events only
application_id
step_name
action_type
amount
outcome
… and more
Single-session timing
Event fires on completion.
timestamp = end time (auto). Add duration_seconds = active effort. No ended_at needed.Multi-session timing
flow start stores
flow_started_at in localStorage. flow end adds elapsed_days + sessions_count.Entities
11 entities · included as properties on events
11 entities · included as properties on events
user
AdminCitizenEmployee
Universal user entity across all three apps.
user_type distinguishes citizens from employees. All charts filter by user_id and segment by user_type.user_type values: citizen · employee · admin | role (employees only): document_verifier · field_inspector · approver · counter_employee · admin
Key fields
user_iduser_typeaccount_idemailphonerolecreated_atlast_login_at
Charts:All charts (filter by user_type)
account
Admin
Government city or ULB deploying DIGIT services. Top-level scoping entity — included on every event.
Key fields
account_idaccount_namecountrycitypartner_nameenvironment
Charts:All (filter)
service
AdminEmployee
A configured service instance for an account (e.g. Trade License for Lagos). Created from a template.
Key fields
service_idaccount_idtemplate_typestatuscreated_atlive_at
Charts:Acct ProgressTemplate Act.Feature Usage
application
CitizenEmployee
A citizen's license or permit application. Central entity — referenced by documents, payments, inspections, and the license.
Key fields
application_idservice_idaccount_iduser_idchannelsourcesubmitted_atcurrent_stage_id
Charts:Apply FunnelForm TimingBacklogFirst Touch
user_session
AdminCitizenEmployee
A single login session across any app. Captures device, channel, geography, and duration for all session-level charts.
Key fields
session_iduser_iduser_typedevice_typechannelstarted_atended_atcitylatlon
Charts:GeographyDevice/ChSessions/hrEmp SessionsLogin TrendThroughput
form_step
Citizen
A single step in the multi-step application form. Defines what section of the form the citizen is on.
Key fields
step_idstep_indexstep_nameservice_idfield_countis_skippable
Charts:Form TimingApply Funnel
document
CitizenEmployee
A file uploaded by the citizen with their application. Status is updated by the document verifier employee.
Key fields
document_idapplication_iddocument_typefile_size_kbstatusverified_atrejection_reason
Charts:Apply FunnelEmp Actions
payment
CitizenEmployee
A payment transaction against an application. Captures channel, amount, and first-attempt outcome for success rate analysis.
Key fields
payment_idapplication_idchannelamountstatusattempted_atcompleted_atfailure_reason
Charts:PaymentsApply Funnel
notification
CitizenEmployee
An SMS or email notification sent to a citizen. The link_url enables click-through tracking for CTR measurement.
Key fields
notification_idapplication_idrecipient_typechannelevent_typesent_atlink_url
Charts:Notif CTR
employee
AdminEmployee
Extends
user with role-specific fields. Identified by user_id with user_type: employee. Role controls which workflow queue and actions are visible.Key fields
user_iduser_type: employeeaccount_idroleemail
Charts:Emp SessionsEmp ActionsFirst Touch
license
CitizenEmployee
The issued license or certificate that concludes the workflow. Tracks issuance and download for funnel completion.
Key fields
license_idapplication_idlicense_numberissued_atexpiry_date
Charts:Apply FunnelFirst Touch
Events — Admin App
36 events
36 events
Events — Citizen App
22 events
22 events
Events — Employee App
16 events
16 events
Events — System
2 events · fired by backend, not user action
2 events · fired by backend, not user action
Total entities
11
user · account · service · application · user_session · form_step · document · payment · notification · employee · license
Total events
76
36 Admin · 22 Citizen · 16 Employee · 2 System
Charts powered
14
Across all 4 dashboard tabs
Event Volume Estimator
estimated events per month based on your account and transaction volume
estimated events per month based on your account and transaction volume
Total active accounts
Accounts using the platform this month
New accounts this month
Drives one-time template setup events
Transactions per month
Total citizen applications submitted across all accounts
SETUP
200
new accounts × ~100
CITIZEN JOURNEY
11,000
transactions × ~22
EMPLOYEE ACTIONS
5,000
transactions × ~10
SYSTEM
3,500
transactions × ~7
ADMIN / DASHBOARD
750
accounts × ~75
Estimated total events / month
20,450
Breakdown
Multiplier assumptions ▾
Citizen journey (×22 per transaction)
auth flow (4) · session (1.5) · form steps started/completed/abandoned (8) ·
documents uploaded (2.5) · application submitted + viewed (2) · payments (1.5) ·
notifications clicked (1) · downloads (1.5)
Employee actions (×10 per transaction)
employee_action started + completed (2) · document verified (2) ·
inspection events (0.6) · license issued (1) · session overhead (1.4) ·
search, inbox, notifications (3)
System (×7 per transaction)
notification_sent (3) · application_stage_changed (4)
Setup (×100 per new account)
All admin config events · boundary · localization · go-live checklist ·
employee onboarding · config_field_changed (~30 field-level changes)
Admin / Dashboard (×75 per account/month)
dashboard_viewed · dashboard_tab_clicked · chart_viewed · chart_interacted ·
profile · system_users · employee notifications (ongoing monthly activity)