{
  "version": "1.3.0",
  "releasedAt": "2026-05-20",
  "kpi": {
    "rogueId": "sales.pipeline_flow",
    "slug": "pipeline_flow",
    "domain": "sales",
    "defaultLabel": "Pipeline Flow",
    "description": "Container handle for the additive / subtractive pipeline-flow bridge — reconciles opening pipeline to closing pipeline through the period's adds, wins, and losses (opening + new_opps − closed_won − closed_lost = closing) with dual count + value columns. Renders via the FlowSubform widget. The audit trail of the pipeline motion — without this, period-over-period pipeline changes are unexplained. Common pitfall: a \"scrub\" line (deals reclassified from open to lost mid-period) is needed to keep the math reconciling when CRM hygiene happens; without it the flow appears not to balance and trust in the underlying numbers erodes.",
    "fieldType": "text",
    "unit": null,
    "maturity": "general",
    "suggestedForStages": [
      "seriesA",
      "seriesB",
      "seriesC",
      "public"
    ],
    "defaultOwningFunctions": [
      "Sales"
    ],
    "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": "Container — start/end slots with dual (count + value) columns. Identity that must hold: opening_pipeline_value + new_opps_added_value − closed_won_value − closed_lost_value − scrubs = closing pipeline_value. Same identity holds on the count side using deal counts. Any gap surfaces a data-quality issue worth root-causing before next period.",
    "whyItMatters": "Makes the period's pipeline changes auditable line-by-line — boards can immediately see whether closing pipeline shrank because deals closed (good) or because deals were lost / scrubbed (bad). Without the flow, only the net change is visible and the underlying motion is opaque.",
    "interpretationGuidance": "A healthy flow shows new_opps_added ≈ (closed_won + closed_lost) at steady state (top-of-funnel replacing what closes). When new_opps_added consistently lags closes, the closing pipeline shrinks period-over-period — future quarters will run into coverage stress. Disproportionate scrubs (large negative reclassifications) signal a CRM hygiene problem that's been suppressed.",
    "relatedKpiIds": [
      "sales.opening_pipeline_value",
      "sales.new_opps_added_value",
      "sales.closed_won_value",
      "sales.closed_lost_value",
      "sales.pipeline_value",
      "sales.pipeline_deal_count"
    ]
  }
}
