Overview
DASHBOARD GUIDE

MLI — Member Lifecycle Intelligence

Track every member's lifecycle state, surface members at risk, and steer your community towards retention. The MLI dashboard turns raw activity into a single health number per member.

Path
DashboardInsightsMLI
Module
mli
Required permission
mli.view

Before you start

A few quick checks before opening the MLI dashboard.

  • You have the mli.view capability on this server
  • The MLI module is enabled in Modules
  • At least one MLI compute cycle has run (the bot processes data on an interval)
  • A channel exists where MLI can post alerts and digests, if you plan to enable them

What you'll see

The MLI dashboard is split into four tabs across the top.

Overview
Members
Risks
Settings
Overview
Server health ring, KPI cards, score bars, state distribution and top risks.
Members
Sortable, filterable table of every tracked member with health, engagement, risk and trend.
Risks
Severity tiers, risk family distribution, and the active risks table.
Settings
Feature toggles, channels, alert tuning, thresholds and computation cadence.

Overview tab

Landing screen — the snapshot you check first thing in the morning.

Health ring + KPIs

  • The big ring shows the average health score across all tracked members (0–100). Green above 60, amber 30–60, red below 30.
  • Four KPI cards: Total members, Critical, New members (last 7 days) and Average risk.
  • Tones on the KPIs change colour based on thresholds — Critical turns red the moment any member is in the critical state.

Score bars

Three bars across the page show server-average Engagement, Social and Risk scores. Risk is inverted (lower is better).

State distribution

A breakdown of every lifecycle state (e.g. NEW, ACTIVE, DORMANT, LOST, CRITICAL) with the count and percentage. Members who have not yet been classified are not shown.

Top risks

The most frequent risk families currently affecting your server. Each row shows the family name, member count and average severity. If everything is healthy, a green shield appears with the message "Your community is healthy."

Recent state changes

The latest members who transitioned between states (e.g. ACTIVE → DORMANT). Use it to spot members worth reaching out to before they leave.

Members tab

The full member table. The most useful view for day-to-day moderation work.

Filters and sort

Filter by stateDropdown

All states, Critical, or any specific lifecycle state.

Sort byDropdown

Priority score, Health, Risk, Engagement or Last active.

Columns

  • User — avatar plus display name. Hover the name to see the user id.
  • State — colour-coded chip showing the lifecycle state.
  • Health / Engagement / Risk — score cells (0–100). Risk is inverted.
  • Trend — small arrow icon for whether health is rising, falling or flat.
  • Active risks — danger chip with the count of active risk families.
  • Last active — formatted date.

Pagination

Page controls appear when more than one page exists. Each page shows 25 members. The page indicator reads Page X of Y.

Risks tab

Risk-first view. Useful when you want to triage problems instead of people.

Severity tiers

Three cards across the top: Critical (severity ≥ 70%), Warning (40–69%) and Low (under 40%). Each shows the count of risks in that band.

Risk family distribution

Bar chart of risk families ranked by member count. Right-side label shows the average severity for that family with a colour indicator.

Active risk details table

  • User — who is affected.
  • Risk family — coloured chip identifying the category.
  • Severity — coloured bar plus percentage.
  • Confidence — how sure the model is.
  • Explanation — short, plain-English description, truncated to two lines (full text on hover).
  • Detected — date of first detection.

Settings tab

The longest tab. Save with the button in the top right — many fields are validated as you type.

Features

  • Enable MLI — master switch for the entire module.
  • Risk alerts — post alerts when a member crosses the risk threshold.
  • Interventions — let MLI suggest or perform automated nudges.
  • Social graph — track how members interact with each other for the Social score.
  • Cohort tracking — bucket members into cohorts and track them over time.
  • Digest reports — periodic summaries posted to the alert channel.
  • Quiet hours — suppress alerts during a configurable window.

Channels

Alert channelChannel picker

Where MLI posts member-risk alerts and digests. Text or announcement channels accepted.

Log channelChannel picker

Verbose log of every state change and computation cycle.

Staff channelChannel picker

Sensitive PII-bearing alerts go here, separate from the public alert feed.

Alert settings

Posting modeDropdown

EMBED, CARD or TEXT. Embed is most readable; Text is plain and minimal.

Max alerts per hourNumber

Hard ceiling that prevents alert flooding. 0 disables alerts entirely.

Example: 20

Digest interval (minutes)Number

Only shown when Digest reports is on. 10–1440.

Example: 1440

Quiet hours start / endText input

HH:MM strings. Only shown when Quiet hours is on.

Example: 22:00 → 08:00

Thresholds

SettingTypeDefaultDescription
Health alert thresholdNumber (0–100)30Alert when health drops below this value.
Risk alert thresholdPercent (0–100)60%Alert when any risk severity exceeds this value.
Inactivity daysDays (1–3650)14After this many idle days, members start moving towards Inactive.
Dormancy daysDays (1–3650)30After this many days they are considered Dormant. Must be ≥ Inactivity.
Lost daysDays (1–3650)90After this many days they are considered Lost. Must be ≥ Dormancy.
Threshold ordering matters
The dashboard refuses to save if Inactivity > Dormancy or Dormancy > Lost. An amber banner explains exactly which value is out of order.

Computation

Compute interval (minutes)Number

How often MLI re-runs the lifecycle calculation. 10–1440.

Example: 60

Data retention (days)Number

How long raw signal data is kept. 7–365.

Example: 90

Feature windows enabledMulti-select

Pick at least one of the rolling-window options (1h, 24h, 7d, 30d, 90d). At most six. The chip cluster shows the count.

Definitions

The vocabulary MLI uses across every tab.

Health
A 0–100 composite score combining engagement, social and inverse-risk signals.
Engagement
How active a member is — messages, voice minutes, reactions and command usage.
Social
How connected the member is to other members based on co-conversation, mentions and replies.
Risk
Likelihood of negative outcomes — disengagement, leaving the server, moderation events.
Risk family
A category of risk such as engagement-decay, social-isolation or moderation-flag.
Lifecycle state
NEW, ACTIVE, INACTIVE, DORMANT, LOST or CRITICAL — the bucket a member currently sits in.

Common tasks

Step-by-step recipes for the work most operators do most often.

1

Turn MLI on with sensible defaults

Get the dashboard populated with data as quickly as possible.

  • Open DashboardInsightsMLISettings.

  • Toggle Enable MLI on.
  • Pick an Alert channel in the Channels card.
  • Leave the thresholds at defaults (14 / 30 / 90 days). Click Save.
  • Wait one compute cycle (default 60 minutes) and refresh the dashboard — the health ring and member table populate.
2

Triage a member who just turned Critical

The most common reactive workflow.

  • Open the Members tab.
  • Set Filter by state to Critical and Sort by to Priority.
  • Open the top member's row — note their lifecycle state, last active date and risk count.
  • Switch to the Risks tab and find the same member. Read the explanation column for context.
  • Reach out, mute their alerts (if appropriate) or escalate via your staff channel.
3

Quiet alerts overnight

Use Quiet hours to keep your staff Slack quiet outside business hours.

  • Open Settings → Features and toggle Quiet hours on.
  • In the Alert settings card set Quiet hours start to 22:00 and end to 08:00.
  • Click Save. Alerts inside the window are queued and posted at the next available time outside the window.

Troubleshooting

The dashboard says 'No lifecycle data yet'
MLI runs on an interval — by default every 60 minutes. The first cycle has not completed. Wait for the next cycle, or shorten Compute interval in Settings to speed up your test.
Save is disabled with an amber banner
The threshold ordering invariant is broken. The values must satisfy Inactivity ≤ Dormancy ≤ Lost. Adjust the offending number until the banner disappears, then save.
Alerts are not appearing in the channel
Check that the Alert channel is set, that the bot can post into it, and that Max alerts per hour is greater than zero. Quiet hours may also be active — the field is only visible when Quiet hours is toggled on.
Disabling MLI mid-cycle
Turning Enable MLI off triggers a confirmation dialog because in-flight signals will be discarded. Confirm only if you are sure — historical data within the retention window is preserved either way.