{
  "version": "1.13.0",
  "releasedAt": "2026-06-25",
  "domain": "hr",
  "kpis": [
    {
      "rogueId": "hr.approved_headcount_budget",
      "slug": "approved_headcount_budget",
      "domain": "hr",
      "defaultLabel": "Approved Headcount Budget",
      "description": "Board-approved end-of-period headcount target. The contractual reference point against which `hr.total_headcount` and `hr.open_positions` are read — drift means either hiring under plan (typically a growth concern) or over plan (typically a burn-discipline concern). Common pitfall: silent in-year adjustments — boards approve a number, the CEO informally expands or contracts to it, and the variance never gets reconciled. Best practice is to treat changes to this number as board-action items, recorded in `hr.board_actions`.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR",
        "Finance"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Plain board-approved end-of-period FTE target. No derivation — set by board resolution as part of the annual or semi-annual budget. Changes require board approval and should be logged in `hr.board_actions`.",
      "whyItMatters": "The single number that converts strategic intent into operating constraint. Variance against this number drives the budget-vs-actual conversation that anchors most board meetings' HR section.",
      "interpretationGuidance": "DEPRECATED (#2056) — superseded by `hr.total_headcount` carrying scenario=`budget` (the F1 scenario axis, #2019). The board-approved headcount plan is now the budget scenario of the single canonical headcount KPI, so budget and actual share one definition and one variance view instead of two parallel KPIs. This KPI is hidden from the \"Add KPI\" picker and onboarding but still resolves so existing references keep rendering; prefer `hr.total_headcount` (scenario=budget) for all new budget surfaces. For migration context: pair with `hr.total_headcount` and `hr.headcount_change` for variance reporting — a sustained gap >10% under plan typically signals recruiting capacity issues; sustained over plan signals approval-gate slippage or contractor-conversion that bypassed the budget process (industry folk-wisdom, not citation-grade).",
      "relatedKpiIds": [
        "hr.total_headcount",
        "hr.headcount_change",
        "hr.open_positions",
        "hr.hiring_plan",
        "hr.board_actions"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "The board-approved end-of-period FTE target — a plain count set by board resolution as part of the annual or semi-annual budget. No derivation; it is an input, point-in-time as-of the period it governs.",
          "Use the same FTE-equivalent, employees-only convention as `hr.total_headcount` so plan and actual are directly comparable."
        ],
        "exclusionRules": [
          "Contractors and open reqs beyond the approved seat count — the budget is an employee-FTE ceiling, consistent with the headcount definition.",
          "Informal in-year expansions or contractions that never went through a board approval — changes to this number are themselves board-action items (`hr.board_actions`)."
        ],
        "requiredInputs": [
          "The board resolution / approved operating budget stating the headcount target.",
          "Any board-approved mid-period revisions, each logged as a board action."
        ],
        "dataSourcePriority": [
          "Board-approved budget document / resolution of record.",
          "Finance FP&A headcount plan reconciled to the board number."
        ],
        "edgeCases": [
          "DEPRECATED (#2056): the board-approved plan is now the `scenario=budget` axis of `hr.total_headcount`, so budget and actual share one definition and one variance view. Populate this legacy KPI only to keep existing references resolving; author all new budget surfaces against `hr.total_headcount` (scenario=budget).",
          "Mid-year board-approved revision: record the change and its effective date rather than silently overwriting, so the variance history stays auditable."
        ],
        "validationChecks": [
          "Variance vs `hr.total_headcount` actuals: a sustained gap >10% under plan signals recruiting-capacity issues; sustained over plan signals approval-gate slippage or contractor-conversion that bypassed the budget process.",
          "Any change to this number should have a corresponding `hr.board_actions` entry — an unexplained change is a process gap."
        ],
        "commonMiscomputations": [
          "Silently adjusting the approved number to match actuals so variance always reads zero — defeats the budget-vs-actual conversation this KPI exists for.",
          "Mixing a headcount (people) target with an FTE target, or including contractors, so it cannot be compared like-for-like against `hr.total_headcount`."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.arr_per_fte",
      "slug": "arr_per_fte",
      "domain": "hr",
      "defaultLabel": "ARR per FTE",
      "description": "Annual Recurring Revenue divided by total FTE-equivalent workforce — the canonical SaaS workforce-productivity ratio anchored to the SaaS Capital Annual Survey methodology (revenue per employee benchmarks). A high-signal denominator for \"are we over- or under-staffed for our revenue scale?\" Common pitfall: choosing different ARR conventions (ending vs average, GAAP-reconciled vs raw) without locking in a board-level standard. Best practice is to pair this with `sales.arr` so the numerator is unambiguous and to disclose whether contractors are included in the FTE denominator.",
      "fieldType": "currency",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR",
        "Finance"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "published",
        "sourceName": "SaaS Capital Annual Survey 2025 (14th Annual)",
        "sourceUrl": "https://www.saas-capital.com/blog-posts/revenue-per-employee-benchmarks-for-private-saas-companies/",
        "sectionRef": "Revenue per Employee",
        "publicationDate": "2025-06-01",
        "attributionNotice": null,
        "authorityLevel": "industry-benchmark"
      },
      "benchmark": {
        "p25": 100000,
        "median": 130000,
        "p75": 175000,
        "unit": "$",
        "sourceName": "SaaS Capital Annual Survey 2025 (14th Annual)",
        "sourceYear": "2025",
        "higherIsBetter": true
      },
      "formula": "ARR per FTE = `sales.arr` / `hr.total_headcount` (or FTE-equivalent including contractor adjustment from `hr.fte_metrics`). Document the denominator convention in board materials. Per SaaS Capital Annual Survey 2025 methodology (Revenue per Employee).",
      "whyItMatters": "Investors use this as a quick scalability and operating-leverage proxy — companies with higher ARR/FTE at a given scale typically command premium multiples. Internally, the metric anchors hiring-plan discipline: does each net new FTE earn its keep?",
      "interpretationGuidance": "SaaS Capital Annual Survey 2025 (§Revenue per Employee) reports private SaaS medians clustering in the $150K–$250K range, with top quartile $250K+ and bottom quartile under $150K (verify exact figures against the cited report — distributions vary by ARR band). Sub-$100K sustained at Series B+ is a board-level efficiency conversation. Reads should be paired with stage and growth rate — high-growth-stage companies tolerate lower ratios for a window in exchange for growth.",
      "relatedKpiIds": [
        "sales.arr",
        "hr.total_headcount",
        "hr.fte_metrics",
        "hr.payroll_run_rate",
        "operations.rule_of_40"
      ],
      "metricBasis": {
        "timeBasis": "point_in_time",
        "moneyBasis": "contracted_arr",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.at_risk_count",
      "slug": "at_risk_count",
      "domain": "hr",
      "defaultLabel": "At-Risk Employees",
      "description": "Count of employees actively flagged as flight risk by managers, based on engagement signals (skip-level surveys, manager 1:1s, counter-offer activity, tenure-curve risk). A leading indicator that complements the lagging `hr.voluntary_exits` number. Common pitfall: stale flags that never get cleared — at-risk lists tend to drift toward \"every senior IC ever\" without manager discipline. Best practice is a quarterly refresh with explicit add/remove notes and an action attached to each flag.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of currently-flagged active employees on the retention watchlist. Flag criteria are company-defined but typically include: declining 1:1 engagement, missed comp expectations, counter-offer activity, or manager-flagged tenure-curve risk. Convention: flags expire 90 days after entry unless renewed.",
      "whyItMatters": "Converts manager intuition into a board-readable risk count, and pairs naturally with `hr.retention_initiatives` so the board sees risk and response together. A rising at-risk count without rising retention activity is a yellow flag.",
      "interpretationGuidance": "Read alongside `hr.voluntary_exits` — at-risk count should lead exits by 1–2 quarters. Concentration in one team or level is more diagnostic than the absolute number. Sustained at-risk count above ~10–15% of headcount typically warrants a targeted retention program (industry folk-wisdom, not citation-grade).",
      "relatedKpiIds": [
        "hr.voluntary_exits",
        "hr.voluntary_turnover_rate",
        "hr.retention_initiatives",
        "hr.talent_challenges"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of currently-flagged active employees on the retention watchlist as of the snapshot date — a point-in-time read of manager-assessed flight risk.",
          "Flag criteria are company-defined but typically include declining 1:1 engagement, missed comp expectations, counter-offer activity, or manager-flagged tenure-curve risk.",
          "Convention: a flag expires 90 days after entry unless a manager explicitly renews it — this keeps the list disciplined."
        ],
        "exclusionRules": [
          "Stale flags past their 90-day expiry that no manager has renewed — left in, the list drifts toward \"every senior IC ever\" and the count loses meaning.",
          "Employees on a formal PIP — that is performance management (`hr.performance_watch_count`), a different signal from retention risk.",
          "Departed employees still flagged in the system."
        ],
        "requiredInputs": [
          "Current retention-watchlist with entry dates, last-renewal dates, and an action attached to each flag.",
          "Team / level attribution for the concentration read.",
          "The company-defined flag criteria and the 90-day expiry convention."
        ],
        "dataSourcePriority": [
          "Manager / HRBP retention-watchlist of record (refreshed each cycle).",
          "Skip-level and engagement-survey signals as corroboration."
        ],
        "edgeCases": [
          "Flag with no attached action: best practice is to require an action per flag; a bare flag should be reviewed rather than counted as managed risk.",
          "An at-risk employee who moves onto a PIP: they shift to `hr.performance_watch_count` — do not double-count across both watchlists.",
          "Quarterly refresh: stale flags drop out unless explicitly renewed, so the count can fall purely from list hygiene — note when a drop is hygiene vs genuine de-risking."
        ],
        "validationChecks": [
          "At-risk count should LEAD `hr.voluntary_exits` by ~1–2 quarters; if exits rise with no prior at-risk build-up, manager flagging is lagging reality.",
          "Concentration in one team or level is more diagnostic than the absolute number.",
          "Sustained above ~10–15% of headcount typically warrants a targeted retention program tracked in `hr.retention_initiatives`."
        ],
        "commonMiscomputations": [
          "Carrying expired flags forward without renewal — inflates the count and turns a leading indicator into noise.",
          "Conflating PIP employees (performance) with flight-risk employees (retention) — they answer different board questions.",
          "Counting flags with no owner or action as managed risk."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.avg_days_to_fill",
      "slug": "avg_days_to_fill",
      "domain": "hr",
      "defaultLabel": "Average Days to Fill",
      "description": "Mean elapsed days between requisition opening (approved and posted) and offer acceptance, averaged across requisitions filled in the period. The headline recruiting-velocity KPI commonly tracked in the SHRM Talent Acquisition Benchmarking Report. Common pitfall: choosing between time-to-fill (req-opened to offer-accepted) and time-to-hire (first-applicant to offer-accepted) without locking the convention — the two can differ by weeks. Best practice is to standardize on time-to-fill (the SHRM benchmark convention) and document any deviation.",
      "fieldType": "number",
      "unit": "days",
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "published",
        "sourceName": "SHRM Talent Acquisition Benchmarking Report",
        "sourceUrl": "https://www.shrm.org/topics-tools/research/talent-acquisition-benchmarking-report",
        "sectionRef": "Time-to-Fill",
        "publicationDate": "2023-01-01",
        "attributionNotice": null,
        "authorityLevel": "industry-benchmark"
      },
      "formula": "Average Days to Fill = Σ(offer-accepted-date − requisition-opened-date) / count of requisitions filled in the period. Convention: time-to-fill per SHRM Talent Acquisition Benchmarking Report — req-opened to offer-accepted, not first-applicant to offer-accepted.",
      "whyItMatters": "A stretching time-to-fill is one of the earliest leading indicators of either comp-band misfit, role-spec creep, or recruiter capacity exhaustion. Combined with `hr.open_positions`, it projects when promised capacity actually arrives.",
      "interpretationGuidance": "SHRM Talent Acquisition Benchmarking Report typically reports cross-industry medians around 40–45 days time-to-fill, with technical roles (engineering, data) often longer (60–90+ days). Verify against the most recent SHRM report for the exact figure. A sustained increase of >20% with no role-mix change typically signals a recruiting-pipeline issue (industry folk-wisdom, not citation-grade).",
      "relatedKpiIds": [
        "hr.open_positions",
        "hr.hiring_plan",
        "hr.new_hires",
        "hr.key_openings",
        "hr.key_hires"
      ],
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.board_actions",
      "slug": "board_actions",
      "domain": "hr",
      "defaultLabel": "HR Board Actions",
      "description": "Explicit list of HR items requiring board attention, approval, or decision in this meeting — executive comp changes, headcount-budget changes, equity-pool top-ups, employment-policy approvals, and any items needing a board resolution. Common pitfall: burying decisions inside other narrative sections — boards consistently miss requests that are not explicitly tagged as \"decision required.\" Best practice is to label each item as approval-required vs awareness-only and give a one-line ask.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "The single most under-served section on most board packs. CEOs often expect their narrative to drive a decision; boards often miss the implicit ask. An explicit \"board actions\" section is a low-cost forcing function for board-level decision hygiene.",
      "interpretationGuidance": "Each item should be one of: approval-required (specific resolution wording or vote), assistance-required (intro / reference / open-door request), or awareness-only (FYI for governance log). Use `hr.risk_items` for the structured-table version once the board adopts that pattern.",
      "relatedKpiIds": [
        "hr.risk_items",
        "hr.approved_headcount_budget",
        "hr.talent_challenges",
        "hr.retention_initiatives"
      ]
    },
    {
      "rogueId": "hr.departments",
      "slug": "departments",
      "domain": "hr",
      "defaultLabel": "Departments",
      "description": "Field-array of per-department rows — department name, leader status (resolved against `hr.leader_status`), and headcount metrics with stable-count auto-calc — rendered as a drag-sortable table grouped by department. Common pitfall: department boundaries drift over time (Eng+R&D merging, GTM splitting into Sales/Marketing/CS) — when boundaries change, prior-period comparisons need an explicit reconciliation note. This KPI is structural, not numeric — no formula applies.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Shows the org map at a glance — where capacity is allocated, which departments are short-staffed, where leader-vacancies are concentrated. Boards use this to validate the strategy-vs-investment alignment (\"we say we are product-led but R&D is 20% of headcount\").",
      "interpretationGuidance": "Read with `hr.leader_status` alongside — a department with strong leader and on-plan headcount tells a very different story from one with interim/vacant leader and growing headcount. Material department-shape changes should be called out in `hr.talent_highlights` or `hr.talent_challenges` narrative.",
      "relatedKpiIds": [
        "hr.leader_status",
        "hr.total_headcount",
        "hr.key_hires",
        "hr.key_openings",
        "hr.executive_commentary"
      ]
    },
    {
      "rogueId": "hr.executive_commentary",
      "slug": "executive_commentary",
      "domain": "hr",
      "defaultLabel": "HR Executive Commentary",
      "description": "Stacked commentary editor with per-section icon and live word count, hosting the four canonical HR narrative slots (talent highlights, talent challenges, hiring plan, retention initiatives) under a single base path — each section persists under `<basePath>.<sectionKey>`. The composite container for the narrative side of the HR scorecard, paired with `hr.departments` and `hr.risk_items` for the structured side. Common pitfall: writing each section in isolation — strong commentary cross-references the numbers (\"voluntary turnover up 4 points QoQ, here is what we are doing\").",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Centralizes the narrative around the HR numbers in one editing surface, with word-count feedback that prevents both under- and over-writing. The structure mirrors how boards expect HR to be presented: positives, concerns, plan, mitigations.",
      "interpretationGuidance": "Each section should weigh in at roughly the same length (target 80–150 words per section is a reasonable convention) — wildly uneven sections signal the CEO/CHRO is avoiding one of the four. Word-count outliers are an editorial check, not a hard rule.",
      "relatedKpiIds": [
        "hr.talent_highlights",
        "hr.talent_challenges",
        "hr.hiring_plan",
        "hr.retention_initiatives",
        "hr.departments",
        "hr.risk_items"
      ]
    },
    {
      "rogueId": "hr.fte_metrics",
      "slug": "fte_metrics",
      "domain": "hr",
      "defaultLabel": "FTE Metrics",
      "description": "Derived triple — effective FTE, cost-per-FTE, and annualized payroll — computed from `hr.payroll_run_rate` + `hr.total_contractors` and a contractor-to-FTE conversion factor. Lets the board see capacity in normalized terms even when the staffing mix shifts. Common pitfall: choosing a contractor-to-FTE factor without explicit board agreement — some companies use 1.0 (1 contractor = 1 FTE for capacity), others use 0.8 (account for ramp / partial-engagement), others use cost-equivalent ratios. Lock the convention.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR",
        "Finance"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "effectiveFTE = `hr.total_headcount` + (`hr.total_contractors` × contractorFactor). costPerFTE = `hr.payroll_run_rate` / effectiveFTE. annualizedPayroll = effectiveFTE × costPerFTE. Default contractor factor 0.8 unless the board adopts a different convention.",
      "whyItMatters": "Normalizes capacity and cost across companies with very different contractor strategies, making `hr.arr_per_fte` and `hr.payroll_as_pct_of_burn` more comparable over time. Surfaces hidden cost inflation when contractor headcount grows faster than employee headcount.",
      "interpretationGuidance": "Watch the drift between `hr.total_headcount` and effectiveFTE — divergence indicates contractor expansion that may warrant a build-vs-rent conversation. CostPerFTE materially above stage-typical comp benchmarks suggests either a senior-heavy mix or contractor-rate premium creep (industry folk-wisdom, not citation-grade — varies by geography and role mix).",
      "relatedKpiIds": [
        "hr.total_headcount",
        "hr.total_contractors",
        "hr.payroll_run_rate",
        "hr.arr_per_fte",
        "hr.payroll_as_pct_of_burn"
      ]
    },
    {
      "rogueId": "hr.headcount_change",
      "slug": "headcount_change",
      "domain": "hr",
      "defaultLabel": "Net Headcount Change",
      "description": "Net change in employee headcount during the period — new hires minus (voluntary exits + terminations). The bottom-line growth-or-contraction number on the HR scorecard. Common pitfall: reporting net change without showing the gross-in / gross-out components — boards can't diagnose a flat net number caused by 5 hires and 5 exits the same way they'd diagnose a flat number from zero on each side. Best practice is to surface the four components (new hires, voluntary exits, terminations, net change) together.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "preSeed",
        "seed",
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "preSeed": "recommended",
        "seed": "recommended",
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Net Headcount Change = `hr.new_hires` − (`hr.voluntary_exits` + `hr.terminations`). Sign convention: positive = growth, negative = contraction. Does not include contractor changes (those flow through `hr.total_contractors`).",
      "whyItMatters": "Single-number summary of HR's execution in the period and the simplest reconciliation point between this period's `hr.total_headcount` and the prior period's. Variance from `hr.hiring_plan` is the board-conversation trigger.",
      "interpretationGuidance": "Pair with the gross flows for diagnosis. A small positive net with high gross-in and gross-out tells a churn story; a large positive net during contraction periods raises plan-discipline questions. Compare to `hr.approved_headcount_budget` for budget-vs-actual posture.",
      "relatedKpiIds": [
        "hr.new_hires",
        "hr.voluntary_exits",
        "hr.terminations",
        "hr.total_headcount",
        "hr.approved_headcount_budget"
      ],
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.hiring_plan",
      "slug": "hiring_plan",
      "domain": "hr",
      "defaultLabel": "Hiring Plan",
      "description": "Forward-looking narrative on next-period hiring priorities — target roles, sequence, sourcing strategy, and any unusual asks (executive search, specialized recruiter spend, location flexibility shifts). Anchors the board's understanding of where capacity is heading and what approvals or help are needed. Common pitfall: a stale plan that gets copy-pasted across quarters — the hiring plan should evolve with strategy shifts. Best practice is to lead with the 2–3 highest-priority hires and their justification, then a brief on backfills and bench-builds.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "preSeed",
        "seed",
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "preSeed": "recommended",
        "seed": "core",
        "seriesA": "core",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Converts `hr.approved_headcount_budget` (a number) into a board-relevant sequence (a story). Without this, board members lack the context to help with intros, validate strategic-role timing, or push back on questionable role specs.",
      "interpretationGuidance": "Strong plans name specific roles, target start dates, and what board help would accelerate the hire. Pair with `hr.key_openings` for the structured priority list — narrative here, table there.",
      "relatedKpiIds": [
        "hr.approved_headcount_budget",
        "hr.open_positions",
        "hr.key_openings",
        "hr.avg_days_to_fill",
        "hr.new_hires"
      ]
    },
    {
      "rogueId": "hr.involuntary_turnover_rate",
      "slug": "involuntary_turnover_rate",
      "domain": "hr",
      "defaultLabel": "Involuntary Turnover Rate",
      "description": "Annualized rate of company-initiated separations as a percentage of average headcount. Complement to `hr.voluntary_turnover_rate`; together they form the total turnover picture per the Mercer US Turnover Survey methodology. Common pitfall: lumping one-time RIFs into the steady-state rate, which makes the trend unreadable. Best practice is to report steady-state involuntary turnover and call out any RIF events separately in `hr.board_actions` with the headcount delta.",
      "fieldType": "percentage",
      "unit": "%",
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "published",
        "sourceName": "Mercer US Turnover Survey 2025",
        "sourceUrl": "https://www.imercer.com/articleinsights/workforce-turnover-trends",
        "sectionRef": "Involuntary Turnover",
        "publicationDate": "2025-03-01",
        "attributionNotice": null,
        "authorityLevel": "industry-benchmark"
      },
      "formula": "Involuntary Turnover Rate (annualized) = (Terminations in period / Average Headcount in period) × (12 / months in period) × 100. Convention: exclude announced RIF events from the steady-state series; report them separately with headcount delta. Per Mercer US Turnover Survey methodology.",
      "whyItMatters": "A read on performance-management cadence and any active restructuring. Sustained near-zero raises questions about management discipline; sustained-elevated raises questions about hiring quality or strategy thrash.",
      "interpretationGuidance": "US all-industry total turnover historically clusters in the 18–25% annualized range per Mercer US Turnover Survey 2025 (§Total Turnover); involuntary typically represents 4–8% of that total (verify exact splits against the cited report — distributions vary by industry). Companies with very low involuntary rates (<2% annualized) often have buried under-performers; companies above ~8% steady-state typically have a hiring or onboarding-quality issue (industry folk-wisdom on the upper bound, not citation-grade).",
      "relatedKpiIds": [
        "hr.terminations",
        "hr.performance_watch_count",
        "hr.voluntary_turnover_rate",
        "hr.talent_challenges"
      ],
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.key_hires",
      "slug": "key_hires",
      "domain": "hr",
      "defaultLabel": "Key Hires",
      "description": "Field-array of notable individual hires that warrant board-level visibility — typically C-1 executives, director-level functional leaders, and strategic specialist hires. Per-item shape: name, level, role, start status, days-to-fill. Rendered via the T2 collapsible-card gallery pattern. Structural, not numeric — formula does not apply. Common pitfall: listing every hire instead of the strategic few — boards lose signal quickly when this section turns into a directory.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Gives the board context for the headline `hr.new_hires` count — five generalist engineers reads very differently from five senior staff engineers plus a new VP Eng. Boards routinely volunteer reference checks and network help when key hires are surfaced.",
      "interpretationGuidance": "Keep this list short (typically 3–8 items per board period). Each entry should be defensibly \"board-relevant\" — strategic role, executive level, or a market-significant external hire. Tie related items to `hr.talent_highlights` narrative where additional context is warranted.",
      "relatedKpiIds": [
        "hr.new_hires",
        "hr.avg_days_to_fill",
        "hr.talent_highlights",
        "hr.key_openings",
        "hr.leader_status"
      ]
    },
    {
      "rogueId": "hr.key_openings",
      "slug": "key_openings",
      "domain": "hr",
      "defaultLabel": "Key Openings",
      "description": "Field-array of priority open roles the board should be aware of and may be able to accelerate — typically C-1 executives, hard-to-fill specialists, and any role open >60 days. Per-item shape: title, department, level, urgency, owner. Rendered via the T2 collapsible-card gallery pattern. Structural, not numeric. Common pitfall: padding the list with every open req — boards add the most value on the 3–8 strategic openings, not on backfilling the next IC.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Turns the scalar `hr.open_positions` count into board-actionable context. Every entry is an opportunity for the board to help with intros, references, or compensation reality-checks. The owner field also surfaces accountability for the search.",
      "interpretationGuidance": "Items should name the role, the owner (recruiter or hiring manager), days open, and the ask (intros / references / approval for higher comp band). A role open >90 days without a board narrative or escalation usually signals either insufficient executive attention or unrealistic specifications.",
      "relatedKpiIds": [
        "hr.open_positions",
        "hr.avg_days_to_fill",
        "hr.hiring_plan",
        "hr.key_hires",
        "hr.leader_status",
        "hr.talent_challenges"
      ]
    },
    {
      "rogueId": "hr.leader_status",
      "slug": "leader_status",
      "domain": "hr",
      "defaultLabel": "Leader Status",
      "description": "Tri-state leader status (permanent / interim / vacant) for each board-tracked department. Permanent shows name+title; interim shows the covering person; vacant shows the gap explicitly. The single most board-relevant org-design signal — an extended interim or vacant status in a strategic function is almost always a board-level concern. Common pitfall: leaving \"interim\" indefinitely as a way to avoid the search-and-hire conversation — boards should set a maximum interim duration and treat overruns as board-action items. Structural KPI; no formula.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Leader-coverage gaps in strategic functions (e.g., engineering, sales, product) are leading indicators of execution risk. Boards routinely under-weight this signal because the headcount number can look healthy while the leadership layer is hollow.",
      "interpretationGuidance": "Interim status sustained >90 days warrants a board narrative on the search; vacant status in a board-relevant function is a board-action item on day one. Pair with `hr.key_openings` for the structured search-status view and `hr.talent_challenges` for narrative on the search difficulty.",
      "relatedKpiIds": [
        "hr.departments",
        "hr.key_openings",
        "hr.talent_challenges",
        "hr.board_actions"
      ]
    },
    {
      "rogueId": "hr.new_hires",
      "slug": "new_hires",
      "domain": "hr",
      "defaultLabel": "New Hires",
      "description": "Count of employees whose first day fell within the reporting period. The growth-input side of the headcount equation, paired with `hr.voluntary_exits` and `hr.terminations` on the loss side. Common pitfall: counting accepted offers vs actual start dates — these can diverge by weeks (notice period) or fall through entirely (offer rescind, candidate ghosting). The board number should be actual starts, not signed offers; pipeline movement belongs in `hr.hiring_plan` narrative.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "preSeed",
        "seed",
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "preSeed": "recommended",
        "seed": "core",
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of employees whose official start date is within the reporting period. Exclude rehires within 90 days (boomerangs) from this count if the board has adopted that convention; otherwise include and note in `hr.talent_highlights`.",
      "whyItMatters": "Directly drives `hr.headcount_change` and validates execution against `hr.hiring_plan`. Persistent gaps between hiring-plan targets and actual new hires usually indicate either a pipeline problem or compensation-market mismatch — both board-action triggers.",
      "interpretationGuidance": "Reconcile against `hr.open_positions` closed in period and against `hr.hiring_plan` targets. A new-hire count materially below plan (e.g. <70% of target for two consecutive periods) typically warrants a board conversation about recruiting capacity, comp band competitiveness, or scope realism (industry folk-wisdom, not citation-grade).",
      "relatedKpiIds": [
        "hr.open_positions",
        "hr.hiring_plan",
        "hr.headcount_change",
        "hr.avg_days_to_fill",
        "hr.key_hires",
        "hr.total_headcount"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of employees whose official FIRST DAY (actual start date) falls WITHIN the reporting period — a period-flow count, bounded by the same period start/end the rest of the report uses.",
          "Count actual starts only: the person showed up and began work in the period.",
          "If the board has adopted the boomerang convention, exclude rehires within 90 days of a prior exit; otherwise include them and note in `hr.talent_highlights`."
        ],
        "exclusionRules": [
          "Signed / accepted offers whose start date has not yet arrived — offers can slip by weeks (notice period) or fall through entirely (rescind, ghosting). Pipeline movement belongs in `hr.hiring_plan` narrative, not this count.",
          "Contractor or agency starts — those move `hr.total_contractors`, not employee hires.",
          "Internal transfers and promotions — the person was already a head; no net new hire.",
          "Starts that landed in a prior or later period — respect the period boundary strictly."
        ],
        "requiredInputs": [
          "New-employee list with official start dates within the period.",
          "The period start/end boundaries.",
          "The boomerang (rehire-within-90-days) convention flag if adopted."
        ],
        "dataSourcePriority": [
          "HRIS onboarding / start-date records.",
          "Payroll first-paycheck records as a cross-check that the start actually occurred."
        ],
        "edgeCases": [
          "Offer accepted in one period, start date in the next: count in the period of the actual start, never the offer date.",
          "Cohort / class start (e.g. a bootcamp or grad intake all starting the same Monday): all count in that period — expect a lumpy spike.",
          "Rescinded offer or no-show after a recorded start date: reverse out of the count; do not leave a phantom hire."
        ],
        "validationChecks": [
          "New hires should reconcile against `hr.open_positions` closed in the period and against `hr.hiring_plan` targets.",
          "Prior headcount + new hires − exits should tie to current `hr.total_headcount` for the period."
        ],
        "commonMiscomputations": [
          "Counting accepted offers instead of actual starts — overstates hiring and diverges from headcount by the notice-period lag.",
          "Including internal transfers / promotions as new hires — inflates the growth-input side of the headcount equation.",
          "Mis-dating cross-boundary starts into the wrong period, breaking the headcount reconciliation."
        ]
      },
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.open_positions",
      "slug": "open_positions",
      "domain": "hr",
      "defaultLabel": "Open Positions",
      "description": "Count of board-approved roles that are currently posted and unfilled (requisition open, offer not yet accepted). The leading-edge indicator for upcoming hiring capacity demand. Common pitfall: \"approved\" drift — roles that were verbally green-lit but never went through the approval gate get counted here, inflating the number. The board number should match the approved headcount budget; everything else belongs in narrative as \"pipeline ideas.\"",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of requisitions where status = open AND approval = granted AND no candidate has accepted. Excludes positions filled but not yet started (those belong to `hr.new_hires` in the next period). Excludes role ideas not yet approved.",
      "whyItMatters": "Quantifies the hiring debt — every open role is unrealized capacity. Combined with `hr.avg_days_to_fill`, it projects when capacity actually arrives. A growing open-position count while time-to-fill stretches is a recruiting-capacity yellow flag.",
      "interpretationGuidance": "Open positions ÷ approved budget gap = recruiting load. If open positions exceed 15–20% of total headcount sustained over multiple periods, it usually signals either compensation issues, recruiter capacity issues, or unrealistic role specs (industry folk-wisdom, not citation-grade). Tie to `hr.key_openings` for priority-weighted context.",
      "relatedKpiIds": [
        "hr.approved_headcount_budget",
        "hr.avg_days_to_fill",
        "hr.hiring_plan",
        "hr.key_openings",
        "hr.new_hires"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of requisitions where status = open AND approval = granted AND no candidate has yet accepted — a point-in-time snapshot of unfilled, board-approved roles as of the period-end date.",
          "The number should tie to the approved headcount plan: every open req traces to a budgeted, approved seat."
        ],
        "exclusionRules": [
          "Role ideas that were verbally green-lit but never cleared the approval gate — \"approved drift\" inflates the count; those belong in narrative as pipeline ideas.",
          "Positions already filled but not yet started — the candidate accepted, so the seat is no longer open; it becomes `hr.new_hires` next period.",
          "Backfills already covered by an accepted offer."
        ],
        "requiredInputs": [
          "Requisition list at the snapshot date with status, approval state, and candidate-accepted flag.",
          "The approved headcount plan to confirm each open req is budgeted.",
          "Priority / criticality tags if the board reads `hr.key_openings`."
        ],
        "dataSourcePriority": [
          "ATS (Greenhouse / Lever / Ashby) open-requisition report.",
          "Approved headcount budget / board resolution to validate the approval gate."
        ],
        "edgeCases": [
          "Offer extended but not yet accepted: still open (candidate has not accepted) — flips out of the count only on acceptance.",
          "Evergreen / pipeline reqs kept open with no intent to hire imminently: exclude or flag separately so the hiring-debt read is honest.",
          "A single req approved for multiple identical hires: count the number of seats, not the number of postings."
        ],
        "validationChecks": [
          "Open positions ÷ approved-budget gap = recruiting load; sustained above ~15–20% of total headcount signals comp, recruiter-capacity, or role-spec issues.",
          "Open positions closed in a period should reconcile against `hr.new_hires` started in the following period, allowing for `hr.avg_days_to_fill`."
        ],
        "commonMiscomputations": [
          "Counting unapproved \"wish-list\" roles as open positions — overstates hiring debt and breaks the tie to the approved plan.",
          "Leaving filled-but-not-started seats in the open count, double-reading them once here and again as next-period hires.",
          "Counting postings instead of approved seats when one req covers several identical hires."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.payroll_as_pct_of_burn",
      "slug": "payroll_as_pct_of_burn",
      "domain": "hr",
      "defaultLabel": "Payroll as % of Burn",
      "description": "Monthly fully-loaded payroll cost as a percentage of `finance.gross_burn_rate`. Tells the board what share of cash outflow funds people vs everything else (infra, GTM spend, professional services, facilities). Common pitfall: comparing this ratio across companies without normalizing for stage and capex intensity — a pure-software seed company will run very payroll-heavy; a hardware-or-bio company will not. Best practice is to read this in conjunction with the burn-rate trend, not in isolation.",
      "fieldType": "percentage",
      "unit": "%",
      "maturity": "general",
      "suggestedForStages": [
        "preSeed",
        "seed",
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "Finance",
        "HR"
      ],
      "stageRelevance": {
        "preSeed": "recommended",
        "seed": "core",
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Payroll as % of Burn = (Monthly payroll run rate from `hr.payroll_run_rate` / 12) / `finance.gross_burn_rate` × 100. Use gross burn (not net) so growing revenue does not distort the share. Document any non-cash comp adjustments (e.g., stock-based comp included vs excluded).",
      "whyItMatters": "Cost-structure shape indicator — pairs naturally with runway math. A rising share without rising headcount can signal comp-band drift; a falling share with rising headcount often signals contractor / GTM expansion. Boards use this for the people-vs-program trade-off conversation.",
      "interpretationGuidance": "Early-stage pure-software companies often run 60–75% payroll-of-burn (people-heavy by design); later-stage companies with material GTM spend typically run 40–55%; hardware-heavy or bio-tech companies can run lower still (industry folk-wisdom, not citation-grade — varies materially by business model). Sudden drops without a hiring freeze or program-spend spike are usually accounting reclassifications, not real economics.",
      "relatedKpiIds": [
        "hr.payroll_run_rate",
        "finance.gross_burn_rate",
        "finance.net_burn_rate",
        "hr.total_headcount",
        "hr.arr_per_fte"
      ],
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.payroll_run_rate",
      "slug": "payroll_run_rate",
      "domain": "hr",
      "defaultLabel": "Payroll Run Rate",
      "description": "Annualized fully-loaded payroll cost based on current employee compensation — wages plus employer-paid taxes, benefits, and typical equity refresh allocation. Used as the dominant input into `hr.payroll_as_pct_of_burn` and the projection for `hr.fte_metrics`. Common pitfall: reporting base-salary-only and missing employer payroll taxes, benefits, and bonus accrual — this can understate true cost by 15–30%. Document the loading convention (typically wages × 1.20–1.30 for US fully-loaded) and apply consistently.",
      "fieldType": "currency",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR",
        "Finance"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Payroll Run Rate = Σ(employee fully-loaded annual comp). Fully-loaded ≈ base + bonus + employer taxes (Social Security, Medicare, FUTA, SUTA) + benefits (health, dental, 401k match) + equity refresh accrual. US-typical loading factor 1.20–1.30× base; international varies materially by country.",
      "whyItMatters": "The single largest line in most operating budgets — drives runway calculus, dilution sensitivity at fundraise, and the unit economics conversation. Visible upward steps without a corresponding revenue or headcount-plan justification are board-action triggers.",
      "interpretationGuidance": "Trend month-over-month; flag step-changes >5% that are not attributable to net new hires or planned comp cycles. Compare against `hr.approved_headcount_budget` × stage-typical avg comp (industry folk-wisdom, not citation-grade) to surface comp-band drift.",
      "relatedKpiIds": [
        "hr.payroll_as_pct_of_burn",
        "hr.fte_metrics",
        "hr.total_headcount",
        "hr.arr_per_fte",
        "finance.gross_burn_rate"
      ],
      "metricBasis": {
        "timeBasis": "point_in_time",
        "moneyBasis": "cash",
        "production": "computed"
      }
    },
    {
      "rogueId": "hr.performance_watch_count",
      "slug": "performance_watch_count",
      "domain": "hr",
      "defaultLabel": "Performance Watch",
      "description": "Count of employees currently on a formal Performance Improvement Plan (PIP) or equivalent performance-bar process. Leading indicator for `hr.terminations` — most PIPs that do not resolve with measurable improvement convert to involuntary exits within one quarter. Common pitfall: confusing PIPs with informal coaching — only employees on a written, time-bound plan with defined exit criteria should be counted here. Informal \"we need to talk\" relationships belong in the at-risk count, not this number.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of active employees on a written, time-bound Performance Improvement Plan with explicit success criteria and an end date (typically 30/60/90 days). Excludes informal coaching relationships and probationary new hires unless the new-hire is on a formal extension PIP.",
      "whyItMatters": "Leading indicator for `hr.terminations` and a read on management discipline — managers who avoid PIPs accumulate B-players, managers who over-use them are training-out coachable performers. The trend matters more than the snapshot.",
      "interpretationGuidance": "A sustained PIP count of ~1–3% of headcount typically reflects healthy performance management; near-zero suggests management avoidance; >5% sustained suggests either hiring-quality issues or unrealistic performance bars (industry folk-wisdom, not citation-grade). PIP-to-termination conversion rate (tracked privately) usually settles in the 60–80% range when the program is well-run.",
      "relatedKpiIds": [
        "hr.terminations",
        "hr.involuntary_turnover_rate",
        "hr.at_risk_count",
        "hr.talent_challenges"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of active employees currently on a WRITTEN, time-bound Performance Improvement Plan (PIP) with explicit success criteria and an end date (typically 30 / 60 / 90 days), as of the snapshot date — a point-in-time read.",
          "Only formal, documented plans count — the leading indicator for `hr.terminations`."
        ],
        "exclusionRules": [
          "Informal coaching / \"we need to talk\" relationships with no written plan — those are retention/management signals at most (`hr.at_risk_count`), not a PIP.",
          "Probationary new hires, unless a new hire is on a formal extension PIP with the same written, time-bound structure.",
          "Employees who have completed or exited a PIP (passed, or already terminated) by the snapshot date."
        ],
        "requiredInputs": [
          "List of active PIPs with start date, defined end date, and documented success criteria.",
          "PIP outcome tracking (passed / converted-to-exit) for the conversion-rate read.",
          "Team / manager attribution."
        ],
        "dataSourcePriority": [
          "HR case-management / PIP system of record with written plan documents.",
          "Manager + HRBP confirmation that each plan is formal and time-bound (not informal coaching)."
        ],
        "edgeCases": [
          "PIP that lapses past its end date with no documented outcome: resolve it (passed or exited) rather than letting it linger in the active count.",
          "New-hire on a formal extension PIP: counts here; ordinary probation does not.",
          "PIP-to-termination conversion (privately tracked) typically settles in the 60–80% range when the program is well-run — use it to anticipate `hr.terminations`."
        ],
        "validationChecks": [
          "PIP count should LEAD `hr.terminations` by roughly a quarter — most unresolved PIPs convert to involuntary exits.",
          "Sustained ~1–3% of headcount reflects healthy performance management; near-zero suggests management avoidance; >5% sustained suggests hiring-quality or unrealistic-bar issues."
        ],
        "commonMiscomputations": [
          "Counting informal coaching as PIPs — overstates the leading indicator and blurs it with `hr.at_risk_count`.",
          "Leaving completed / lapsed PIPs in the active count.",
          "Including ordinary new-hire probation as a performance watch."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.retention_initiatives",
      "slug": "retention_initiatives",
      "domain": "hr",
      "defaultLabel": "Retention Initiatives",
      "description": "Narrative on the programs and actions in flight to retain key talent and reduce voluntary turnover — refresh grants, comp-band adjustments, manager training, career-pathing programs, and similar. The response side of the `hr.at_risk_count` and `hr.voluntary_turnover_rate` story. Common pitfall: listing perks (snacks, swag) instead of actions tied to retention drivers. Best practice is to name the initiative, the at-risk population it targets, and the leading-indicator metric you'll watch.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Shows the board that retention risk is being actively managed, not just measured. Initiatives without measurement plans are typically performative — pairing each initiative with a leading-indicator KPI (engagement score, manager 1:1 cadence, refresh-grant acceptance) shows operational rigor.",
      "interpretationGuidance": "Strong examples: equity refresh program targeting tenure-3+ engineers; manager-effectiveness training tied to attrition-by-manager data; career-laddering for senior ICs. Weak examples: generic culture/perks investments without a specific retention thesis.",
      "relatedKpiIds": [
        "hr.voluntary_turnover_rate",
        "hr.at_risk_count",
        "hr.voluntary_exits",
        "hr.talent_challenges"
      ]
    },
    {
      "rogueId": "hr.risk_items",
      "slug": "risk_items",
      "domain": "hr",
      "defaultLabel": "HR Risk Items",
      "description": "Structured field-array of board-attention items, each with type / department / action / narrative quartet (problem / impact / proposal / ask). Chip color follows boardActionNeeded: approval=red, assistance=yellow, awareness=blue. The structured-table version of `hr.board_actions` — preferred when the board has adopted the formal risk-item pattern. Common pitfall: drift toward vague \"we are working on it\" entries — strong items name a specific action with a date.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Forces explicit categorization of each item (approval / assistance / awareness) so the board cannot accidentally skip a decision item. The color chips make scanning faster than narrative text alone.",
      "interpretationGuidance": "Red chips (approval) demand a vote or formal resolution this meeting. Yellow chips (assistance) need specific board-member action (intros, references) — name the asks. Blue chips (awareness) are FYI for governance log. A standing meeting with all-blue is well-run; all-red signals a governance backlog.",
      "relatedKpiIds": [
        "hr.board_actions",
        "hr.talent_challenges",
        "hr.retention_initiatives",
        "hr.executive_commentary"
      ]
    },
    {
      "rogueId": "hr.talent_challenges",
      "slug": "talent_challenges",
      "domain": "hr",
      "defaultLabel": "Talent Challenges",
      "description": "Narrative on key hiring difficulties, attrition concerns, comp-market pressure, and market-driven talent risks that the board should weigh in on or be aware of. The \"watch this\" companion to `hr.talent_highlights`. Common pitfall: sanitizing this section to avoid uncomfortable conversations — but talent challenges are precisely where boards add the most value (warm intros, comp benchmarking, executive search). Best practice is to name the specific role, team, or risk and the ask explicitly.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "The mechanism by which the board's network and judgment get applied to talent gaps. Numbers in `hr.voluntary_exits` and `hr.at_risk_count` show the symptom; this section names the cause and the ask.",
      "interpretationGuidance": "Treat each item as a problem-statement plus ask. Example structure: \"Senior PM role open 90 days; market comp drift +12% over our band; ask: board intros + comp-band re-baseline.\" Vague items signal either insufficient management attention or unwillingness to surface the issue.",
      "relatedKpiIds": [
        "hr.voluntary_exits",
        "hr.at_risk_count",
        "hr.open_positions",
        "hr.avg_days_to_fill",
        "hr.board_actions",
        "hr.risk_items"
      ]
    },
    {
      "rogueId": "hr.talent_highlights",
      "slug": "talent_highlights",
      "domain": "hr",
      "defaultLabel": "Talent Highlights",
      "description": "Free-form narrative on notable hires, promotions, internal moves, and other positive organizational developments the board should be aware of. The \"good news\" companion to `hr.talent_challenges`. Common pitfall: listing every internal move and burying the genuinely important signals (key executive hires, strategic team-build milestones). Best practice is 3–5 bulleted items per period, each tied to a board-relevant outcome or risk-it-mitigates rather than a generic celebration.",
      "fieldType": "text",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "whyItMatters": "Gives the board context for the headline numbers — a flat headcount with a major engineering leader hired tells a different story than a flat headcount with no narrative. Also primes board members for warm-intro asks and reference checks.",
      "interpretationGuidance": "Quality > quantity. Items should answer \"why does the board care?\" — a senior IC promotion to manager matters because it filled a key vacancy; a generic \"we promoted 4 people\" doesn't. Pair each highlight with the role/team it impacts.",
      "relatedKpiIds": [
        "hr.key_hires",
        "hr.executive_commentary",
        "hr.talent_challenges",
        "hr.new_hires"
      ]
    },
    {
      "rogueId": "hr.terminations",
      "slug": "terminations",
      "domain": "hr",
      "defaultLabel": "Terminations",
      "description": "Count of company-initiated employee separations during the period — performance-management exits, layoffs, redundancies, and for-cause terminations. The numerator of `hr.involuntary_turnover_rate` and the inverse of `hr.voluntary_exits` on the attrition page. Common pitfall: bundling layoff events (often one-time, board-known) with normal performance-management churn (steady-state, manager-driven). Best practice is to break out layoffs in `hr.talent_challenges` narrative and reserve this number for the recurring stream.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of company-initiated employee separations within the reporting period — performance terminations, RIFs, role eliminations, and for-cause exits. Excludes voluntary resignations (those are `hr.voluntary_exits`) and contractor-end events.",
      "whyItMatters": "A direct read on performance-management cadence and any organizational restructuring activity. Spikes correlate with strategy pivots, post-fundraise rebalancing, or recovery from over-hiring — each implies different board narratives.",
      "interpretationGuidance": "Sustained termination volume above ~1% of headcount per month (excluding announced RIFs) typically signals hiring-quality issues, performance-bar drift, or comp-band misfit (industry folk-wisdom, not citation-grade). One-time RIF events should be reported separately in `hr.board_actions` with the headcount delta noted.",
      "relatedKpiIds": [
        "hr.involuntary_turnover_rate",
        "hr.performance_watch_count",
        "hr.headcount_change",
        "hr.talent_challenges",
        "hr.board_actions"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of COMPANY-INITIATED employee separations within the reporting period — performance terminations, layoffs / RIFs, role eliminations, and for-cause exits (period-flow, standard period boundary).",
          "Mirror image of `hr.voluntary_exits`: if the company drove the separation, it counts here."
        ],
        "exclusionRules": [
          "Employee-initiated resignations and retirements — those are `hr.voluntary_exits`.",
          "Contractor-end / engagement-expiry events — not employees.",
          "Announced one-time layoff (RIF) events when the board has adopted the convention of breaking them out separately in `hr.talent_challenges` / `hr.board_actions` — keep this number for the recurring performance-management stream so the trend is not swamped by a single event."
        ],
        "requiredInputs": [
          "Separation records flagged company-initiated with reason code (performance / RIF / for-cause) and last-day date.",
          "A separate tally of any announced RIF headcount delta for the period.",
          "Team / level attribution."
        ],
        "dataSourcePriority": [
          "HRIS offboarding records with initiator and reason code.",
          "Board-action / RIF documentation for one-time events that should be reported separately."
        ],
        "edgeCases": [
          "Layoff event: report the RIF headcount delta separately (board-known, one-time) and reserve this metric for steady-state performance churn — bundling them hides both signals.",
          "For-cause immediate termination: counts in the period of the last day even with no notice.",
          "Severance / garden-leave: the separation date for counting is the employment-end date, not the date severance payments stop."
        ],
        "validationChecks": [
          "Converts to `hr.involuntary_turnover_rate`; the count and rate must share the same separation set.",
          "Should lag `hr.performance_watch_count` by roughly a quarter when PIPs are converting — a spike with no prior PIP build-up suggests a RIF that belongs in narrative.",
          "Voluntary + involuntary exits reconcile against the period headcount drop with `hr.new_hires`."
        ],
        "commonMiscomputations": [
          "Bundling one-time layoff headcount into the recurring termination stream — distorts the performance-management trend the board reads here.",
          "Classifying a managed-out exit as voluntary, which simultaneously overstates voluntary and understates involuntary turnover.",
          "Counting contractor-end events as terminations."
        ]
      },
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.total_contractors",
      "slug": "total_contractors",
      "domain": "hr",
      "defaultLabel": "Total Contractors",
      "description": "Count of active 1099 contractors, consultants, agencies-of-record, and similar non-employee labor at period end. Tracked separately from `hr.total_headcount` because the cost structure, retention dynamics, and classification risk are different. Common pitfall: under-counting agencies that bill on a project basis without per-head visibility — these often slip out of HR systems and surface only in finance AP detail. A contractor-to-FTE ratio above ~30% sustained typically warrants a classification audit and a deliberate \"build vs rent\" board conversation.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "recommended",
        "seriesB": "recommended",
        "seriesC": "recommended",
        "public": "recommended"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of active non-employee workers (1099 contractors, agency contractors, consultants) with engagement status = active at period end. Convert to FTE-equivalent in `hr.fte_metrics` using a contractor-to-FTE factor (e.g., 0.8) if applying to capacity math.",
      "whyItMatters": "Hidden capacity and hidden cost — contractors expand effective capacity without going through the headcount-approval gate, but they carry classification risk and tend to convert into permanent cost without explicit board approval. Surfacing the count counters that quiet expansion.",
      "interpretationGuidance": "Contractor share of total workforce above ~30% sustained signals either a hiring-gate workaround or a deliberate flex-staffing strategy — both warrant a narrative explanation. Under US IRS rules and similar in other jurisdictions, sustained \"contractors\" working full-time under direction risk reclassification (industry folk-wisdom on the 30% threshold, not citation-grade).",
      "relatedKpiIds": [
        "hr.total_headcount",
        "hr.fte_metrics",
        "hr.hiring_plan",
        "hr.payroll_run_rate"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of active non-employee workers — 1099 contractors, consultants, and agencies-of-record — with engagement status = active AS OF the period-end date (point-in-time, same snapshot date as `hr.total_headcount`).",
          "Count the people actually delivering work, including agency staff billing on a project basis; estimate per-head equivalents for agencies that only bill a lump sum so the count is not silently understated.",
          "Keep this number strictly parallel to, and separate from, `hr.total_headcount` so the contractor-to-FTE ratio is readable."
        ],
        "exclusionRules": [
          "W-2 / direct employees — those are `hr.total_headcount`. The whole point of this KPI is to keep the two cost structures and classification-risk profiles distinct.",
          "One-off vendors and SaaS subscriptions that are not labor (hosting, software, professional fees) — this is a count of contracted PEOPLE, not a spend line.",
          "Contractors whose engagement ended on or before the snapshot date."
        ],
        "requiredInputs": [
          "Active contractor / consultant roster at period end with engagement status and, where possible, FTE-equivalent effort.",
          "Finance AP / vendor ledger to surface agency engagements that never reached the HRIS (the classic blind spot).",
          "Engagement type (individual 1099 vs agency-of-record) for the classification-risk read."
        ],
        "dataSourcePriority": [
          "Contractor-management / AP system of record for active engagements.",
          "Finance AP detail as the catch-all for project-billed agencies invisible to HR systems.",
          "Department leads as a last-resort reconciliation for embedded contractors."
        ],
        "edgeCases": [
          "Project-billed agencies with no per-head visibility: estimate the effective head count from the contract scope rather than recording zero — under-counting here defeats the metric.",
          "Contractor converting to employee mid-period: drop from this count and pick up in `hr.total_headcount` / `hr.new_hires` on the conversion date; never double-count in the same period.",
          "Full-time, long-tenured \"contractors\" working under company direction: flag for the classification-risk (IRS reclassification) conversation even though they still count here."
        ],
        "validationChecks": [
          "Contractor share = contractors ÷ (headcount + contractors); sustained above ~30% warrants a narrative on classification risk or a deliberate flex-staffing strategy.",
          "Reconcile the count against contractor spend in finance — a rising spend with flat count usually means agency heads are uncounted."
        ],
        "commonMiscomputations": [
          "Under-counting lump-sum agency engagements because they lack per-head records — the metric exists precisely to surface this hidden capacity.",
          "Sweeping contractors into `hr.total_headcount` (or vice versa) — corrupts both counts and the contractor-ratio read.",
          "Counting terminated / expired engagements still open in the vendor system as active."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.total_headcount",
      "slug": "total_headcount",
      "domain": "hr",
      "defaultLabel": "Total Headcount",
      "description": "Total number of employees (W-2 / direct-employment equivalents) across all departments at period end. The base denominator for nearly every other HR ratio — turnover rate, revenue per FTE, payroll as % of burn — so getting the snapshot date and the FTE-vs-headcount convention right matters. CANONICAL HEADCOUNT (#2056): this single KPI carries BOTH the plan and the reported figure via the scenario axis (#2019) — scenario=`budget` is the board-approved headcount plan (formerly the separate, now-deprecated `hr.approved_headcount_budget`), and scenario=`actual` is the reported end-of-period count. Budget-vs-actual variance is read off the two scenarios of this one definition. Common pitfall: mixing headcount (people) with FTE (capacity) — they diverge whenever part-time, contractor, or shared-services arrangements exist. Document the convention (typically \"FTE-equivalent, employees only, end-of-period\") at the board level once and apply consistently.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "preSeed",
        "seed",
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "preSeed": "core",
        "seed": "core",
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of active employees at period end. Convention: FTE-equivalent (a 0.5 FTE counts as 0.5), employees only (contractors tracked separately in `hr.total_contractors`). Snapshot is end-of-period unless the board has explicitly adopted an average-headcount convention for ratio math. The budget scenario (scenario=`budget`) holds the board-approved plan for the same definition; actuals (scenario=`actual`) hold the reported count.",
      "whyItMatters": "The denominator for every HR ratio the board reads — turnover %, revenue/FTE, payroll as % of burn. Drift in this number without a corresponding hiring-plan update is a leading signal of unmanaged growth or quiet attrition.",
      "interpretationGuidance": "Read budget-vs-actual off this one KPI: scenario=`budget` is the board-approved headcount plan, scenario=`actual` is the reported count (#2056 — this replaces the deprecated `hr.approved_headcount_budget`). A delta above ±5% without a board note typically warrants explanation. Stage norm for SaaS (industry folk-wisdom, not citation-grade): seed 5–15, Series A 20–50, Series B 50–150, Series C 150–400.",
      "relatedKpiIds": [
        "hr.headcount_change",
        "hr.approved_headcount_budget",
        "hr.new_hires",
        "hr.voluntary_exits",
        "hr.terminations",
        "hr.total_contractors",
        "hr.arr_per_fte"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of active W-2 / direct-employment-equivalent employees across all departments, measured AS OF the period-end date (point-in-time snapshot, not an average — unless the board has formally adopted average-headcount for ratio math, in which case state it).",
          "Convention is FTE-equivalent: a 0.5 FTE counts as 0.5, not 1. Pin this convention once at the board level and apply it identically everywhere headcount feeds a ratio.",
          "When reading budget-vs-actual, `scenario=budget` holds the board-approved headcount plan and `scenario=actual` holds the reported end-of-period count — both ride this single canonical KPI (#2056)."
        ],
        "exclusionRules": [
          "Contractors, 1099s, consultants, and agency labor — those live in `hr.total_contractors`. Folding them in is the single most common headcount error and corrupts every downstream ratio.",
          "Open (unfilled) requisitions — an approved-but-vacant role is `hr.open_positions`, not a head.",
          "Accepted offers whose start date has not yet landed in the period — they become heads via `hr.new_hires` when they actually start.",
          "Employees whose last day fell on or before the period-end snapshot date — they have already left the count."
        ],
        "requiredInputs": [
          "Active-employee roster as of the period-end date with employment type (W-2 vs contractor) and FTE fraction per person.",
          "The board-adopted convention flag: FTE-equivalent vs raw head, and end-of-period vs average.",
          "Department / function attribution if the board reads headcount by team."
        ],
        "dataSourcePriority": [
          "HRIS system of record (Rippling / Gusto / BambooHR / Workday) active-employee report at period close.",
          "Payroll register as a cross-check on who was actually paid in the period.",
          "Finance AP / contractor detail to confirm contractors were NOT swept into the employee count."
        ],
        "edgeCases": [
          "Part-time and job-share arrangements: convert to FTE fraction — two 0.5 FTEs are 1.0, not 2.0, under the FTE convention.",
          "Employees on unpaid leave / sabbatical: typically still counted as active heads; document the treatment and apply it consistently across periods.",
          "Acquisition or acqui-hire mid-period: the acquired team joins headcount on their effective start date, not the deal-close date — keep the two distinct.",
          "Shared-services or PEO-employed staff working full-time under company direction: decide once whether they count as heads or contractors and never flip mid-series."
        ],
        "validationChecks": [
          "Prior headcount + `hr.new_hires` − (`hr.voluntary_exits` + `hr.terminations`) should reconcile to current headcount within the period; an unexplained gap means a hire/exit was mis-dated or a contractor was swept in.",
          "Headcount should move in step with `hr.payroll_run_rate`; a headcount jump with flat payroll (or vice versa) flags a counting or classification error.",
          "A delta above ±5% vs the `scenario=budget` plan without a board note typically warrants explanation."
        ],
        "commonMiscomputations": [
          "Including contractors in the head count — inflates the denominator and understates every per-FTE productivity and turnover ratio.",
          "Counting raw heads instead of FTE-equivalent when part-time / job-share arrangements exist — overstates capacity.",
          "Using a mid-period or average snapshot in one report and end-of-period in another — the two conventions silently disagree and make turnover math unreproducible.",
          "Counting accepted-but-not-started offers as heads — they belong to next period via `hr.new_hires`."
        ]
      },
      "metricBasis": {
        "timeBasis": "point_in_time",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.voluntary_exits",
      "slug": "voluntary_exits",
      "domain": "hr",
      "defaultLabel": "Voluntary Exits",
      "description": "Count of employees who resigned during the period (initiated by employee, not the company). The numerator of the `hr.voluntary_turnover_rate` calculation and the headline \"are we losing people\" number boards anchor on. Common pitfall: ambiguous \"mutually agreed\" exits — companies sometimes log managed-out exits as voluntary to keep the visible number low. Define the test: if the employee initiated the conversation and there was no formal performance trigger, it is voluntary; otherwise log as termination.",
      "fieldType": "number",
      "unit": null,
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "editorial",
        "sourceName": "imboard Editorial",
        "sourceUrl": null,
        "sectionRef": null,
        "publicationDate": "2026-04-01",
        "attributionNotice": null,
        "authorityLevel": "imboard-editorial"
      },
      "formula": "Count of employees with employee-initiated separations (resignations, retirements) during the period. Excludes terminations (those go in `hr.terminations`), exclusions for cause, and contractor-end events.",
      "whyItMatters": "The leading indicator the board reads for retention health and culture risk. Concentration in a single team, level, or tenure cohort is more informative than the absolute number — investigate the pattern, not just the headline.",
      "interpretationGuidance": "Convert to `hr.voluntary_turnover_rate` (annualized %) for cross-period comparison and benchmarking. Spike triggers: 3+ voluntary exits from one team in a quarter, or any C-1 (executive direct-report) departure — both warrant board narrative in `hr.talent_challenges`.",
      "relatedKpiIds": [
        "hr.voluntary_turnover_rate",
        "hr.at_risk_count",
        "hr.retention_initiatives",
        "hr.talent_challenges",
        "hr.total_headcount"
      ],
      "calculationPolicy": {
        "inclusionRules": [
          "Count of EMPLOYEE-INITIATED separations — resignations and retirements — whose effective last day falls WITHIN the reporting period (period-flow, same period boundary as the rest of the report).",
          "Classification test: the employee initiated the conversation AND there was no formal performance trigger ⇒ voluntary. Apply the test consistently so the visible number is not gamed."
        ],
        "exclusionRules": [
          "Company-initiated separations — performance terminations, layoffs/RIFs, for-cause exits — those are `hr.terminations`.",
          "\"Mutually agreed\" / managed-out exits where the company drove the conversation or a performance process was underway — log these as terminations, not voluntary, even when paperwork reads \"resignation\".",
          "Contractor-end events — not employees, not in this count.",
          "Exits dated outside the reporting period."
        ],
        "requiredInputs": [
          "Separation records with initiator (employee vs company), reason code, and last-day date.",
          "Performance-process flags to disambiguate managed-out exits from genuine resignations.",
          "Team / level / tenure attribution for the concentration read."
        ],
        "dataSourcePriority": [
          "HRIS offboarding records with reason codes.",
          "Manager / HR exit-interview notes to confirm the voluntary classification on ambiguous cases."
        ],
        "edgeCases": [
          "Resignation tendered in one period with a last day in the next: count in the period of the effective last day, matching the headcount snapshot.",
          "Retirement: voluntary by definition (employee-initiated) unless it is a packaged exit tied to a RIF.",
          "\"Quiet\" managed-out: if a manager steered the exit, classify as termination regardless of how the paperwork reads — otherwise voluntary turnover is understated and involuntary is hidden."
        ],
        "validationChecks": [
          "Voluntary + involuntary exits should reconcile against the period headcount drop alongside `hr.new_hires`.",
          "Converts to `hr.voluntary_turnover_rate` (annualized % of average headcount) for benchmarking — the raw count and the rate must use the same exit set.",
          "Concentration (3+ from one team in a quarter, or any executive direct-report) is more diagnostic than the absolute number — surface the pattern."
        ],
        "commonMiscomputations": [
          "Logging managed-out / \"mutually agreed\" exits as voluntary to keep the headline retention number low — the single biggest integrity trap on this KPI.",
          "Mixing contractor-end events into employee voluntary exits.",
          "Counting by resignation-notice date instead of effective last day, desynchronizing exits from the headcount snapshot."
        ]
      },
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "primary"
      }
    },
    {
      "rogueId": "hr.voluntary_turnover_rate",
      "slug": "voluntary_turnover_rate",
      "domain": "hr",
      "defaultLabel": "Voluntary Turnover Rate",
      "description": "Voluntary exits over a trailing period, expressed as an annualized percentage of average headcount — the headline attrition number on the HR scorecard. Anchored to the Mercer US Turnover Survey methodology (Mercer reports voluntary vs involuntary turnover annually). Common pitfall: comparing a single quarter's annualized rate against an annual benchmark — short-window annualization is noisy. Best practice is trailing-12-months for benchmark comparison and trailing-3 or trailing-6 for trend reads. Per #1426: stage-specific industry norms here are folk-wisdom unless tied to a specific Mercer or comparable published cut.",
      "fieldType": "percentage",
      "unit": "%",
      "maturity": "general",
      "suggestedForStages": [
        "seriesA",
        "seriesB",
        "seriesC",
        "public"
      ],
      "defaultOwningFunctions": [
        "HR"
      ],
      "stageRelevance": {
        "seriesA": "core",
        "seriesB": "core",
        "seriesC": "core",
        "public": "core"
      },
      "definitionSource": {
        "tier": "published",
        "sourceName": "Mercer US Turnover Survey 2025",
        "sourceUrl": "https://www.imercer.com/articleinsights/workforce-turnover-trends",
        "sectionRef": "Voluntary Turnover",
        "publicationDate": "2025-03-01",
        "attributionNotice": null,
        "authorityLevel": "industry-benchmark"
      },
      "benchmark": {
        "p25": 7,
        "median": 11,
        "p75": 17,
        "unit": "%",
        "sourceName": "Mercer US Turnover Survey 2025",
        "sourceYear": "2025",
        "higherIsBetter": false
      },
      "formula": "Voluntary Turnover Rate (annualized) = (Voluntary Exits in period / Average Headcount in period) × (12 / months in period) × 100. Average headcount = (start headcount + end headcount) / 2 is the simplest acceptable convention; (Σ daily headcount / days in period) is more precise. Per Mercer US Turnover Survey methodology.",
      "whyItMatters": "The canonical retention KPI investors and boards benchmark against. Tracks the cost of churn — every voluntary exit triggers a replacement-cost cycle (recruiting + onboarding + ramp), commonly estimated at 0.5–2× the role's annual salary depending on level (industry folk-wisdom, not citation-grade).",
      "interpretationGuidance": "US all-industry voluntary turnover is typically 13–17% annualized per Mercer US Turnover Survey 2025 (§Voluntary Turnover). Tech sector typically runs higher than the all-industry average; engineering and sales roles run highest within tech. Sustained voluntary turnover above ~20% annualized at any stage is a board-action trigger; sustained sub-5% can indicate under-performance management (managers not exiting B-players). Compare trailing-12-month rates, not quarterly snapshots.",
      "relatedKpiIds": [
        "hr.voluntary_exits",
        "hr.involuntary_turnover_rate",
        "hr.at_risk_count",
        "hr.retention_initiatives",
        "hr.talent_challenges"
      ],
      "metricBasis": {
        "timeBasis": "period_flow",
        "production": "computed"
      }
    }
  ]
}
