Bicycle.LLCSchedule a call

← Dashboard collection

Choose dashboard — Performance Calibration

people analytics dashboard

Performance Calibration

Calibration, trajectory, equity screening, talent, readiness, and development views.

19 pages · Power BI

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

Choose page — 1 Ready to lock?

Selected page

1 Ready to lock?

DAX definitions

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

% Moved Down

PerfEmployee · Calibration

DIVIDE([Moved Down in Calibration], [Calibrated Employees])

Direct dependencies: Moved Down in Calibration, Calibrated Employees

% Moved Down (Prior Cycle)

PerfEmployee · Calibration

DIVIDE([Moved Down (Prior Cycle)], [Calibrated Employees (Prior Cycle)])

Direct dependencies: Moved Down (Prior Cycle), Calibrated Employees (Prior Cycle)

% Moved Up

PerfEmployee · Calibration

DIVIDE([Moved Up in Calibration], [Calibrated Employees])

Direct dependencies: Moved Up in Calibration, Calibrated Employees

% Moved Up (Prior Cycle)

PerfEmployee · Calibration

DIVIDE([Moved Up (Prior Cycle)], [Calibrated Employees (Prior Cycle)])

Direct dependencies: Moved Up (Prior Cycle), Calibrated Employees (Prior Cycle)

Average Headcount

PerfEmployee · Flow & Attrition

([Start Headcount] + [Headcount (As Of)]) / 2

Direct dependencies: Start Headcount, Headcount (As Of)

Average Rating

PerfEmployee · Rating

DIVIDE(CALCULATE(SUM(PerfEmployee[mostCurrentScore]), KEEPFILTERS(PerfEmployee[status] = "Active")), [Rated Employees])

Direct dependencies: Rated Employees

Calibrated Employees

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy26ManagerScore]) && NOT ISBLANK(PerfEmployee[fy26CalibratedScore])))

Direct dependencies: None

Calibrated Employees (Prior Cycle)

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy25MidScore]) && NOT ISBLANK(PerfEmployee[fy25AnnualScore])))

Direct dependencies: None

Check: Coverage Text

NineBox · Report Views

IF([Headcount (As Of)] = 0, BLANK(), FORMAT([Headcount (As Of)] - [Rated Employees], "#,0") & " of " & FORMAT([Headcount (As Of)], "#,0") & " active employees have no current rating; groups under 5 people are suppressed in every share and average.")

Direct dependencies: Headcount (As Of), Rated Employees

Check: Distribution Text

NineBox · Report Views

IF([Rated Employees] = 0 || [Calibrated Employees] = 0, BLANK(), "Distribution: average rating " & FORMAT([Average Rating], "0.00") & "; calibration moved " & FORMAT(([Moved Up in Calibration] + 0) + ([Moved Down in Calibration] + 0), "#,0") & " of " & FORMAT([Calibrated Employees], "#,0") & " ratings (net " & FORMAT([Net Calibration Shift] + 0, "+0.0%;-0.0%") & "), against a net " & FORMAT([Net Calibration Shift (Prior Cycle)] + 0, "+0.0%;-0.0%") & " in the prior step.")

Direct dependencies: Rated Employees, Calibrated Employees, Average Rating, Moved Up in Calibration, Moved Down in Calibration, Net Calibration Shift, Net Calibration Shift (Prior Cycle)

Check: Groups Text

NineBox · Report Views

"Groups: " & FORMAT(COUNTROWS(FILTER(AdverseImpact, NOT ISBLANK(AdverseImpact[fisherPAdj]))), "#,0") & " group-outcome comparisons were tested; " & FORMAT(COUNTROWS(FILTER(AdverseImpact, LEFT(AdverseImpact[flag], 10) = "Below 0.80")) + 0, "#,0") & " fall below the 0.80 screen and " & FORMAT(COUNTROWS(FILTER(AdverseImpact, LEFT(AdverseImpact[flag], 14) = "Below 0.80 and")) + 0, "#,0") & " remain distinguishable after adjusting for multiple tests (about " & FORMAT(COUNTROWS(FILTER(AdverseImpact, NOT ISBLANK(AdverseImpact[fisherPAdj]))) * 0.05, "0.0") & " would be flagged by chance alone). Screening, not a verdict."

Direct dependencies: None

Check: Leaders Text

NineBox · Report Views

"Managers: of " & FORMAT(COUNTROWS(RaterEffect), "#,0") & " managers with 5+ rated employees, " & FORMAT(COUNTROWS(FILTER(RaterEffect, RaterEffect[reading] = "Harsher than peers")) + 0, "#,0") & " rate harsher and " & FORMAT(COUNTROWS(FILTER(RaterEffect, RaterEffect[reading] = "More lenient than peers")) + 0, "#,0") & " more lenient than peers beyond what noise explains; the rest are within noise."

Direct dependencies: None

Exits (TTM)

PerfEmployee · Flow & Attrition

VAR __AsOf = CALCULATE(MAX(AsOf[asOfDate]), ALL(AsOf)) VAR __Start = EDATE(__AsOf, -12) RETURN CALCULATE(COUNTROWS(PerfEmployee), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[terminationDate]) && PerfEmployee[terminationDate] > __Start && PerfEmployee[terminationDate] <= __AsOf))

Direct dependencies: None

Headcount (As Of)

PerfEmployee · Flow & Attrition

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

Direct dependencies: None

Moved Down (Prior Cycle)

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy25MidScore]) && NOT ISBLANK(PerfEmployee[fy25AnnualScore]) && PerfEmployee[fy25AnnualScore] < PerfEmployee[fy25MidScore]))

Direct dependencies: None

Moved Down in Calibration

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy26ManagerScore]) && NOT ISBLANK(PerfEmployee[fy26CalibratedScore]) && PerfEmployee[fy26CalibratedScore] < PerfEmployee[fy26ManagerScore]))

Direct dependencies: None

Moved Up (Prior Cycle)

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy25MidScore]) && NOT ISBLANK(PerfEmployee[fy25AnnualScore]) && PerfEmployee[fy25AnnualScore] > PerfEmployee[fy25MidScore]))

Direct dependencies: None

Moved Up in Calibration

PerfEmployee · Calibration

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), FILTER(PerfEmployee, NOT ISBLANK(PerfEmployee[fy26ManagerScore]) && NOT ISBLANK(PerfEmployee[fy26CalibratedScore]) && PerfEmployee[fy26CalibratedScore] > PerfEmployee[fy26ManagerScore]))

Direct dependencies: None

Net Calibration Shift

PerfEmployee · Calibration

[% Moved Up] - [% Moved Down]

Direct dependencies: % Moved Up, % Moved Down

Net Calibration Shift (Prior Cycle)

PerfEmployee · Calibration

[% Moved Up (Prior Cycle)] - [% Moved Down (Prior Cycle)]

Direct dependencies: % Moved Up (Prior Cycle), % Moved Down (Prior Cycle)

Rated 4–5 Paid Below 0.90 (After Cycle)

PerfEmployee · Promotion & Pay

CALCULATE(COUNTROWS(PerfEmployee), KEEPFILTERS(PerfEmployee[status] = "Active"), KEEPFILTERS(PerfEmployee[ratingBand] = "High (4-5)"), KEEPFILTERS(PerfEmployee[payBandPost] = "Low (<0.90)"))

Direct dependencies: None

Rated Employees

PerfEmployee · Rating

CALCULATE(COUNT(PerfEmployee[mostCurrentScore]), KEEPFILTERS(PerfEmployee[status] = "Active"))

Direct dependencies: None

Start Headcount

PerfEmployee · Flow & Attrition

VAR __AsOf = CALCULATE(MAX(AsOf[asOfDate]), ALL(AsOf)) VAR __Start = EDATE(__AsOf, -12) RETURN CALCULATE(COUNTROWS(PerfEmployee), FILTER(PerfEmployee, PerfEmployee[hireDate] <= __Start && (ISBLANK(PerfEmployee[terminationDate]) || PerfEmployee[terminationDate] > __Start)))

Direct dependencies: None

TTM Attrition Rate

PerfEmployee · Flow & Attrition

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

Direct dependencies: Exits (TTM), Average Headcount