Metrics & KPIs
Platform metrics, analytics, and key performance indicators
Data-Driven Platform Management
Agora ships a metrics and analytics layer: an event store behind a shared schema registry, cron-driven daily aggregate tables, and health, funnel and cohort dashboards for organization and community operators. Dashboards read the precomputed daily aggregates rather than raw events, so the figures they show are daily rollups rather than a live feed. The indicators listed below are the targets this layer is built to measure, not readings taken from a running deployment.
Our analytics system provides real-time insights into platform usage, voting patterns, and Canton settlement activity. This data-driven approach ensures informed decisions about platform development, reward adjustments, and resource allocation.
Key Performance Indicators (KPIs) are monitored continuously to track progress toward platform goals and identify areas for improvement.
Platform Metrics
Community Health Dashboard
Growth
New member signups over time, k-anonymity enforced (k ≥ 25)
Activation
Percentage of new members who complete at least one action within 7 days
Retention & Cohort
Cohort retention curves and churn analysis from CommunityDailyAggregate
Churn
Members inactive for 30+ days; early warning signals
Social Health Dashboard
Engagement
Posts, comments, boosts/squashes, derived from PostDailyAggregate
Moderation Risk
Reported-post share, hidden-post share, and a derived risk index over community posts. Rate limiting on the anonymous path is an issuer-side admission budget — a cap on how many one-use credentials a principal receives per capability and epoch — not a per-post identity signal.
Content Quality
Boost-to-squash ratio, comment depth, UniRep reputation signals
Response Times
Moderation queue latency, community response turnaround
Funnel Analytics
Poll Funnel
View → start → complete → share (conversion at each step); there is no reward step, because an anonymous vote's reward is credited to a UTC day of activity rather than to a named poll.
Member Funnel
Discover community → join → first post → repeat engagement
Post Funnel
View → read → react/boost → comment → thread participation
Schema Registry
Type-safe event tracking; every funnel metric auditable
Canton Settlement Dashboard
CC Settled
Canton Coin moved for fees, not for rewards: poll-activation and named social-action fees go from the actor's party wallet to a treasury party, and shielded-pool deposits go to the shielded fee treasury. Participation rewards are AGR ledger rows in our own database and are not paid out in CC.
Fees Settled
Poll-activation fees paid in Canton Coin from the organization's own Canton party to the treasury party. Anonymous action fees are the separate lane: those spend from the shielded pool, where the coin already moved at deposit time.
Validator Status
Live Canton mainnet validator status and settlement throughput
Shielded Fee Pool
Shielded fee pool commitments (Poseidon2, fixed-depth Merkle tree) hiding which deposit a fee was spent from — not the amount, which is a public proof signal
Key Performance Indicators (KPIs)
Daily Active Users (DAU)
High10,000+
Users who vote or interact with the platform daily
Monthly Active Users (MAU)
High100,000+
Users who participate in at least one poll per month
Vote Participation Rate
High60%+
Percentage of eligible voters who cast votes in polls
Poll Activation Rate
Medium50+ per day
Number of new polls activated daily
Canton Coin Settlement Success
High>99%
Success rate of private Canton Coin settlements for token operations
Shielded Fee Throughput
Critical>95%
Share of shielded fee pool spends that verify and settle; the pool separates a deposit from the fee it later pays, so a spend record does not name the payer, while the fee amount itself is public
ZK Proof Success Rate
High>95%
Percentage of successful ZK proof generations
Canton Settlement Success
Critical>98%
Success rate of Canton ledger vote recordings
Analytics Capabilities
Event Store + Schema Registry
Type-safe event tracking powered by a shared schema registry. Every metric is provably derived from events that passed schema validation. Raw events are not deleted at aggregation: a nightly job purges them once they have been rolled up and are more than 90 days old, and the daily aggregate tables are kept.
k-Anonymity on Cohort Analytics (k ≥ 25)
The cohort analytics that report a threshold validate each query against k ≥ 25 before results are released. Counts below it are rounded to the nearest five rather than shown exactly, and the demographic breakdowns drop a group entirely. The floor covers the cohort analytics that report one — free-text answers are shown verbatim by design.
Daily Aggregate Tables
Three precomputed aggregate tables drive dashboards: PollDailyAggregate, CommunityDailyAggregate, and PostDailyAggregate. Queries hit the aggregates rather than raw events — fast, privacy-preserving, auditable.
Privacy-Preserving Analytics
Organization admins see cohorts, not people: the health and funnel dashboards round counts under 25 to the nearest five instead of reporting them exactly, the demographic breakdowns drop a group under 25 altogether, and event traces are not per-user. One list is deliberately not anonymous — on an anonymous poll that closes registration before voting opens, the organiser sees who registered, because they have to know whether enough people signed up for the poll to run anonymously at all. What no dashboard reports is who voted.
Metric Tracking & Reporting
Agora tracks metrics at multiple levels to ensure comprehensive platform monitoring:
Daily Metrics
- Aggregated daily snapshots stored in database
- 7-day and 30-day rolling averages
- Trend analysis and growth tracking
Real-Time Metrics
- Live dashboard updates
- Current poll and vote counts on live-results polls. A sealed poll withholds its counters until voting closes, and defers the Canton settlement records with them, because a total that ticks upward beside a registration roster times the arrival of each ballot.
- Active user tracking
Privacy-Preserving Analytics
Cohort metrics are aggregated and k-anonymized, and demographic data is reported only in aggregate form for statistical analysis. Not every endpoint sits behind that guard — the legacy analytics controller and free-text answers do not — so the protection belongs to the cohort dashboards rather than to the analytics surface as a whole.