Skip to content

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.

frequency_ratio=commits in last 14 daysavg commits per 14-day period (last 90 days)
ThresholdLevel
ratio > 0.7Normal
0.4 < ratio <= 0.7Warning
ratio <= 0.4Elevated

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.

score_trend=avg score (last 14 days)−avg score (prior 30 days)
ThresholdLevel
trend > -0.5Normal
-1.0 < trend <= -0.5Warning
trend <= -1.0Elevated

Minimum commits: 5 in each period (to avoid noise from small samples).

3. Activity Gaps ​

What it measures: Extended periods without any commits.

gap_days=now−last_commit_at
ThresholdLevel
gap < 7 daysNormal
7 <= gap < 14 daysWarning
gap >= 14 daysElevated

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.

scope_ratio=unique domains (last 14 days)avg unique domains per 14-day period (last 90 days)
ThresholdLevel
ratio > 0.6Normal
0.3 < ratio <= 0.6Warning
ratio <= 0.3Elevated

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.

deep_session_ratio=deep sessions (last 14 days)total sessions (last 14 days)baseline_ratio=deep sessions (last 90 days)total sessions (last 90 days)
ThresholdLevel
current ratio > baseline * 0.7Normal
baseline * 0.4 < current <= baseline * 0.7Warning
current <= baseline * 0.4Elevated

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.

review_ratio=PRs reviewed (last 14 days)avg PRs reviewed per 14-day period (last 90 days)
ThresholdLevel
ratio > 0.6Normal
0.3 < ratio <= 0.6Warning
ratio <= 0.3Elevated

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 LevelCondition
Low0–1 signals at Warning, none at Elevated
Medium2+ signals at Warning, or 1 at Elevated
High2+ 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.

Built with intelligence, not surveillance.