Metric

What is community member growth rate?

Definition

Member growth rate is the percentage change in community members from one period to the next. Gross growth counts joins only and never falls; net growth subtracts the members who went inactive and is the number worth reporting. Both depend entirely on how you define an active member — a 30-day activity window and a 90-day one produce different communities from the same data.

Formula: Net member growth rate = (active members this period − active members last period) / active members last period × 100

What data do you need?

  • A member table with a stable member ID and join timestamp
  • Activity events (posts, replies, reactions, logins) with member IDs and timestamps
  • A written definition of 'active', including the window and the qualifying signals
  • Deletion or anonymization flags so removed accounts are handled deliberately
  • Acquisition source, if growth is to be attributed to channels

SQL pattern

Net member growth rate by month (PostgreSQL)PostgreSQL
WITH monthly_active AS (
  -- Active = posted or replied in the month. State the definition on the
  -- dashboard; every other choice yields a different growth rate.
  SELECT
    date_trunc('month', created_at)::date AS month,
    COUNT(DISTINCT member_id) AS active_members
  FROM community_posts
  WHERE created_at < date_trunc('month', CURRENT_DATE)
  GROUP BY 1
)
SELECT
  month,
  active_members,
  active_members - LAG(active_members) OVER (ORDER BY month) AS net_change,
  ROUND(
    100.0 * (active_members - LAG(active_members) OVER (ORDER BY month))
    / NULLIF(LAG(active_members) OVER (ORDER BY month), 0), 1
  ) AS growth_pct
FROM monthly_active
ORDER BY month;

Common pitfalls

Reporting registered members as the growth metric.→ Registrations only increase, so the chart always looks good. Lead with active members and keep registrations as context.
Changing the active-member window between reviews.→ Fix the window (30, 60, or 90 days), label it on every card, and version the change if it ever has to move.
Including the current partial month in the trend.→ Growth math needs complete periods; show month-to-date separately against the same day count last month.

Where does this metric apply?

This metric commonly uses data from Discourse, Circle, Discord, Slack, Bettermode, plus any warehouse models built on exported community and event records at the same grain.

Dashboards

Integrations

Metrics

Analytics

FAQ

Should lurkers count as members?
Only if you can see them. Read-only visits are visible in some platforms' logs and invisible in others, so a 'lurker' count is often really a 'logged-in session' count. If you include them, make it a separate card labeled by its signal rather than folding them into the same active-member number as posters.
How do account deletions affect the trend?
They rewrite it. When a member is hard-deleted or anonymized, their historical posts and membership row may disappear, so last year's numbers shrink each time you rerun the query. Snapshot monthly counts into a table you control, and reconcile the snapshot against the live query so the drift is visible instead of silent.