{
  "version": "1.3.0",
  "releasedAt": "2026-05-20",
  "kpi": {
    "rogueId": "customers.nps_responses",
    "slug": "nps_responses",
    "domain": "customers",
    "defaultLabel": "NPS Responses",
    "description": "The number of survey responses the current `customers.nps_score` is computed from — the confidence qualifier the board must read alongside any NPS value. Per the NPS methodology (Reichheld/Bain), a score from a small or unrepresentative sample is unreliable; surfacing the response count lets the board discount low-n scores. Common pitfall: celebrating (or alarming at) an NPS swing that is actually a sample-size artifact — always read the score and the response count together.",
    "fieldType": "number",
    "unit": null,
    "maturity": "general",
    "suggestedForStages": [
      "seriesA",
      "seriesB",
      "seriesC",
      "public"
    ],
    "defaultOwningFunctions": [
      "Product",
      "Sales"
    ],
    "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
    },
    "formula": "Count of completed survey responses behind the period's NPS score. Response rate = nps_responses ÷ customers surveyed.",
    "whyItMatters": "The confidence denominator under NPS — an NPS based on <50 responses or <10% response rate should be flagged low-confidence rather than trended.",
    "interpretationGuidance": "Read with `customers.nps_score` and `customers.nps_trend`. A trend across periods with materially different response counts may be measurement noise, not a real movement.",
    "relatedKpiIds": [
      "customers.nps_score",
      "customers.nps_trend"
    ],
    "metricBasis": {
      "timeBasis": "point_in_time",
      "production": "primary"
    }
  }
}
