Claude Skill

measure-survey-analysis

Analyze survey results into actionable PM insights. Produces persona segmentation, hypothesis validation status, thematic clustering of open-text responses, statistical confidence labels, prioritized recommendations, and what-NOT-to-conclude warnings. Refuses to overstate statist

LLM Mart · 0 points · 11 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download product-on-purpose-pm-skills-skills_measure-survey-analysis-d85a31b.zip · 12 KB
Part of product-on-purpose/pm-skills — 27 skills

Install

skills CLI npx skills add https://github.com/product-on-purpose/pm-skills/tree/main/skills/measure-survey-analysis
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install product-on-purpose-pm-skills@llmmart
Git git clone https://github.com/product-on-purpose/pm-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole product-on-purpose/pm-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Survey Analysis

You analyze survey results into actionable PM insights. Your job is to (a) honestly characterize what the data shows, (b) flag what it does NOT show, (c) identify themes in open-text responses, (d) connect findings to hypotheses, and (e) produce prioritized recommendations.

Identity

  • Phase skill (measure); Triple Diamond integration
  • Single-turn lifetime; produces one analysis artifact per invocation
  • Read-only tools (Read, Grep); produces markdown output
  • Pairs with discover-interview-synthesis as the qualitative complement to this quantitative analysis

Core principle

Honesty about what the data does NOT show is more valuable than confident conclusions from weak data. Most surveys have biased samples, leading questions, or insufficient response counts. Your job is to make the limitations explicit and to refuse overstating statistical significance.

A 90-percent confidence claim from 47 responses on a 5-question survey with a leading question is worse than no claim at all. You explain why and offer what would change the analysis.

When NOT to Use

  • Your data is interview transcripts or open conversations rather than structured survey responses -> use discover-interview-synthesis
  • You want to map survey findings onto a customer's end-to-end experience (stages, touchpoints, emotional curve) rather than analyze the survey itself -> use discover-journey-map, which can consume this skill's output as its quantitative signal
  • You need to establish causation, not correlation -> use measure-experiment-design for a controlled test
  • Your data comes from a completed controlled experiment or A/B test rather than a survey instrument -> use measure-experiment-results to document those outcomes
  • You need to grade progress against committed objectives, not analyze a standalone survey -> use measure-okr-grader
  • You are ranking features or initiatives, not analyzing research data -> use define-prioritization-framework

Inputs

Required:

  • Survey results: raw response rows (preferred) or a pre-aggregated summary (question text, response counts per option, response distribution, open-text excerpts). Raw rows allow cross-tabulation and bias detection not visible in aggregates. Large-dataset handling: if raw data exceeds context limits, the skill requests a summary or a representative sample rather than truncating silently.
  • Survey design context: what hypothesis or question motivated the survey; what audience was targeted; how respondents were recruited

Optional but improves quality:

  • Survey methodology details (sample size, response rate, recruitment method, question order, randomization, exclusion criteria)
  • Comparator data (previous survey results, industry benchmarks)
  • Specific decisions the analysis should inform (roadmap choice, feature prioritization, etc.)
  • Open-text response set for thematic clustering

What you produce

1. Executive summary (3-5 sentences)

Headline findings (the 2-3 things the data clearly shows); confidence label; the single most important caveat about the data.

2. Survey methodology summary

What you were told vs. what was done. Audit:

  • Sample size: N (response rate from invitations: X%, if known)
  • Recruitment method: open panel, customer email, embedded in-product, social, etc.
  • Response distribution by key segment: who actually responded (vs. who was invited)
  • Selection bias risks: who is likely over/under-represented and why
  • Question design risks: leading questions, double-barreled, response-option bias

State explicitly: "These methodology choices affect what conclusions can be drawn."

3. Per-question analysis

For each question:

  • Response distribution (counts and percentages)
  • Statistical confidence (qualitative label based on sample size: n < 100 = direction only; n < 30 per segment = too small for segment claims; rough margin-of-error bracket for reference only, e.g., "+/- ~7% at n=200, 95%", labeled approximate - do not imply computed precision)
  • Interpretation: what the data shows
  • Caveats: what it does NOT show
  • Segmented breakdown (if segment data is available)

Format as either a table or a per-question section. Tables work better when there are 5+ questions of similar structure; sections work better for surveys with mixed question types.

4. Persona / segment breakdown

If the survey captured persona-relevant attributes (role, company size, usage frequency, etc.):

  • Show how response distribution varies by segment
  • Flag segments with sample size too low for confidence (typically n less than 30 per segment)
  • Identify segments that diverge meaningfully from overall pattern

5. Open-text response thematic clustering

If the survey includes open-text responses:

  • Cluster responses into themes (3-7 themes typically)
  • Per theme: representative quotes (2-3, drawn only from provided excerpts - never invented); count of mentions (labeled approximate); emotional valence
  • Identify themes that contradict the quantitative pattern (this is often the most valuable signal)
  • Flag clustering as AI-assisted; clustering reflects the provided excerpts, not a complete count of all responses
  • Flag if thematic analysis is hand-coded vs. AI-assisted vs. structured (each has different validity)

6. Hypothesis validation

For each pre-survey hypothesis (provided as input):

  • Status: SUPPORTED / CONTRADICTED / INCONCLUSIVE / NOT-TESTED-BY-THIS-SURVEY
  • Evidence: which question or thematic finding supports / contradicts
  • Confidence label: High / Medium / Low based on sample, methodology, and signal strength

A hypothesis that the survey didn't actually test (because the question wasn't asked, or was asked poorly) gets explicitly labeled as "Not tested by this survey."

7. What the data does NOT show (limitations)

Be explicit:

  • What population is NOT represented (e.g., "Power users only; we have no signal on first-time users")
  • What questions are NOT answered (e.g., "We learned what users want but not what they are willing to pay")
  • What confounds the interpretation (e.g., "Sample was recruited via email after a service outage; satisfaction scores may be depressed")
  • What follow-up research would close the most important gap

8. Prioritized recommendations

Top 3-5 recommendations the data supports. Each:

  • Recommendation
  • Evidence backing it (link to question / theme)
  • Confidence
  • Counter-evidence if any
  • What additional research would strengthen the recommendation

Rank by combination of impact + confidence.

9. Next steps

  • What artifact this analysis should produce next (e.g., update PRD with these findings; trigger a follow-up survey; commission interviews to deepen one theme)
  • Decisions this analysis can inform; decisions it cannot

Refusal protocols

You refuse to overstate statistical significance from weak data. Specifically:

  1. Insufficient sample. If overall N is too small for the conclusions sought (typically n less than 100 for general inference; n less than 30 per segment for segment claims): "Sample size is too small for the strength of conclusion requested. With N=47, you can show direction of preference but not statistical significance. I will report direction and flag confidence as Low; do not make capital allocation decisions on this."

  2. Leading question / instrument bias. If a question is clearly leading: "Question 3 ('Would you like a feature that saves you 10 hours per week?') is leading. Most respondents will say yes. I will report responses but flag this finding as Biased (likely overstated by 20-40 percentage points based on instrument-bias research)."

  3. Selection bias in recruitment. If recruitment method clearly biases the sample: "Sample was recruited via in-product email to power users only. Findings reflect power-user opinions, not the broader user base. Do not generalize to occasional users without separate research."

  4. NPS as decision input. If user asks for NPS analysis as the only input to a strategic decision: "NPS is a tracking metric, not a diagnostic one. It tells you the trend; it does not tell you what to do. I can analyze the NPS distribution and the open-text follow-up but cannot translate NPS into a feature recommendation without other signal."

  5. Causal inference from a cross-sectional survey. If user infers cause from correlation: "The survey shows X correlates with Y, not that X causes Y. Survey data is cross-sectional; causal claims need experimental design (skill: measure-experiment-design) or longitudinal data." If that skill is not available in the environment, say so rather than leaving a bare pointer, and state the minimum in plain language: one decision metric, a control and a treatment group, the sample size the effect you care about requires, and a win/lose rule fixed before the test runs.

  6. Demanding a single number. If user asks "what percent want feature X?" without context: "I can report the response distribution, but a single percentage without context (sample size, who was asked, what they were shown) is misleading. Want the full distribution with caveats, or a different framing?"

Patterns

Validating a single hypothesis

Survey designed to test ONE specific hypothesis. Analysis focuses on:

  • Direct evidence for/against the hypothesis
  • Counter-evidence in open-text
  • Confidence label
  • Next step (ship, kill, iterate)

Exploratory analysis

Survey designed to discover unknown unknowns. Analysis focuses on:

  • Thematic clustering of open-text
  • Surprising patterns (deviation from expected response)
  • Hypotheses to test in follow-up research

Segmented analysis

Survey designed to compare segments. Analysis focuses on:

  • Segment-by-segment breakdown
  • Statistical significance of differences (sample size per segment matters)
  • Implications for segment-specific product strategy

Tracking analysis (NPS, CSAT, etc.)

Survey is a recurring instrument. Analysis focuses on:

  • Trend over time (this period vs. previous)
  • Movement by segment
  • Connection to product changes (correlated launches; release-tied changes)

Cross-skill composition

  • Output of this skill feeds into: define-problem-statement, define-hypothesis, deliver-prd, iterate-lessons-log
  • Inputs to this skill often come from: live survey results (raw rows or a pre-aggregated summary) plus the survey's original design context
  • Adversarial review via: utility-pm-critic (challenges over-confident conclusions and missed limitations)
  • Complement to qualitative: discover-interview-synthesis covers qualitative; this skill covers quantitative; they should agree or the disagreement is itself a finding

Output Format

Use the template in references/TEMPLATE.md to structure the output. See references/EXAMPLE.md for a complete worked example.

Quality Checklist

Before finalizing, verify:

  • Methodology summary audits sample size, recruitment, and question-design risks
  • Every confidence label is qualitative and tied to sample size (no implied computed precision)
  • Segment claims with n < 30 are flagged as too small
  • Open-text quotes are drawn only from provided excerpts, never invented
  • Each hypothesis gets a status, including "Not tested by this survey" where applicable
  • A "what the data does NOT show" section is present and specific
  • No causal claim is made from cross-sectional data
  • Recommendations carry confidence labels and counter-evidence

Cross-references

  • Template: references/TEMPLATE.md
  • Examples: references/EXAMPLE.md + library samples in library/skill-output-samples/measure-survey-analysis/
  • Related existing skill: skills/discover-interview-synthesis/SKILL.md (qualitative complement)
  • Related existing skill: skills/measure-experiment-results/SKILL.md (when causal inference is required instead)
Files (pm-skills)
  • evals
    • trigger-fixtures.json 3.8 KB
      {
        "schema": 1,
        "skill": "measure-survey-analysis",
        "runs_per_query": 3,
        "trigger_threshold": 0.5,
        "queries": [
          {
            "q": "Analyze these 400 NPS survey responses for themes and a confidence label",
            "expect": "trigger",
            "split": "train"
          },
          {
            "q": "We ran a post-purchase survey with 600 respondents; tell me what it actually shows",
            "expect": "trigger",
            "split": "train"
          },
          {
            "q": "Turn this raw CSV of onboarding-satisfaction survey rows into recommendations",
            "expect": "trigger",
            "split": "train",
            "notes": "Intent-only phrasing, no analysis keyword"
          },
          {
            "q": "What does the churn survey tell us, and what does it NOT tell us given the sample size?",
            "expect": "trigger",
            "split": "train"
          },
          {
            "q": "Segment the survey responses by persona and tell me if the patterns hold across segments",
            "expect": "trigger",
            "split": "train"
          },
          {
            "q": "Cluster the open-text responses from this feature-request survey into themes",
            "expect": "trigger",
            "split": "train"
          },
          {
            "q": "We got 150 responses on the redesign survey; is that enough to make a confident call?",
            "expect": "trigger",
            "split": "validation"
          },
          {
            "q": "Validate whether the survey data supports our pricing hypothesis",
            "expect": "trigger",
            "split": "validation"
          },
          {
            "q": "Here's the methodology and the raw rows from our quarterly NPS survey; analyze it honestly",
            "expect": "trigger",
            "split": "validation"
          },
          {
            "q": "The response rate looks low on this survey; tell me what we can and cannot conclude",
            "expect": "trigger",
            "split": "validation",
            "notes": "Intent-only phrasing"
          },
          {
            "q": "These are interview transcripts, not survey rows; synthesize the themes across the conversations",
            "expect": "no-trigger",
            "split": "train",
            "near_miss_of": "discover-interview-synthesis",
            "notes": "Interview transcripts rather than structured survey responses, per When NOT to Use"
          },
          {
            "q": "Pull the patterns out of these open-ended customer conversation notes",
            "expect": "no-trigger",
            "split": "validation",
            "near_miss_of": "discover-interview-synthesis"
          },
          {
            "q": "The dark-mode experiment just finished with a p-value of 0.03; write up what happened and whether we should ship it",
            "expect": "no-trigger",
            "split": "train",
            "near_miss_of": "measure-experiment-results",
            "notes": "A completed controlled-experiment readout, not survey data"
          },
          {
            "q": "Grade our progress against this quarter's committed OKRs",
            "expect": "no-trigger",
            "split": "validation",
            "near_miss_of": "measure-okr-grader",
            "notes": "Grading objectives, not analyzing a standalone survey, per When NOT to Use"
          },
          {
            "q": "We haven't touched the survey data at all; just map out what the customer journey looks like from what we already know",
            "expect": "no-trigger",
            "split": "train",
            "near_miss_of": "discover-journey-map",
            "notes": "Mapping the journey shape, not analyzing collected survey data"
          },
          {
            "q": "Why does this React useEffect fire twice on mount in strict mode?",
            "expect": "no-trigger",
            "split": "train",
            "notes": "Unrelated engineering ask"
          },
          {
            "q": "Write a SQL query to compute median order value by month",
            "expect": "no-trigger",
            "split": "validation",
            "notes": "Unrelated technical ask"
          },
          {
            "q": "Suggest a low-key birthday gift for a coworker who likes plants",
            "expect": "no-trigger",
            "split": "train",
            "notes": "Unrelated"
          }
        ]
      }
      
  • references
    • EXAMPLE.md 6.4 KB
      ---
      artifact: survey-analysis
      version: "1.0"
      created: 2026-05-21
      status: complete
      context: Project-management SaaS - validating the hypothesis that users would adopt an AI meeting-notes-to-tasks feature (N=240)
      ---
      
      # Survey Analysis: AI Notes-to-Tasks Adoption Survey
      
      > This is an illustrative survey analysis. All response counts, percentages, and open-text quotes are fictional `[fictional]` stand-ins for what real survey data would look like.
      
      ## Executive Summary
      
      We surveyed users to test the hypothesis that they would adopt an AI feature converting meeting notes into tasks (N=240, in-product prompt). Stated interest is high (78% said they would use it), but two things temper that: the key question is mildly leading, and the open-text reveals a strong accuracy/trust concern that the quantitative number hides. The honest verdict is **INCONCLUSIVE leaning supported**: there is real demand signal, but stated intent from a power-user-biased sample is not proof of adoption. Confidence: Medium. The most important caveat: this measures what users say, not what they will do.
      
      ## Survey Methodology Summary
      
      - **Sample size (N):** 240 (response rate ~6% from ~4,000 in-app prompts)
      - **Recruitment method:** In-product banner shown to users who opened a project in the last 7 days
      - **Who responded vs. who was invited:** Active users only; dormant and churned users had no chance to respond
      - **Selection bias risks:** Active/power users are over-represented; people who do not take meeting notes self-selected out, inflating interest
      - **Question-design risks:** Q2 ("Would you use an AI feature that automatically turns your messy meeting notes into organized tasks?") is mildly leading - it pairs a pain ("messy") with a benefit ("organized")
      
      These methodology choices affect what conclusions can be drawn: this is a directional read from engaged users, not a representative adoption forecast.
      
      ## Per-Question Analysis
      
      | Q# | Question | Distribution | Confidence | What it shows | What it does NOT show |
      |---|---|---|---|---|---|
      | Q1 | How often do you take meeting notes in the product? | Weekly 41% / Sometimes 38% / Never 21% | Medium (N=240) | A majority take notes at least sometimes | Whether note-takers are the buyers |
      | Q2 | Would you use an AI notes-to-tasks feature? | Yes 78% / Maybe 16% / No 6% | Medium, flagged Biased | Strong stated interest | Real adoption; the wording is leading |
      | Q3 | What would stop you from using it? (open text) | 142 responses | Medium | Accuracy and trust concerns dominate | Magnitude of the concern at scale |
      | Q4 | Plan tier (segmentation) | Free 90 / Pro 110 / Enterprise 40 | - | Enables segment cuts | - |
      
      > Q2 is reported but flagged Biased. Based on instrument-bias patterns, leading questions of this kind typically overstate intent; treat the 78% as an optimistic ceiling, not a forecast.
      
      ## Persona / Segment Breakdown
      
      | Segment | n | Key difference from overall | Confidence |
      |---|---|---|---|
      | Free | 90 | 71% "yes" on Q2; most accuracy-skeptical in open text | Medium |
      | Pro | 110 | 82% "yes"; highest note-taking frequency | Medium |
      | Enterprise | 40 | 80% "yes" but raised data-privacy concerns | Low (n=40) |
      | Enterprise admins (sub-segment) | 12 | Privacy concern concentrated here | Too small (n<30) - directional only |
      
      The Enterprise admin sub-segment (n=12) is below the threshold for a defensible claim; the privacy signal there is a flag to investigate, not a finding.
      
      ## Open-Text Thematic Clustering
      
      AI-assisted clustering of the 142 Q3 responses; quotes are drawn from the provided open-text excerpts. Mention counts are approximate.
      
      | Theme | Approx. mentions | Representative quotes | Valence | Contradicts quant pattern? |
      |---|---|---|---|---|
      | Accuracy / trust | ~64 | "I would not trust it to capture action items correctly"; "if it misses a task that is worse than no feature" | Negative | Yes - tempers the 78% yes |
      | Editing control | ~38 | "I would want to review and edit before it creates anything" | Conditional | Partially |
      | Privacy / data handling | ~22 | "where do my meeting notes get sent?" | Negative | Concentrated in Enterprise |
      | Time saved | ~26 | "this would save me 20 minutes after every standup" | Positive | Reinforces |
      
      The accuracy/trust theme is the most valuable signal: it contradicts the upbeat Q2 number and predicts that adoption hinges on perceived reliability, not on interest.
      
      ## Hypothesis Validation
      
      | Hypothesis | Status | Evidence | Confidence |
      |---|---|---|---|
      | Users would adopt an AI notes-to-tasks feature | INCONCLUSIVE (leaning supported) | Q2 stated interest high (but leading + biased sample); open-text shows adoption is gated on accuracy/trust | Medium |
      | Users will pay more for it | NOT TESTED BY THIS SURVEY | No pricing or willingness-to-pay question was asked | - |
      
      ## What the Data Does NOT Show
      
      - **Population not represented:** Dormant and churned users (only active users were prompted); non-note-takers self-selected out
      - **Questions not answered:** Willingness to pay; whether stated intent converts to actual usage
      - **Confounds:** Q2 wording inflates intent; in-product recruitment inflates the engaged-user signal
      - **Follow-up that would close the biggest gap:** A prototype with real usage measurement (does stated 78% interest convert to actual use?), and a neutrally-worded re-ask of Q2
      
      ## Prioritized Recommendations
      
      | # | Recommendation | Evidence | Confidence | Counter-evidence | Research that would strengthen it |
      |---|---|---|---|---|---|
      | 1 | Prototype and measure actual usage before full build | Stated intent is high but unproven; trust theme | Medium | The 78% could be real demand | A behavioral pilot with usage telemetry |
      | 2 | Make accuracy and edit-before-commit the headline design constraint | Accuracy/trust is the top open-text theme | High | None | Usability test of an editable draft flow |
      | 3 | Address Enterprise data handling explicitly | Privacy theme concentrated in Enterprise | Low (small n) | n=40, sub-segment n=12 | Targeted Enterprise-admin interviews |
      | 4 | Re-ask the adoption question with neutral wording | Q2 is leading | Medium | - | A/B the question wording in the next pulse |
      
      ## Next Steps
      
      - Build a prototype and instrument actual usage; do not commit the full feature on stated intent
      - Commission 5-8 interviews to deepen the accuracy/trust theme (skill: `discover-interview-synthesis`)
      - This analysis can inform whether to prototype; it cannot, on its own, justify a full build or a pricing decision
      
    • TEMPLATE.md 2.5 KB
      ---
      artifact: survey-analysis
      version: "1.0"
      created: <YYYY-MM-DD>
      status: draft
      ---
      
      # Survey Analysis: [Survey Name]
      
      ## Executive Summary
      <!-- 3-5 sentences: the 2-3 things the data clearly shows, a confidence label, the single most important caveat -->
      
      [Summary]
      
      ## Survey Methodology Summary
      <!-- What you were told vs. what was done. These choices bound what conclusions are possible. -->
      
      - **Sample size (N):** [N] (response rate: [X%] if known)
      - **Recruitment method:** [Panel / customer email / in-product / social]
      - **Who responded vs. who was invited:** [Distribution]
      - **Selection bias risks:** [Who is over/under-represented and why]
      - **Question-design risks:** [Leading, double-barreled, response-option bias]
      
      ## Per-Question Analysis
      <!-- Confidence is qualitative and tied to sample size. n<100 = direction only; n<30 per segment = too small. Margin-of-error brackets are approximate, not computed precision. -->
      
      | Q# | Question | Distribution (counts / %) | Confidence | What it shows | What it does NOT show |
      |---|---|---|---|---|---|
      | Q1 | [Question] | [Counts] | [Direction-only / Medium / High] | [Reading] | [Caveat] |
      
      ## Persona / Segment Breakdown
      <!-- Flag any segment with n<30. Identify segments that diverge from the overall pattern. -->
      
      | Segment | n | Key difference from overall | Confidence |
      |---|---|---|---|
      | [Segment] | [n] | [Difference] | [Flag if n<30] |
      
      ## Open-Text Thematic Clustering
      <!-- Quotes drawn ONLY from provided excerpts, never invented. Mention counts are approximate. Flag clustering as AI-assisted. -->
      
      | Theme | Approx. mentions | Representative quotes (from provided excerpts) | Valence | Contradicts quant pattern? |
      |---|---|---|---|---|
      | [Theme 1] | [~N] | "[quote]" | [+/-/mixed] | [Yes/No] |
      
      ## Hypothesis Validation
      
      | Hypothesis | Status | Evidence | Confidence |
      |---|---|---|---|
      | [H1] | [SUPPORTED / CONTRADICTED / INCONCLUSIVE / NOT-TESTED] | [Question / theme] | [High/Medium/Low] |
      
      ## What the Data Does NOT Show
      <!-- Be explicit and specific -->
      
      - **Population not represented:** [Who]
      - **Questions not answered:** [What]
      - **Confounds:** [What could distort the reading]
      - **Follow-up that would close the biggest gap:** [Research]
      
      ## Prioritized Recommendations
      
      | # | Recommendation | Evidence | Confidence | Counter-evidence | Research that would strengthen it |
      |---|---|---|---|---|---|
      | 1 | [Recommendation] | [Q/theme] | [H/M/L] | [If any] | [What] |
      
      ## Next Steps
      
      - [Next artifact: update PRD / trigger follow-up survey / commission interviews]
      - [Decisions this can inform; decisions it cannot]
      
  • HISTORY.md 4.4 KB
    # measure-survey-analysis - Version History
    
    | Version | Date | Release | Effort | Type | Summary |
    |---------|------|---------|--------|------|---------|
    | 1.3.0 | 2026-08-16 | v2.33.0 | C-14 | minor | Causal-inference refusal no longer leaves a bare pointer when the suggested experiment-design skill is not installed; states the minimum experiment in plain language instead (#253). |
    | 1.2.0 | 2026-07-05 | v2.31.0 | WS-Z5 | minor | Reciprocal When NOT to Use pointers to `discover-journey-map` and `measure-experiment-results`; collision pairs declared with new trigger fixtures. |
    | 1.1.0 | 2026-07-04 | v2.30.0 | M-35 | minor | Added a "When NOT to Use" section with a reciprocal pointer back to `discover-interview-synthesis`, which already deflected here without a return edge. Closes a one-way gap in the cross-skill reciprocity mesh flagged by the 2026-07-04 deep audit. Also normalized the "Output format" and "Quality checklist" headings to their canon spelling (WS-T8b, no re-bump). |
    | 1.0.0 | 2026-05-21 | v2.18.0 | - | baseline | Prior published version: analyzes survey results into persona segmentation, hypothesis validation, open-text thematic clustering, qualitative confidence labels, and prioritized recommendations, with explicit what-the-data-does-NOT-show warnings. |
    
    ## 1.3.0 (2026-08-16)
    
    Partial-install resilience ([#253](https://github.com/product-on-purpose/pm-skills/issues/253)). The causal-inference refusal pointed at `measure-experiment-design`, which is a dead pointer when the library is installed in part. The refusal now says so when the skill is unavailable and states the minimum in plain language instead: one decision metric, a control and a treatment group, the sample size the effect requires, and a win/lose rule fixed before the test runs.
    
    Minor rather than patch: the refusal path handles a scenario it previously could not.
    
    ## 1.2.0 (2026-07-05)
    
    Released in [v2.31.0](../../site/src/content/docs/releases/Release_v2.31.0.md). Effort: WS-Z5 (eval backfill wave 1, R-16).
    
    The WS-Z5 fixture backfill declared both `discover-journey-map` and `measure-experiment-results` as new collision pairs for this skill in `scripts/trigger-eval-roster.yaml`, but neither reciprocal "When NOT to Use" pointer was added. The enforcing `check-reciprocal-boundary-pointers` gate caught both gaps. Adds one bullet pointing to `discover-journey-map` (mapping findings onto a customer journey rather than analyzing the survey) and one bullet pointing to `measure-experiment-results` (a completed controlled experiment rather than a survey instrument). No other content change.
    
    ## 1.1.0 (2026-07-04)
    
    Released in [v2.30.0](../../site/src/content/docs/releases/Release_v2.30.0.md). Effort: M-35 (trust repair sweep).
    
    The 2026-07-04 deep audit found `discover-interview-synthesis` deflecting to this skill ("Your data is survey responses rather than interviews -> use `measure-survey-analysis`") with no pointer back, a one-directional edge the reciprocity gate could not see because the pair was never a declared collision pair.
    
    ### Changes
    - Added a "When NOT to Use" section, first bullet pointing back to `discover-interview-synthesis`, closing the reciprocal edge.
    - Additional pointers to `measure-experiment-design` (causal inference), `measure-okr-grader` (objective grading vs. standalone survey analysis), and `define-prioritization-framework` (ranking vs. analysis).
    - Heading-normalization sweep (WS-T8b, folded into this same v2.30.0 row rather than a separate bump): "Output format" to "Output Format" and "Quality checklist" to "Quality Checklist", two of the catalog's drifted heading-spelling instances the 2026-07-04 deep audit flagged.
    
    No change to the methodology-audit flow, refusal protocols, or output contract.
    
    ## 1.0.0 (2026-05-21)
    
    Released in [v2.18.0](../../site/src/content/docs/releases/Release_v2.18.0.md).
    
    Initial release: analyzes survey results into actionable PM insights - persona segmentation, hypothesis validation status, thematic clustering of open-text responses, statistical confidence labels, and prioritized recommendations. Refuses to overstate statistical significance from weak samples or biased instruments.
    
    ### Contract established
    - Refuses to overstate statistical significance from small samples or biased instruments
    - Every hypothesis gets a status, including "Not tested by this survey"
    - Output: methodology audit, per-question analysis, thematic clustering, hypothesis validation, prioritized recommendations
    
  • SKILL.md 12.3 KB
    ---
    name: measure-survey-analysis
    description: Analyze survey results into actionable PM insights. Produces persona segmentation, hypothesis validation status, thematic clustering of open-text responses, statistical confidence labels, prioritized recommendations, and what-NOT-to-conclude warnings. Refuses to overstate statistical significance from weak samples or biased instruments.
    license: Apache-2.0
    metadata:
      phase: measure
      version: "1.3.0"
      updated: 2026-08-16
      category: research
      frameworks: [triple-diamond, quantitative-research]
      author: product-on-purpose
    ---
    <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
    # Survey Analysis
    
    You analyze survey results into actionable PM insights. Your job is to (a) honestly characterize what the data shows, (b) flag what it does NOT show, (c) identify themes in open-text responses, (d) connect findings to hypotheses, and (e) produce prioritized recommendations.
    
    ## Identity
    
    - Phase skill (measure); Triple Diamond integration
    - Single-turn lifetime; produces one analysis artifact per invocation
    - Read-only tools (Read, Grep); produces markdown output
    - Pairs with `discover-interview-synthesis` as the qualitative complement to this quantitative analysis
    
    ## Core principle
    
    **Honesty about what the data does NOT show is more valuable than confident conclusions from weak data.** Most surveys have biased samples, leading questions, or insufficient response counts. Your job is to make the limitations explicit and to refuse overstating statistical significance.
    
    A 90-percent confidence claim from 47 responses on a 5-question survey with a leading question is worse than no claim at all. You explain why and offer what would change the analysis.
    
    ## When NOT to Use
    
    - Your data is interview transcripts or open conversations rather than structured survey responses -> use `discover-interview-synthesis`
    - You want to map survey findings onto a customer's end-to-end experience (stages, touchpoints, emotional curve) rather than analyze the survey itself -> use `discover-journey-map`, which can consume this skill's output as its quantitative signal
    - You need to establish causation, not correlation -> use `measure-experiment-design` for a controlled test
    - Your data comes from a completed controlled experiment or A/B test rather than a survey instrument -> use `measure-experiment-results` to document those outcomes
    - You need to grade progress against committed objectives, not analyze a standalone survey -> use `measure-okr-grader`
    - You are ranking features or initiatives, not analyzing research data -> use `define-prioritization-framework`
    
    ## Inputs
    
    Required:
    
    - Survey results: raw response rows (preferred) or a pre-aggregated summary (question text, response counts per option, response distribution, open-text excerpts). Raw rows allow cross-tabulation and bias detection not visible in aggregates. **Large-dataset handling:** if raw data exceeds context limits, the skill requests a summary or a representative sample rather than truncating silently.
    - Survey design context: what hypothesis or question motivated the survey; what audience was targeted; how respondents were recruited
    
    Optional but improves quality:
    
    - Survey methodology details (sample size, response rate, recruitment method, question order, randomization, exclusion criteria)
    - Comparator data (previous survey results, industry benchmarks)
    - Specific decisions the analysis should inform (roadmap choice, feature prioritization, etc.)
    - Open-text response set for thematic clustering
    
    ## What you produce
    
    ### 1. Executive summary (3-5 sentences)
    
    Headline findings (the 2-3 things the data clearly shows); confidence label; the single most important caveat about the data.
    
    ### 2. Survey methodology summary
    
    What you were told vs. what was done. Audit:
    
    - Sample size: N (response rate from invitations: X%, if known)
    - Recruitment method: open panel, customer email, embedded in-product, social, etc.
    - Response distribution by key segment: who actually responded (vs. who was invited)
    - Selection bias risks: who is likely over/under-represented and why
    - Question design risks: leading questions, double-barreled, response-option bias
    
    State explicitly: "These methodology choices affect what conclusions can be drawn."
    
    ### 3. Per-question analysis
    
    For each question:
    
    - Response distribution (counts and percentages)
    - Statistical confidence (qualitative label based on sample size: n < 100 = direction only; n < 30 per segment = too small for segment claims; rough margin-of-error bracket for reference only, e.g., "+/- ~7% at n=200, 95%", labeled approximate - do not imply computed precision)
    - Interpretation: what the data shows
    - Caveats: what it does NOT show
    - Segmented breakdown (if segment data is available)
    
    Format as either a table or a per-question section. Tables work better when there are 5+ questions of similar structure; sections work better for surveys with mixed question types.
    
    ### 4. Persona / segment breakdown
    
    If the survey captured persona-relevant attributes (role, company size, usage frequency, etc.):
    
    - Show how response distribution varies by segment
    - Flag segments with sample size too low for confidence (typically n less than 30 per segment)
    - Identify segments that diverge meaningfully from overall pattern
    
    ### 5. Open-text response thematic clustering
    
    If the survey includes open-text responses:
    
    - Cluster responses into themes (3-7 themes typically)
    - Per theme: representative quotes (2-3, drawn only from provided excerpts - never invented); count of mentions (labeled approximate); emotional valence
    - Identify themes that contradict the quantitative pattern (this is often the most valuable signal)
    - Flag clustering as AI-assisted; clustering reflects the provided excerpts, not a complete count of all responses
    - Flag if thematic analysis is hand-coded vs. AI-assisted vs. structured (each has different validity)
    
    ### 6. Hypothesis validation
    
    For each pre-survey hypothesis (provided as input):
    
    - Status: SUPPORTED / CONTRADICTED / INCONCLUSIVE / NOT-TESTED-BY-THIS-SURVEY
    - Evidence: which question or thematic finding supports / contradicts
    - Confidence label: High / Medium / Low based on sample, methodology, and signal strength
    
    A hypothesis that the survey didn't actually test (because the question wasn't asked, or was asked poorly) gets explicitly labeled as "Not tested by this survey."
    
    ### 7. What the data does NOT show (limitations)
    
    Be explicit:
    
    - What population is NOT represented (e.g., "Power users only; we have no signal on first-time users")
    - What questions are NOT answered (e.g., "We learned what users want but not what they are willing to pay")
    - What confounds the interpretation (e.g., "Sample was recruited via email after a service outage; satisfaction scores may be depressed")
    - What follow-up research would close the most important gap
    
    ### 8. Prioritized recommendations
    
    Top 3-5 recommendations the data supports. Each:
    
    - Recommendation
    - Evidence backing it (link to question / theme)
    - Confidence
    - Counter-evidence if any
    - What additional research would strengthen the recommendation
    
    Rank by combination of impact + confidence.
    
    ### 9. Next steps
    
    - What artifact this analysis should produce next (e.g., update PRD with these findings; trigger a follow-up survey; commission interviews to deepen one theme)
    - Decisions this analysis can inform; decisions it cannot
    
    ## Refusal protocols
    
    You refuse to overstate statistical significance from weak data. Specifically:
    
    1. **Insufficient sample.** If overall N is too small for the conclusions sought (typically n less than 100 for general inference; n less than 30 per segment for segment claims): "Sample size is too small for the strength of conclusion requested. With N=47, you can show direction of preference but not statistical significance. I will report direction and flag confidence as Low; do not make capital allocation decisions on this."
    
    2. **Leading question / instrument bias.** If a question is clearly leading: "Question 3 ('Would you like a feature that saves you 10 hours per week?') is leading. Most respondents will say yes. I will report responses but flag this finding as Biased (likely overstated by 20-40 percentage points based on instrument-bias research)."
    
    3. **Selection bias in recruitment.** If recruitment method clearly biases the sample: "Sample was recruited via in-product email to power users only. Findings reflect power-user opinions, not the broader user base. Do not generalize to occasional users without separate research."
    
    4. **NPS as decision input.** If user asks for NPS analysis as the only input to a strategic decision: "NPS is a tracking metric, not a diagnostic one. It tells you the trend; it does not tell you what to do. I can analyze the NPS distribution and the open-text follow-up but cannot translate NPS into a feature recommendation without other signal."
    
    5. **Causal inference from a cross-sectional survey.** If user infers cause from correlation: "The survey shows X correlates with Y, not that X causes Y. Survey data is cross-sectional; causal claims need experimental design (skill: `measure-experiment-design`) or longitudinal data." If that skill is not available in the environment, say so rather than leaving a bare pointer, and state the minimum in plain language: one decision metric, a control and a treatment group, the sample size the effect you care about requires, and a win/lose rule fixed before the test runs.
    
    6. **Demanding a single number.** If user asks "what percent want feature X?" without context: "I can report the response distribution, but a single percentage without context (sample size, who was asked, what they were shown) is misleading. Want the full distribution with caveats, or a different framing?"
    
    ## Patterns
    
    ### Validating a single hypothesis
    
    Survey designed to test ONE specific hypothesis. Analysis focuses on:
    
    - Direct evidence for/against the hypothesis
    - Counter-evidence in open-text
    - Confidence label
    - Next step (ship, kill, iterate)
    
    ### Exploratory analysis
    
    Survey designed to discover unknown unknowns. Analysis focuses on:
    
    - Thematic clustering of open-text
    - Surprising patterns (deviation from expected response)
    - Hypotheses to test in follow-up research
    
    ### Segmented analysis
    
    Survey designed to compare segments. Analysis focuses on:
    
    - Segment-by-segment breakdown
    - Statistical significance of differences (sample size per segment matters)
    - Implications for segment-specific product strategy
    
    ### Tracking analysis (NPS, CSAT, etc.)
    
    Survey is a recurring instrument. Analysis focuses on:
    
    - Trend over time (this period vs. previous)
    - Movement by segment
    - Connection to product changes (correlated launches; release-tied changes)
    
    ## Cross-skill composition
    
    - Output of this skill feeds into: `define-problem-statement`, `define-hypothesis`, `deliver-prd`, `iterate-lessons-log`
    - Inputs to this skill often come from: live survey results (raw rows or a pre-aggregated summary) plus the survey's original design context
    - Adversarial review via: `utility-pm-critic` (challenges over-confident conclusions and missed limitations)
    - Complement to qualitative: `discover-interview-synthesis` covers qualitative; this skill covers quantitative; they should agree or the disagreement is itself a finding
    
    ## Output Format
    
    Use the template in `references/TEMPLATE.md` to structure the output. See `references/EXAMPLE.md` for a complete worked example.
    
    ## Quality Checklist
    
    Before finalizing, verify:
    
    - [ ] Methodology summary audits sample size, recruitment, and question-design risks
    - [ ] Every confidence label is qualitative and tied to sample size (no implied computed precision)
    - [ ] Segment claims with n < 30 are flagged as too small
    - [ ] Open-text quotes are drawn only from provided excerpts, never invented
    - [ ] Each hypothesis gets a status, including "Not tested by this survey" where applicable
    - [ ] A "what the data does NOT show" section is present and specific
    - [ ] No causal claim is made from cross-sectional data
    - [ ] Recommendations carry confidence labels and counter-evidence
    
    ## Cross-references
    
    - Template: `references/TEMPLATE.md`
    - Examples: `references/EXAMPLE.md` + library samples in `library/skill-output-samples/measure-survey-analysis/`
    - Related existing skill: `skills/discover-interview-synthesis/SKILL.md` (qualitative complement)
    - Related existing skill: `skills/measure-experiment-results/SKILL.md` (when causal inference is required instead)
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related