analytics-question-framing
Skill2 starsChanged 36 days agoMITView on GitHub
Turns a vague business problem into a short list of prioritized, answerable analytics questions, each tied to the decision it informs, a testable hypothesis, and the exact data needed. Use this skill before any analysis starts: when a user says things like "why is X happening", "we need to look into Y", "help me scope this analysis", "what should we analyze", "frame this question", or shares a business problem, KPI concern, or stakeholder request without a clear analytical question. Stage 1 of the Product Analytics pack.
In this repository21 other files it gives its agents.
- clinical-ai-evaluation-designSkill
- cohort-retentionSkill
- design-systemSkill
- engineering-plannerSkill
- experiment-designSkill
- frontend-setupSkill
- gxp-part11-checkerSkill
- implementation-specsSkill
- insight-storytellerSkill
- market-researchSkill
- metric-root-causeSkill
- opportunity-finderSkill
- opportunity-sizingSkill
- prd-evaluatorSkill
- prd-writerSkill
- product-strategy-canvasSkill
- security-foundationSkill
- strategy-sprintSkill
- trial-eligibility-matcherSkill
- trial-failure-investigatorSkill
- user-researchSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Read what the user gave you and extract:
- Distinctive: line 29
If two or more of these are missing and you can't reasonably infer them, ask in one short batch of questions.
- Distinctive: line 33
Write 6–10 candidate questions.
- Distinctive: line 51
Keep the top 3–5. Put the rest in a "parked" list with one line on why.
- Very specific: line 64
Write question-brief.md (or show it in chat if the user prefers):
- Very specific: line 89
Ask: *"Does this brief match the decision you're trying to make?
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Product Analytics pack · Stage 1.
analytics-question-framing→metric-root-cause/cohort-retention→opportunity-sizing→experiment-design→insight-storyteller
Analytics Question Framing
Most analyses go wrong before the first query: the question is too broad, nobody agreed what decision it serves, or the data can't answer it. Your job is to fix that up front, in a few minutes, so the analysis that follows is fast and useful.
Step 1 — Understand the ask
Read what the user gave you and extract:
- The trigger: what happened or what someone noticed (e.g. "activation dropped", "the VP asked about churn").
- The decision: what someone will do differently depending on the answer. If no decision is stated, ask: "What would you do differently if the answer were A versus B?" An analysis with no decision attached is a report, not an analysis. Say so politely.
- The audience: who will read the result and how much time they have.
- The deadline and the effort it deserves.
- The data available: tables, tools, event tracking, known gaps.
If two or more of these are missing and you can't reasonably infer them, ask in one short batch of questions. Otherwise state your assumptions and continue.
Step 2 — Generate candidate questions
Write 6–10 candidate questions. Make each one:
- Specific: names a metric, a population, and a time window. "Why is engagement down?" becomes "Which user segments drove the drop in weekly active users from August to September?"
- Answerable with the available data (or flag what's missing).
- Neutral: it doesn't assume the answer.
Cover different angles: what changed (descriptive), where and who (segmentation), why (drivers), how much it matters (sizing), and what to do (intervention).
Step 3 — Prioritize
Score each question 1–3 on:
| Criterion | Question to ask |
| Decision impact | Does the answer change the decision? |
| Answerability | Can we answer it with the data we have, at the needed confidence? |
| Effort | How long will it take? (3 = quick) |
Keep the top 3–5. Put the rest in a "parked" list with one line on why.
Step 4 — Attach hypotheses and data needs
For each kept question, write:
- Hypotheses: 2–3 plausible explanations, including at least one "boring" one (data or tracking issue, seasonality, a release, a mix shift in who the users are).
- What would confirm or reject each: the specific pattern you'd expect to see.
- Data needed: tables or events, fields, grain, time window, and any known quality risks.
- Method: the simplest method that answers it (a cut by segment, a funnel, a cohort table, a before/after with a control).
Output: question brief
Write question-brief.md (or show it in chat if the user prefers):
# Question brief: <topic>
**Decision this informs:** <one sentence>
**Audience:** <who> · **Needed by:** <date> · **Effort:** <hours/days>
## Priority questions
### Q1. <specific question>
- Why it matters: <link to the decision>
- Hypotheses: H1 <…> (confirm if …) · H2 <…> · H3 data/tracking issue (confirm if …)
- Data: <tables/events, fields, window>
- Method: <approach>
### Q2. …
## Parked questions
- <question>: <why parked>
## Risks and open items
- <data gaps, definitions to agree, people to check with>When done
Ask: "Does this brief match the decision you're trying to make? Once you're happy, I can start on Q1." Suggest the next skill: metric-root-cause for "why did a number move", cohort-retention for retention and lifecycle questions, opportunity-sizing for "how much is this worth".
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

