Attrition Risk Detection
Attrition risk detection is an early warning system that identifies contributors who may be disengaging. It surfaces behavioral patterns — not conclusions — to help managers have informed conversations before it's too late.
Overview
The system monitors six behavioral signals derived from commit and PR data. Each signal is tracked independently, and a composite risk level is computed from their combination.
Route: /c/:slug/engagement
The Six Signals
1. Frequency Drop
What it measures: Declining commit frequency relative to the contributor's own baseline.
| Threshold | Level |
|---|---|
| ratio > 0.7 | Normal |
| 0.4 < ratio <= 0.7 | Warning |
| ratio <= 0.4 | Elevated |
The baseline is the contributor's own historical average, not a team benchmark. A contributor who typically ships 5 commits/week dropping to 2 is flagged, even though 2/week might be normal for someone else.
2. Score Decline
What it measures: Trending decrease in commit quality scores.
| Threshold | Level |
|---|---|
| trend > -0.5 | Normal |
| -1.0 < trend <= -0.5 | Warning |
| trend <= -1.0 | Elevated |
Minimum commits: 5 in each period (to avoid noise from small samples).
3. Activity Gaps
What it measures: Extended periods without any commits.
| Threshold | Level |
|---|---|
| gap < 7 days | Normal |
| 7 <= gap < 14 days | Warning |
| gap >= 14 days | Elevated |
Activity gaps overlap with the Silent Contributor alert but serve a different purpose. Alerts notify managers of current silence; attrition risk tracks gaps as one signal among many.
4. Scope Narrowing
What it measures: A shrinking set of files and domains being touched.
| Threshold | Level |
|---|---|
| ratio > 0.6 | Normal |
| 0.3 < ratio <= 0.6 | Warning |
| ratio <= 0.3 | Elevated |
A contributor whose work narrows from 5 domains to 1 may be coasting on familiar territory or mentally checking out. Alternatively, they may be deeply focused on a critical project — context matters.
5. Session Shortening
What it measures: Deep work sessions becoming shallow micro-sessions.
| Threshold | Level |
|---|---|
| current ratio > baseline * 0.7 | Normal |
| baseline * 0.4 < current <= baseline * 0.7 | Warning |
| current <= baseline * 0.4 | Elevated |
Deep sessions (sustained work periods producing multiple meaningful commits) are a strong indicator of engagement. A shift toward micro-sessions (single-commit bursts with long gaps) may signal distraction or disinterest.
6. Review Withdrawal
What it measures: Declining participation in PR reviews and discussions.
| Threshold | Level |
|---|---|
| ratio > 0.6 | Normal |
| 0.3 < ratio <= 0.6 | Warning |
| ratio <= 0.3 | Elevated |
Review participation is a strong team engagement signal. Contributors who stop reviewing others' code are often withdrawing from the team socially before they withdraw formally.
Composite Risk Level
The six signals are combined into an overall risk assessment:
| Risk Level | Condition |
|---|---|
| Low | 0–1 signals at Warning, none at Elevated |
| Medium | 2+ signals at Warning, or 1 at Elevated |
| High | 2+ signals at Elevated |
The composite level is a summary, not a verdict. Managers should examine individual signals for context.
Philosophy
Attrition risk detection walks a fine line. Done poorly, it becomes surveillance — a system that punishes people for taking vacation or having a slow week. ShipLens takes a deliberate stance:
Surface data to support conversations, not to replace them.
Every signal has legitimate explanations. A frequency drop could mean vacation. Scope narrowing could mean deep specialization on a critical project. Session shortening could mean a shift to architecture and planning work that doesn't produce commits.
The system provides the data. The manager provides the judgment. ShipLens will never:
- Automatically flag someone as "at risk" in a way visible to their peers
- Send automated alerts to skip-level managers
- Use attrition risk in scoring or performance evaluations
- Treat any single signal as conclusive
TIP
Attrition signals are visible only to company admins and direct managers. They are excluded from contributor-facing views and are never included in team-wide reports.
