Read a team's health trends over time
How the trends grid encodes state and movement, when a drop alerts facilitators, and what the needs-attention list asks of you
Trends line up a team's closed health checks side by side, so a dimension's score reads as a pattern across runs instead of one isolated number. The grid uses one visual rule for every model and scale.
Where it lives
Open Team Health → Trends in the sidebar — visible to managers and admins, not every employee. Pick a Team (and optionally a Model); the grid lists that team's closed runs as columns, one row per dimension. Clicking any cell opens that run's full results — distributions, comments, momentum votes and actions all live there.
How to read a cell
Every cell encodes two things:
- Color is state: where the score sits in its own scale, in thirds — green for the top third, amber for the middle, red for the bottom. Because the bands come from the scale's own range, a 1–5 Pulse dimension, a traffic-light rating and an eNPS row all read the same way. (eNPS rows band on the −100…100 score and carry an eNPS badge so the number isn't misread against 1–5 neighbours.)
- An arrow is real movement: ▲ or ▼ appears only when the score moved by at least 15% of the scale range since the previous run — 0.6 points on a 1–5 scale. Smaller wobbles show as a muted "—": at team sample sizes they are noise, not news.
The two signals answer different questions. An arrow says something just happened. A color drifting across a row — green to amber to red over five runs, with no single step big enough to fire an arrow — says something has been happening slowly. A row that stays red is a chronic problem no arrow will ever announce.
Each column header shows the run's date and its submitted/invited count. A run with fewer than five responses gets a "low" marker — scores still show (results are always the team's own), but read them gently.
A run that never measured a dimension leaves a dash — the grid never substitutes an overall average to fill the gap. To keep runs comparable at all, a model's dimension set locks as soon as any health check uses it.
Needs attention
Above the grid, any dimension that is red or fell in the latest run gets its own line, together with whether an improvement action is already linked to it — "linked action open · due …" or "no linked action" with a Create action shortcut into the run. This is the loop that makes measuring worth it: the next check tells you whether what you did worked.
Deltas and alerts
The same 15%-of-range rule that draws a ▼ also fires the "Team health score dropped" notification to every facilitator when a run closes — what alerts is exactly what the grid marks as moved. A rise, however large, never alerts anyone.
Worked example
Platform's first Pulse 5 check — the one that spawned Marta's on-call rebalancing action — is the baseline: Workload averaged 2.2, a red cell, with no earlier column, so no arrow and no alert. The next run climbs to 3.0 once the rotation changes — an ▲ into amber, and nobody is alerted. The run after that slides to 2.4: a 0.6-point drop, exactly at the threshold — a ▼ back into red, a "needs attention" line naming Workload, and every facilitator gets the "score dropped" notification.