Skip to main content

Scenario

Your NPS survey segments respondents into promoters (9-10), passives (7-8), and detractors (0-6). Each tier has different messaging needs — promoters want to deepen their relationship, passives need a nudge, detractors need recovery. This job pulls NPS scores with their qualitative comments, groups them by tier, then runs a separate Focus Group per tier asking: “Which message improves your experience?” The result is tier-specific messaging validated by personas that match each NPS segment’s actual mindset. Flow: Typeform NPS responses → Split by promoter/passive/detractor → Create persona per tier → POST /api/v1/focus-groups per tier with candidate messages → “Which message improves your experience?” → Tier-optimized messaging

Architecture

Code

Example Output

Error Handling

The code looks for opinion_scale or rating fields. If your NPS uses a different Typeform field type (e.g., number), adjust the detection logic.
Running 3 focus groups sequentially takes 3-5 minutes. For parallel execution, use asyncio (Python) or Promise.all (JavaScript) — but monitor Mavera rate limits.
Detractor tiers often have fewer responses. Even 10 NPS responses per tier provide enough context for meaningful persona creation.