{
  "version": "1.3.0",
  "releasedAt": "2026-05-20",
  "kpi": {
    "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
    },
    "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"
    ],
    "metricBasis": {
      "timeBasis": "point_in_time",
      "production": "primary"
    }
  }
}
