- Weekly active users
- 210
- People using the bot
- Activation
- 48%
- New servers finishing setup
- Week-3 retention
- 28%
- An earlier cohort returning
- Command success
- 99.2%
- Attempts completed successfully
Weekly active users · six example weeks
Example figures for this guide, not live bot statistics or performance targets.
Choose metrics that answer a question
A key performance indicator (KPI) should help you make a decision. If you want to improve onboarding, measure how many new servers finish setup. If commands feel slow, measure response times. Use the categories below to choose a small starting set.
Active users
Activation
Engagement
Retention
Reliability
Conversion
start small
One goal. A few useful numbers.
For a new bot, start with activation, weekly active servers, and command success rate. Together, they show whether setup works, whether servers keep using the bot, and whether it delivers what they ask for.
From an install to a useful first action
Acquisition measures how people find and add your bot. Activation measures whether they get it working. Count those separately: an install does not tell you that setup succeeded.
Record the install
Track when the bot joins a server. Record the referral or campaign source when you can reliably identify it.Define the first useful action
For a moderation bot, this might be enabling the first rule. For an events bot, it could be creating an event.Choose a time window
For example, count servers that complete that action within 72 hours of installing. Give each server the full window before including it in the result.
Look beyond command totals
A rise in commands can come from a growing audience, one busy server, or repeated failed attempts. Count unique users and servers alongside command volume to see what changed.
Command usage
Feature adoption
- Define active: choose a meaningful action, such as a successful command, and use that definition consistently.
- Choose your unit: count people when studying personal use and servers when studying community adoption.
- Compare similar groups: small servers and large communities may use the same bot very differently.
See whether people come back
A cohort is a group that started in the same period. Follow each group over time instead of comparing this week's total users with last week's: new arrivals can hide a drop in returning users.
| First active | Week 0 | Week 1 | Week 2 | Week 3 |
|---|---|---|---|---|
| Week A | 100% | 46% | 33% | 28% |
| Week B | 100% | 52% | 37% | Not yet measured |
| Week C | 100% | 55% | Not yet measured | Not yet measured |
Week A has 28 of its original 100 servers active in week 3. Dashes mean that week has not finished yet.
Pick one retention definition and label it clearly. The example above counts servers that were active during each week after their first use. A day-7 retention metric would answer a different question.
Server churn
Reactivation
Put reliability beside usage
If engagement falls, check failures and response times before changing features. A command that times out gives people little reason to try again.
| Metric | What to look for |
|---|---|
| P95 and P99 latency | Slow responses that an average can hide. P95 is the time within which 95% of measured responses finish. |
| Errors and timeouts | The share of command attempts that fail, grouped by command and error type. |
| Rate-limit events | Repeated throttling that may point to bursts or unnecessary API calls. |
| Gateway connection | Disconnects, missed heartbeat acknowledgements, and whether the bot can receive events. |
Follow the path to a paid plan
If your bot offers paid features, track the steps between seeing an offer and completing a purchase. A single conversion percentage will not show you where people stop.
- 01See the offer
- 02Open the paid-plan page
- 03Start checkout
- 04Complete a purchase
- Conversion: divide completed purchases by the relevant starting group, such as users who saw the offer.
- Checkout completion: compare successful payments with checkout starts.
- Refunds and cancellations: track what happens after purchase, alongside revenue.
- Attribution: use campaign tags or known referrers where available; keep unknown sources labeled as unknown.
Keep votes and revenue-sharing earnings separate from paid-plan conversion. They measure different ways people support your bot. The monetization guide covers the broader options.
Track listing activity with Rank.top
Rank.top provides vote data and statistics reported by your bot. For activation, retention, and per-user command usage, collect events in your own application as well.
/api/bots/{botId}/votesRead vote data while signed in as the bot owner.
/api/bots/{botId}/statsRetrieve the statistics available for your bot.
/api/bots/{botId}/postSubmit server count, user count, ping, and memory from your bot.
Send a statistics snapshot
Call this function from your bot process with its current statistics. Supply your account API key and the bot authorization token through environment variables.
Where to view the results
Open the Stats tab on your bot page to view available statistics. Use the owner dashboard for voting activity. Keep your own event dashboard for questions that need individual command or onboarding events.
Build a dashboard you will use
Put each metric next to a question and a possible action. Include the reporting period, comparison period, and release dates so changes have context.
A weekly review
Operational alerts
from data to a decision
Change one thing, then measure again.
If new servers install the bot but never finish setup, try a shorter setup flow. Compare activation for the next complete cohort, and check that errors or support requests have not increased.
Common mistakes to avoid
Counting installations as activity
Changing the definition midstream
Collecting without a question
Treating every spike as progress
Add your bot to Rank.top
Create a listing, submit your bot statistics, and follow its voting activity.