Bicycle.LLCSchedule a call

← Dashboard collection

Choose dashboard — Retention and Composition

people analytics dashboard

Retention and Composition

Retention, tenure, turnover cost, representation, and screening views.

8 pages · Power BI

These dashboards use synthetic workforce data. Values illustrate the report design.

Choose page — 1 Retention summary

Selected page

1 Retention summary

DAX definitions

Exact source expressions and direct measure dependencies for the selected page.

Active Headcount

RetEmployee · Headcount & Flow

CALCULATE(COUNTROWS(RetEmployee), KEEPFILTERS(RetEmployee[status] = "Active"))

Direct dependencies: None

Attrition Rate

RetEmployee · Headcount & Flow

DIVIDE([Exits (TTM)], [Average Headcount])

Direct dependencies: Exits (TTM), Average Headcount

Average Headcount

RetEmployee · Headcount & Flow

([Start Headcount] + [Active Headcount]) / 2

Direct dependencies: Start Headcount, Active Headcount

Exits (TTM)

RetEmployee · Headcount & Flow

CALCULATE(COUNTROWS(RetEmployee), KEEPFILTERS(RetEmployee[status] = "Terminated"))

Direct dependencies: None

Expected Loss (USD)

RetEmployee · Retention Risk

SUM(RetEmployee[expectedLossUsd])

Direct dependencies: None

High-Risk, High-Impact

RetEmployee · Retention Risk

CALCULATE(COUNTROWS(RetEmployee), FILTER(RetEmployee, RetEmployee[riskBand] = "High" && RetEmployee[impactBand] = "High impact"))

Direct dependencies: None

Regretted Attrition Rate

RetEmployee · Headcount & Flow

DIVIDE([Regretted Exits], [Average Headcount])

Direct dependencies: Regretted Exits, Average Headcount

Regretted Exits

RetEmployee · Headcount & Flow

CALCULATE(COUNTROWS(RetEmployee), KEEPFILTERS(RetEmployee[regretted] = "Yes"))

Direct dependencies: None

Replacement Cost (Exits)

RetEmployee · Turnover Cost

SUM(RetEmployee[replacementCostUsd])

Direct dependencies: None

Retention Status Text

RetEmployee · Report Views

IF([Average Headcount] = 0, BLANK(), FORMAT([Exits (TTM)] + 0, "#,0") & " exits ÷ avg headcount " & FORMAT([Average Headcount], "#,0.0") & " = " & FORMAT([Attrition Rate] + 0, "0.0%") & " attrition (" & FORMAT([Regretted Exits] + 0, "#,0") & " regretted). Replacement cost " & FORMAT([Replacement Cost (Exits)] + 0, "$#,0") & "; " & FORMAT([High-Risk, High-Impact] + 0, "#,0") & " active employees are high risk and high impact; expected loss " & FORMAT([Expected Loss (USD)] + 0, "$#,0") & ".")

Direct dependencies: Average Headcount, Exits (TTM), Attrition Rate, Regretted Exits, Replacement Cost (Exits), High-Risk, High-Impact, Expected Loss (USD)

Start Headcount

RetEmployee · Headcount & Flow

CALCULATE(COUNTROWS(RetEmployee), KEEPFILTERS(RetEmployee[startCohort] = "Yes"))

Direct dependencies: None

Survival Text

Parameters · Report Views

"Survival: " & FORMAT(LOOKUPVALUE(SurvivalCurve[survival], SurvivalCurve[segmentField], "All employees", SurvivalCurve[segment], "All", SurvivalCurve[month], 12), "0.0%") & " are still here after 12 months of tenure, " & FORMAT(LOOKUPVALUE(SurvivalCurve[survival], SurvivalCurve[segmentField], "All employees", SurvivalCurve[segment], "All", SurvivalCurve[month], 24), "0.0%") & " after 24 and " & FORMAT(LOOKUPVALUE(SurvivalCurve[survival], SurvivalCurve[segmentField], "All employees", SurvivalCurve[segment], "All", SurvivalCurve[month], 60), "0.0%") & " after 60 (estimated from the last 12 months of exits; people who left earlier are not in the data)."

Direct dependencies: None

Voluntary Attrition Rate

RetEmployee · Headcount & Flow

DIVIDE([Voluntary Exits], [Average Headcount])

Direct dependencies: Voluntary Exits, Average Headcount

Voluntary Exits

RetEmployee · Headcount & Flow

CALCULATE(COUNTROWS(RetEmployee), KEEPFILTERS(RetEmployee[terminationType] = "Voluntary"))

Direct dependencies: None