Skip to main content

Overview

Focus Groups API enables you to run AI-powered synthetic focus group research at scale. Create focus groups with personas, define questions, and get detailed responses that simulate how different audience segments would respond.

Key Features

12 Question Types

NPS, Likert scales, multiple choice, open-ended, and more

Persona-Based

Responses from your chosen personas with authentic perspectives

Scalable

Run focus groups with any sample size instantly

Detailed Analysis

Get aggregated insights and individual responses

Creating a Focus Group

import requests

response = requests.post(
    "https://app.mavera.io/api/v1/focus-groups",
    headers={"Authorization": "Bearer mvra_live_your_key_here"},
    json={
        "name": "Product Launch Feedback",
        "sample_size": 50,
        "persona_ids": [
            "gen_z_consumer_id",
            "millennial_professional_id",
            "gen_x_parent_id"
        ],
        "questions": [
            {
                "question": "How likely are you to recommend this product?",
                "type": "NPS",
                "order": 1
            },
            {
                "question": "Rate the product design",
                "type": "LIKERT",
                "order": 2
            },
            {
                "question": "Which features interest you most?",
                "type": "MULTIPLE_CHOICE",
                "options": ["Feature A", "Feature B", "Feature C", "Feature D"],
                "order": 3
            },
            {
                "question": "What would make you more likely to purchase?",
                "type": "OPEN_ENDED",
                "order": 4
            }
        ],
        "workspace_id": "your_workspace_id"
    }
)

focus_group = response.json()
print(f"Focus Group ID: {focus_group['id']}")
print(f"Status: {focus_group['status']}")

Question Types

TypeDescriptionResponse Format
NPSNet Promoter Score (0-10)Numeric score with reasoning
LIKERT5-point agreement scaleScale value with explanation
MULTIPLE_CHOICESelect from optionsSelected option(s) with reasoning
OPEN_ENDEDFree-form responseDetailed text response
RATINGStar rating (1-5)Rating with explanation
YES_NOBinary choiceYes/No with reasoning
RANKINGOrder options by preferenceRanked list with reasoning
SLIDERNumeric scaleValue with explanation
MATRIXMultiple items on same scaleMatrix of responses
SEMANTIC_DIFFERENTIALBetween two oppositesPosition with explanation
CONJOINTTrade-off analysisPreference data
MAXDIFFBest/worst selectionSelection with reasoning

Retrieving Results

# Get focus group with results
response = requests.get(
    f"https://app.mavera.io/api/v1/focus-groups/{focus_group_id}",
    headers={"Authorization": "Bearer mvra_live_your_key_here"}
)

result = response.json()

# Access aggregated results
for question_result in result["results"]:
    print(f"Question: {question_result['question']}")
    print(f"Summary: {question_result['summary']}")

    if question_result["type"] == "NPS":
        print(f"NPS Score: {question_result['nps_score']}")
        print(f"Promoters: {question_result['promoters']}%")
        print(f"Detractors: {question_result['detractors']}%")

Response Format

{
  "id": "fg_abc123",
  "name": "Product Launch Feedback",
  "status": "COMPLETED",
  "sample_size": 50,
  "personas": [...],
  "questions": [...],
  "results": [
    {
      "question_id": "q1",
      "question": "How likely are you to recommend this product?",
      "type": "NPS",
      "nps_score": 42,
      "promoters": 55,
      "passives": 32,
      "detractors": 13,
      "summary": "Strong positive sentiment with Gen Z showing highest likelihood to recommend...",
      "responses": [
        {
          "persona_id": "gen_z_consumer_id",
          "persona_name": "Gen Z Consumer",
          "score": 9,
          "reasoning": "The product aligns with my values..."
        }
      ]
    }
  ],
  "usage": {
    "credits_used": 150
  }
}

Credit Costs

Sample SizeApproximate Cost
10-2550-75 credits
26-5075-125 credits
51-100125-200 credits
100+200+ credits
Cost also depends on the number and complexity of questions.

Best Practices

Combine quantitative (NPS, Likert) with qualitative (open-ended) for richer insights.
Include personas that represent your actual target audience segments.
5-10 well-crafted questions yield better results than 20+ rushed ones.
Great for validating messaging, concepts, and product features before market launch.

API Reference

See the full API specification