Where we start
Five sessions have each produced one habit: a stock needs a date and a flow needs a period, a rate needs its base, a funnel stage is a ratio of the stage before it, a pay gap has two mechanisms, and a survey score is a mean over volunteers. A dashboard is where all five habits either survive or quietly disappear, because a tile has room for a number and not much else. Apex is still the running company, constructed from end to end: four entities, 1,071 staff rows, 210 leavers in the first half of 2026, and nobody in it is real. The dashboard built tonight is small on purpose. Six rows, each of which can be defended line by line, beat twenty tiles of which nobody can say what four of them are divided by.
★ What you walk out with tonight. A dashboard row format you can apply to any people number: the question, the stock and its date, the flow and its period, the base, the number and one honest sentence. The habit of leaving a row empty rather than filling it with a guess. A partner metric for every row that becomes a target. And the names of the four rules that decide which rows a people dashboard may not have, with the places to learn them properly.
Every row has a stock, a flow, a base and a date
6 min liveA tile that says "Attrition 22.3%" has dropped three things on the way to the screen: how many people left, divided by which headcount, over which period. Put them back and the tile becomes a row: 210 leavers, 1 January to 17 June 2026, over an average headcount of 941.5, 22.3 percent for the half-year. Every row on a people dashboard can be written the same way, and the ones that cannot are the ones to worry about.
LiveOne stock and one flow per row3 min▶
Every row is one question. How many people do we have; how many left; which leavers hurt; how long do people stay; what do people say; what do we pay. A row that answers two questions at once, "headcount and attrition by entity with the trend", is two rows pretending to be one, and the second question always loses its base.
Every row carries a stock and a flow. The stock is a count on a date: 861 on 1 July 2026, 1,022 invited on 1 January. The flow is a count over a period: 49 in and 210 out between January and June, 600 answers in the survey window. Where the row shows a rate, the base goes in its own column so nobody has to guess: the average of 1 January and 1 July for attrition, the 210 leavers for the regretted share and the tenure share, the 1,022 invited for the response rate.
The tenure row is the one to read twice. Active staff have a median tenure of 5.01 years and the 210 leavers had a median of 1.52 at exit, with 61.0 percent under two years. Both numbers are right and they describe different people: the survivors on the date of the photograph, and the people who left. Foundations session 1 called this the survivor table. A dashboard that shows only the 5.01 has quietly answered "how long do people stay" with the people who stayed.
LiveThe honest sentence, one per row3 min▶
Under every row goes one sentence, written so that a board member could repeat it in a meeting without saying anything false. It names the flow, the base, the period, and any assumption. For constructed Apex:
- Headcount. "Apex had 861 people on 1 July 2026, from 1,022 on 1 January: 49 joined and 210 left."
- Attrition. "210 people left between 1 January and 17 June against an average headcount of 941.5: 22.3 percent for the half-year, not annualised."
- Regretted. "137 of the 210, 65.2 percent, left for one of five reasons we classify as regretted; all 11 categories are shown beneath."
- Tenure. "Staff employed on 1 January had a median tenure of 5.01 years; the 210 who left had a median of 1.52 at exit, and 61.0 percent had been with us under two years."
- Survey. "600 of the 1,022 invited answered, 58.7 percent; results are favourable and unfavourable shares, and groups under 8 are not shown."
- Pay gap. "No pay row yet: the table has no salary column, and a pay number without one would be invented."
If a row's sentence cannot be written, the row is not ready. That is not a formatting problem. It means somebody does not know what the number is divided by.
Self-studyThe empty row, the ratings row, and what a trend arrow hides3 min▶
An empty row is a finding. Apex's table has no salary column, so the pay row says so rather than borrowing a national figure or last year's number. Foundations session 4 showed what a pay row needs, the six filing figures and the four bands, and deep-dive session 6 builds a constructed salary table to fill it. Until the data exists, "empty, because" is the honest cell.
A ratings row, if the dashboard has one, is a distribution, not a mean. The share of people at each rating point, with the count, for the same reason Foundations session 5 showed two teams at 3.8. How ratings are made and calibrated is its own subject, taught in Learn Performance Management with Phoebe ↗.
A trend arrow compares two rows, and both need their bases. Attrition up from last half-year means nothing until both halves are on the same base and the same definition of leaver. An arrow drawn between a start-base figure and an average-base figure measures the change of method.
Twelve tiles and no dates. A leadership team reviews a people dashboard every month: twelve tiles, each a number and an arrow. Asked what the attrition tile is divided by, the analyst who built it has left; nobody else knows whether it is monthly or annual, or whether transfers are in it. The team has been making decisions from it for a year. Rebuilt as rows, three of the twelve cannot be given a base at all and are dropped, and two turn out to be the same number computed twice. Constructed example; the rebuild takes one afternoon and the questions it asks are the ones in this Part.
When a number becomes a target
5 min liveA dashboard row is a measurement until somebody's bonus depends on it. Then it becomes a target, and the people closest to it discover every way to move the number that does not require moving the thing. Take the regretted row. Apex classifies 137 of its 210 constructed leavers as regretted, because their reason is one of five categories. Set a target to reduce regretted attrition, and the fastest way to meet it is not to keep anybody: it is to change which category a leaver's reason goes into.
LiveGoodhart on people metrics3 min▶
The popular wording is "when a measure becomes a target, it ceases to be a good measure". It is usually called Goodhart's law, after the economist Charles Goodhart's point about monetary targets, but the sentence most people quote is Marilyn Strathern's generalisation of it: Strathern 1997, "'Improving ratings': audit in the British University system", European Review 5(3) 305-321. It bites hardest on people metrics, because the people being measured are also the people who record the measurement.
In the figure, nothing about any leaver changed. Twenty-three constructed leavers whose reason was Management/Culture were recoded to Unknown, and regretted attrition fell from 65.2 to 54.3 percent, 11.0 points. The same pattern shows up on every people row that gets a target:
- Time to fill as a target: requisitions get closed with the first acceptable candidate, or reopened under a new number so the clock restarts.
- Survey response rate as a target: managers chase answers, and the people who would have skipped answer to get it over with, which is a different kind of answer.
- Engagement score as a target: teams learn which answers are expected, and the distribution moves before the experience does.
- Attrition as a target: leavers get classified as transfers, retirements or "mutual agreement", and the flow moves between columns instead of stopping.
Self-studyEvery target gets a partner metric2 min▶
The defence is not to stop setting targets. It is to put beside every targeted row a second row that moves the wrong way when the first is gamed. For regretted attrition, the partner is the count in Unknown and every non-regretted category, shown with all 11 categories: in the figure, Unknown going from 17 to 40 is the gaming made visible. For time to fill, the partner is how many of those hires are still there a year later. For response rate, the share of answers that are all the same point. For attrition, the counts of transfers and retirements beside the leavers.
The second defence is to freeze the definition and log every recode: which reason category, changed from what to what, by whom and when. A row whose definition can be changed by the person it measures is a row that will be changed. How targets are set and measured fairly is its own discipline, taught in Learn OKRs and Fair Measurement with Phoebe ↗.
The quarter regretted attrition fell. A business unit is given a target to cut regretted attrition, and meets it in one quarter. The exit volume did not change and neither did the reasons people gave in their exit interviews; what changed was that the leaving form gained a new default option, "Other", and most managers stopped choosing a category. The partner row, the share of leavers in Other, went from almost nothing to a third. Constructed example; the mechanism is the one in the figure, and the partner row caught it.
The fence: rows that need a lawyer before they exist
4 min liveSome rows are not an analytics question at all. A tile of sickness absence by named team, a ranking of staff by a model's predicted chance of leaving, a filter that shows trade union members, an automated screen that decides who reaches interview: each of these is a legal question first. Four rules sit on the fence around a people dashboard. They are named here so you recognise them, not taught; each has its own conditions and exceptions, and the courses linked below teach them properly.
LiveThe four signs on the fence, named3 min▶
GDPR Article 9 covers special categories of personal data, health and trade union membership among them, and restricts processing them to specific conditions. A sickness absence tile, a disability flag in a filter, a union membership column: each needs its legal basis settled before it reaches a dashboard, and many will never belong on one.
GDPR Article 22 concerns decisions based solely on automated processing that produce legal or similarly significant effects on a person. A dashboard that only informs a human decision is a different thing from a score that decides a bonus, a shortlist or a dismissal on its own, and the difference is the article's subject.
The EU AI Act, Regulation (EU) 2024/1689, Annex III point 4, lists AI systems used in employment as high-risk: recruitment and selection, decisions on promotion and termination, task allocation, and monitoring of workers. A model behind a people dashboard that does any of those carries the Act's obligations for high-risk systems.
New York City Local Law 144, enforced from 5 July 2023, requires an annual independent bias audit of automated employment decision tools, with a published summary that reports impact ratios by sex and by race/ethnicity.
Where to learn each properly: Learn GDPR with Phoebe ↗, Learn PDPA and DNC with Phoebe ↗, Learn AI Governance and the EU AI Act with Phoebe ↗, Learn Data Governance with Phoebe ↗, and for impact ratios, screening and the legal map across the people lifecycle, Learn AI + HR with Phoebe ↗.
Self-studyThe flight-risk tile: the row to argue about2 min▶
The most requested row that should start at the fence is a ranking of named staff by a model's predicted chance of leaving. It can touch every sign at once. Its inputs may include special-category data such as sickness records, which is Article 9. If the ranking triggers retention offers or excludes people from them without a human decision, that is Article 22's question. And a model used for monitoring workers is listed as high-risk in Annex III point 4 of the EU AI Act.
None of that means the analysis can never be done. It means the order of work is legal basis first, then data, then model, then dashboard, and the dashboard version is usually an aggregate: leaving risk by group, above the minimum group size, with no names. Deep-dive session 9 takes the question further: what a model on people data may not see, and the audit as a standing habit.
A rule that turned a tool into a published audit. Since 5 July 2023, an employer using an automated employment decision tool in New York City has needed an annual independent bias audit of it, with a published summary reporting impact ratios by sex and by race/ethnicity. Under a rule of that kind, a screening model's selection rates by group are no longer an internal curiosity: they are a line somebody has to be able to publish. The impact ratio itself, and the four-fifths rule of thumb, are taught in Foundations session 3 and in depth in AI + HR.
The Apex dashboard, on paper
★ 22 min · everyone works it throughNo code tonight. Six worksheet steps that turn a list of people questions into a dashboard whose every row can be defended: the questions, the stocks with their dates, the flows with their periods, the numbers with their bases, one honest sentence each, and the partner metric and fence check. The worked example is constructed Apex, with the attrition row filled in the figure; deep-dive session 1 builds the table behind every row in pandas. Work each step for your own dashboard as we go.
Step 1 · Write the questions, one per row. Not the metrics your tool offers: the questions leadership actually asks. Six is plenty. Apex's six are how many, how many left, which leavers hurt, how long people stay, what people say, and what we pay.
Step 2 · Give each row its stock and its date. A count at an instant, with the date written beside it. If a row has no stock, it is not yet a row.
Step 3 · Give each row its flow and its period. A count over a period, with both ends of the period written. The same period for every row, or the rows cannot be read together.
Step 4 · Write the number with its base under it. Every rate says what it is divided by. Annualising is labelled as an assumption or not done at all.
Step 5 · Write the honest sentence for each row. Flow, base, period, and any assumption, in words a board member could repeat. If you cannot write it, the row is not ready.
Step 6 · Name the partner metric, and check the fence. For any row that is or may become a target, write the row that moves the wrong way when it is gamed. Then ask of every row whether it uses special-category data or decides anything on its own.
Print the base column. If there is room on the dashboard for one more column, it is the base. A board that sees "22.3 percent, 210 of an average 941.5, half-year" will ask better questions than a board that sees 22.3 in red, and it will not be surprised when the next report uses the same numbers.
Before deep-dive session 1
30 min- Rebuild one real dashboard as rows. Take a people dashboard you use and write every tile as a row: stock and date, flow and period, base, number. Mark the tiles you cannot complete; that list is your first finding.
- Write the honest sentence for the three rows your leadership quotes most, in words they could repeat without being wrong.
- Find one target. For a row that is somebody's target, name its partner metric, and check whether the definition can be changed by the person it measures.
- Walk the fence. List any row or filter that touches health, union or other special-category data, or a score that decides something on its own, and who you would ask about it. Then bring the dashboard to deep-dive session 1, where the table behind every row is built in code.
Three questions
Clear all three and Foundations session 6 gets stamped in your passport.
1 · A dashboard tile reads "Attrition 22.3%" in red. What does the row need before anyone acts on it?
A rate is a flow over a stock, and a tile drops both. The row puts them back, with the date, so the number means one thing to everyone who reads it.
2 · After a target is set on regretted attrition, the regretted share falls from 65.2 to 54.3 percent in the same 210 leavers, and Unknown rises from 17 to 40. What happened?
The popular wording is Strathern's, 1997, of Goodhart's point. Every targeted row needs a partner row that moves the wrong way when the first is gamed. The recoding here is constructed.
3 · A leader asks for a tile ranking named staff by a model's predicted chance of leaving, built partly from sickness records, that automatically decides who gets a retention offer. What is the first step?
Some rows sit on the fence. Naming the rules is enough to know who to ask; the governance courses and deep-dive session 9 go further.
What this session teaches, and where it came from
Every fact on this page, and its verification tier, is recorded in the course's source map.
Foundations session 6 cheat sheet · pin this
That completes the Foundations track: a stock and a flow, a rate and its base, the funnel, pay and fairness, surveys as evidence, and the dashboard that holds them. The deep-dive track starts where every row on tonight's dashboard came from. Deep-dive session 1, The people data model, builds the three tables every people question needs, employee, position and event, and computes 1,022, 49, 210 and 861 and the three bases from the 1,071 constructed Apex rows in pandas, so that every number on the dashboard can be traced to the rows that produced it.