Project NPS
Project NPS: Net Promoter Score for services experience.
Formula
Project NPS = % Promoters - % Detractors Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
(count(field.nps_score where field.survey_type = 'project' and field.nps_score >= 9) - count(field.nps_score where field.survey_type = 'project' and field.nps_score <= 6)) / count(field.nps_score where field.survey_type = 'project') * 100 Unit: score
Notes: Reported as a score from -100 to 100, so the x 100 is part of the definition.
Data requirements
Grain: Per survey response · Frequency: Per response · Aggregation: event · Staged: no · Main source: Survey Tool.
| Field | Dataset | Type |
|---|---|---|
nps_score | survey_response | integer |
survey_date | survey_response | date |
survey_type | survey_response | string |
Example SQL (Postgres)
SELECT ((CAST(((SELECT COUNT(nps_score) FROM survey_response WHERE survey_date >= :period_start AND survey_date <= :period_end AND (survey_type = 'project' AND nps_score >= 9)) - (SELECT COUNT(nps_score) FROM survey_response WHERE survey_date >= :period_start AND survey_date <= :period_end AND (survey_type = 'project' AND nps_score <= 6))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(nps_score) FROM survey_response WHERE survey_date >= :period_start AND survey_date <= :period_end AND survey_type = 'project'), 0)) * 100) AS project_nps From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Project NPS" }) or generate_query({ "metric": "Project NPS", "adapter": "<your adapter JSON>" }).