{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Net Promoter Score (NPS) Report","description":"Periodic Net Promoter Score (NPS) report produced by a vendor's Customer Success team. Captures respondent counts, the NPS score (-100..+100), promoter/passive/detractor percentages, the 0-10 score distribution, promoter and detractor themes, anonymised verbatim samples with score, an action plan and the report author. Follows the standard Bain/NPS definitions (promoters 9-10, passives 7-8, detractors 0-6). Non-regulated commercial document — no statutory source.","type":"object","additionalProperties":false,"required":["vendor","period","respondents_total","nps_score","promoters_pct","passives_pct","detractors_pct","distribution","top_themes_promoters","top_themes_detractors","verbatim_samples","action_plan","report_author"],"properties":{"vendor":{"type":"object","additionalProperties":false,"required":["name","address","contact_email"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"period":{"type":"object","additionalProperties":false,"required":["start","end","label"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"},"label":{"type":"string"}}},"respondents_total":{"type":"integer","minimum":0},"nps_score":{"type":"number","minimum":-100,"maximum":100},"promoters_pct":{"type":"number","minimum":0,"maximum":100},"passives_pct":{"type":"number","minimum":0,"maximum":100},"detractors_pct":{"type":"number","minimum":0,"maximum":100},"distribution":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["score","count"],"properties":{"score":{"type":"integer","minimum":0,"maximum":10},"count":{"type":"integer","minimum":0}}}},"top_themes_promoters":{"type":"array","minItems":1,"items":{"type":"string"}},"top_themes_detractors":{"type":"array","minItems":1,"items":{"type":"string"}},"verbatim_samples":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["score","quote","anonymised_role"],"properties":{"score":{"type":"integer","minimum":0,"maximum":10},"quote":{"type":"string"},"anonymised_role":{"type":"string"}}}},"action_plan":{"type":"array","minItems":1,"items":{"type":"string"}},"report_author":{"type":"object","additionalProperties":false,"required":["name","title","date"],"properties":{"name":{"type":"string"},"title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}