中级Alireza Rezvani

市场调研

Market Research 帮你在进入新品类或新国家前进行市场规模测算,区分整体市场、能够服务的市场和阶段内可能获得的市场。提供行业数据、目标客户数量及消费假设后,可对照两种测算方法、规划问卷样本并评估细分人群,让拓展决策有清楚的计算依据。

浏览量
0
复制次数
0
收藏
0
编辑评分
81/100
01

这个 Skill 是做什么的

这项 Skill 将三个调研任务串起来:估算市场规模、确定问卷需要多少份有效样本,以及判断哪些细分人群有足够需求并且能够触达。随包 Python 工具负责按输入计算,调研简报则记录问题、数据来源和假设。

电商团队可以用它比较新客群或新地区,再决定是否投入库存与营销资源。行业总规模只是起点,还需要缩小到店铺能够服务、并有条件争取的那部分客户。

02

它有什么特色

01

对照两条路径的市场规模估算

自上而下的方法从整体市场逐步缩小,自下而上的方法从客户数量和消费金额累加。两者并排展示,有助于发现渗透率、购买频次或人数假设的差异,再决定商业计划采用什么口径。

02

为每个需报告人群安排样本

问卷规划同时考虑置信水平、可接受误差和各细分人群的最低样本需求。整体样本数足够,并不代表每个国家或客群都足够比较;工具会帮助团队把这些要求拆开安排。

03

同时检查市场吸引力和触达条件

细分人群评估不仅看需求规模,还检查是否可衡量、可触达、与其他人群有区别,以及是否能够采取行动。看起来有吸引力的人群,如果规模太小或没有实际触达方式,也不应直接进入投放计划。

04

把计算结果与假设放在同一份简报里

把计算结果和假设表一起放进简报。团队修改行业数据或客户假设时,可以追溯市场范围为什么变化,减少只传播一个总金额、却没人知道怎么算出来的情况。

03

安装前的特殊要求

能读取文件、执行 Python 的 Agent

使用具备本地文件和终端权限的 Claude Code、Codex 或 OpenClaw,并准备 Git 与 Python 3。已检查的脚本只导入标准库;核心计算无需 pip 依赖、API Key 或店铺连接。

完整 Skill 目录

保留同一目录下的 SKILL.md、scripts/、references/ 和 assets/。只把指令贴进聊天框,会缺少指令调用的工具。如果已经安装 market-research,替换前先备份本地修改。

来源清晰、口径一致的输入

参照脚本内的 SAMPLE 对象准备 market.json、survey.json 或 segments.json。写明地区、年份、币种、客户数、年度支出及每项假设的证据。随包示例是假设的 B2B SaaS 数据。

04

安装与开始使用

将指令复制给 Codex 或 Claude Code,让助手从原始仓库下载固定提交,安装完整文件并检查所需依赖。

  1. 打开能访问本机文件和终端的 Codex 或 Claude Code。
  2. 复制下方指令发给正在使用的应用,由助手选择该应用的安装目录。
  3. 查看返回的安装路径和文件检查结果;需要时新建会话,再要求助手使用已安装的 Skill。
请在我当前使用的应用中安装 market-research,直接执行文件安装,不要只解释步骤。 原始仓库:https://github.com/alirezarezvani/claude-skills.git 固定提交:6d2f02ea077eead1bee5411a31bcc6db5a11a70c Skill 路径:research-ops/skills/market-research 1. 将这个版本下载到新目录。执行随包脚本前,先阅读 SKILL.md 和安装参考文件,不替换成其他作者的包。 2. Codex 安装到 ~/.agents/skills/market-research,Claude Code 安装到 ~/.claude/skills/market-research,只安装到我正在使用的应用。安装完整 Skill 文件夹,保留 scripts、references、assets 和随包声明;将仓库根目录许可证一并保留。先检查所有目标目录;已有安装时,说明差异后再决定是否替换。 3. 比较来源和安装目录的文件清单、文件哈希,检查文档要求的运行时、依赖及外部连接。只配置此 Skill 所需的本地依赖,适用时使用隔离环境;账号登录由我在本地完成,不把凭据贴进聊天。 4. 返回来源提交、实际安装路径、文件检查结果及尚未完成的运行环境配置,说明如何调用 market-research。文件复制与应用发现分别检查,需要时新建会话。不要执行生产任务,也不要把安装完成说成已确认业务效果。
05

原始 Skill.md

下方保留完整英文 SKILL.md 原文。这只是 11 个文件组成的 Skill 包中的一个文件,复制正文不会安装脚本、参考资料或模板。中文说明和启动提示词由 EcomAgentTools 根据源码编写。

---
name: market-research
description: Use when doing upstream market-research methodology — sizing a market as TAM/SAM/SOM computed BOTH top-down and bottoms-up (never a single unsourced number), planning a survey sample size with finite-population correction and per-segment minimums, or scoring candidate market segments against Kotler's measurable/substantial/accessible/differentiable/actionable criteria. Outputs always show the method and the assumptions. For market-research analysts and product-marketing at the sizing/survey/segmentation moment. Distinct from marketing-skill (campaign analytics, attribution, demand-gen) — this is the evidence-building methodology, not live-campaign optimization.
license: MIT
metadata:
  version: 2.9.0
  author: claude-code-skills
  tags: [research-ops, market-research, tam-sam-som, market-sizing, survey, sampling, segmentation, competitive-intelligence]
  compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
---

# market-research

Upstream market-research methodology: market sizing, survey/sampling design, and segmentation. The discipline here is **method + assumptions**: a TAM is never a single number, a survey is never powered only in aggregate, and a segment is never a demographic slice.

## Purpose

Market-research analysts, product marketers, and strategy teams need rigorous evidence *before* anyone optimizes a campaign or sets a strategy. This skill structures three methodology decisions:

Three deterministic tools:

1. `market_sizer.py` — Computes TAM/SAM/SOM by **both** top-down and bottoms-up methods side-by-side, reports the divergence, and flags failed triangulation. Never returns a single number.
2. `sample_size_planner.py` — Survey sample size from confidence, margin of error, and expected proportion, with the finite-population correction and **per-segment minimums** (a survey powered overall is not powered per reported segment).
3. `segmentation_scorer.py` — Scores candidate segments against Kotler's five criteria and enforces a substantiality + accessibility gate; a slice that is too small or unreachable is dropped.

## When to use

Invoke this skill when:

- A board or exec asks "how big is this market?" and you need a defensible, triangulated answer.
- You are fielding a survey and need a sample size that holds up per segment, not just overall.
- You have a list of candidate segments and need to know which are real markets vs demographic slices.
- You are synthesizing competitive intelligence and need a methodological backbone.

**Do NOT use this skill to**: measure a live campaign (attribution, ROAS, CPA → `marketing-skill/campaign-analytics`), build demand-gen / paid-media plans (`marketing-skill/marketing-demand-acquisition`), set positioning / GTM strategy (`marketing-skill/marketing-strategy-pmm`), or set pricing (`commercial/pricing-strategist`).

## Workflow

1. **Write the brief** — Fill `assets/market_research_brief_template.md` (objective, the decision this informs, sizing approach, sampling plan, assumptions register).
2. **Size the market** — Run `market_sizer.py --input market.json --method both --profile {b2b-saas|consumer|enterprise|marketplace|hardware|services}`. Reconcile the top-down/bottoms-up delta before quoting anything.
3. **Plan the survey** — Run `sample_size_planner.py --input survey.json`. Fund the per-segment floors, not just the overall n.
4. **Score the segments** — Run `segmentation_scorer.py --input segments.json --profile <same>`. Drop segments failing the substantiality/accessibility gate.
5. **Assemble the evidence pack** — Combine into a brief. Every number carries its method + assumptions + confidence.

## Scripts

| Script | Purpose | Profiles |
|---|---|---|
| `scripts/market_sizer.py` | TAM/SAM/SOM top-down AND bottoms-up + triangulation flag | b2b-saas, consumer, enterprise, marketplace, hardware, services |
| `scripts/sample_size_planner.py` | Survey n + FPC + per-segment minima | n/a (parameter-driven) |
| `scripts/segmentation_scorer.py` | Kotler 5-criteria scoring + gate | b2b-saas, consumer, enterprise, marketplace, hardware, services |

All three: stdlib-only, `--help`, `--sample`, `--output {human,json}`.

## Onboarding & customization

Run the onboarding questionnaire **once before you start** — it captures your defaults so every tool in this skill is pre-configured. Customization is the point: the answers actually change tool behavior.

```bash
python3 scripts/onboard.py            # interactive (also: --defaults, --set key=value, --reset)
python3 scripts/onboard.py --show     # see the questions + current effective config
```

Answers are saved to `~/.config/research-ops/market-research.json` (global) or `./.research-ops/market-research.json` (`--scope project`) and are read automatically by `config_loader.py`. They set the default market **profile**, the default survey **confidence** and **margin of error**, and the default **sizing method**. CLI flags always override saved config; `RESEARCH_OPS_NO_CONFIG=1` ignores it.

**The four questions:** market profile · survey confidence · margin of error · sizing method.

## Optimize with autoresearch (opt-in)

This skill ships an **isolated, opt-in** bridge to `engineering/autoresearch-agent`. Only when you ask to "optimize" / "reconcile the sizing" / "run a loop" does an autoresearch experiment iteratively reconcile your market model so top-down and bottoms-up triangulate. `scripts/ar_evaluator.py` is the ground-truth evaluator; it prints `tam_divergence: <fraction>` (**lower** is better).

```bash
/ar:setup --domain custom --name tam-triangulation \
  --target market.json \
  --eval "python3 ar_evaluator.py --target market.json" \
  --metric tam_divergence --direction lower
/ar:loop custom/tam-triangulation
```

Isolated: no hard dependency — autoresearch runs only on demand, and the loop edits `market.json`, never the evaluator.

## References

- `references/market_sizing_canon.md` — TAM/SAM/SOM frameworks (Bessemer, a16z); top-down vs bottoms-up; Fermi estimation; market-model conventions; common sizing fallacies.
- `references/survey_methodology.md` — Cochran *Sampling Techniques*; Dillman *Tailored Design Method*; Groves *Survey Methodology*; question-wording bias (Schuman & Presser); AAPOR standards.
- `references/segmentation_and_ci.md` — Kotler segmentation criteria; needs-based vs firmographic; Porter Five Forces; SCIP ethics; Christensen JTBD; conjoint/MaxDiff primer.

## Assumptions

- The sizer reports both methods but cannot validate your inputs — a top-down "1% of a $40B market" is only as good as the cited source and the serviceable fraction.
- Sample-size uses the conservative p=0.5 (maximum variance) unless you supply an expected proportion.
- Segment scores are inputs you provide; the tool enforces the gates and the weighting, it does not gather the underlying evidence.
- Competitive intelligence must follow the SCIP code of ethics — no misrepresentation, no protected information.

## Anti-patterns

- **A single TAM number with no method.** Always triangulate top-down against bottoms-up.
- **Spurious precision.** Size to the decision's tolerance; "$3.7142B" implies a confidence you do not have.
- **Powering only the total.** Each reported segment needs its own sample floor.
- **Leading or double-barreled survey questions.** Pre-test wording against the bias literature.
- **Calling a demographic slice a segment.** It must be substantial AND accessible.

## Distinct from

| Neighbor | Scope | Difference |
|---|---|---|
| `marketing-skill/campaign-analytics` | Attribution, ROAS, CPA, funnel of a live campaign | That **measures spend deployed**; this is **upstream methodology** |
| `marketing-skill/marketing-demand-acquisition` | Demand-gen, paid media, channel mix | That **runs acquisition**; this **builds the evidence** |
| `marketing-skill/marketing-strategy-pmm` | Positioning, GTM, category | That **sets strategy**; this **sizes and segments the market** |
| `commercial/pricing-strategist` | Pricing model + WTP + packaging | That **sets price**; this **sizes the market** |
| `product-research` (sibling) | User/product discovery methods | That studies **users**; this studies **the market** |

## Quick examples

```bash
python3 scripts/market_sizer.py --sample
python3 scripts/sample_size_planner.py --population 62000 --confidence 0.95 --moe 0.05
python3 scripts/segmentation_scorer.py --sample --output json
```

The sample market triangulates a ~$1.47B top-down SAM against the bottoms-up figure and flags the divergence; the segmentation sample drops the "solopreneurs who might want analytics" slice for failing the substantiality and accessibility gates.

## Forcing-question library (Matt Pocock grill discipline)

Walked one at a time by `/cs-grill-research-ops` or the orchestrator. Recommended answer + canon citation per question. Never bundled.

1. **"Is your TAM top-down or bottoms-up — and have you computed it both ways to triangulate?"**
   Recommended: both; reconcile the delta before quoting a number.
   Canon: Bessemer / a16z market-sizing; Fermi estimation.

2. **"What decision will this market size actually drive — and at what precision does it matter?"**
   Recommended: size to the decision's tolerance, not to a spurious-precision number.
   Canon: market-model conventions (Gartner/Forrester); decision-driven analysis.

3. **"What's your target margin of error and confidence — and does your sample clear it per segment, not just overall?"**
   Recommended: power each reported segment, not only the total.
   Canon: Cochran *Sampling Techniques*; AAPOR standards.

4. **"Are your survey questions free of leading and double-barreled wording?"**
   Recommended: pre-test the wording; cite the bias source.
   Canon: Schuman & Presser; Dillman *Tailored Design Method*.

5. **"Do your segments pass measurable / substantial / accessible / actionable — or are they just demographic slices?"**
   Recommended: drop segments that fail substantiality or accessibility.
   Canon: Kotler segmentation criteria.

Walk depth-first. Lock 1-2 before opening 3-5. After all are answered, invoke `market_sizer.py` → `sample_size_planner.py` → `segmentation_scorer.py`.
06

开始使用

以下是主要功能的用例提示词,可以直接复制使用。

01

检查安装并设置研究参数

定位文件包,查看四个引导问题,设置市场类型及问卷默认参数。 刚安装完成,或要研究另一类市场时使用。

查看 Prompt 和变量收起 Prompt 和变量
请使用已安装的 market-research Skill。先定位实际目录,确认 SKILL.md、scripts/、references/ 和 assets/ 均存在。在我的研究项目目录执行 python3 <skill-directory>/scripts/onboard.py --show,依次确认 [PROFILE]、问卷置信水平、误差范围,以及 sizing_method=both,再用 --scope project 保存。后续分析保持在该项目目录执行,以读取相同配置。不要启动 autoresearch。

需要替换的变量

[PROFILE]
选择 consumer、marketplace、b2b-saas、enterprise、hardware 或 services。
02

估算新品类的市场规模

基于市场输入建立两套估算,解释 TAM 差异后再给出规划区间。 判断某个品类或地区是否值得进一步验证时使用。

查看 Prompt 和变量收起 Prompt 和变量
请使用已安装的 market-research Skill,根据 [MARKET_JSON] 和 [SOURCES] 研究 [MARKET]。对照 market_sizer.py 的 SAMPLE 检查 top_down、bottoms_up 每个字段,统一地区、年度、币种和比例单位。缺少输入先询问,不接受默认 0。执行 python3 <skill-directory>/scripts/market_sizer.py --input [MARKET_JSON] --method both --profile consumer --output json。并列报告两组 TAM、SAM、SOM、TAM 差异、假设、来源和未解决分歧。不要为缩小差异而修改证据。

需要替换的变量

[MARKET]
品类、地区、渠道和年份。
[MARKET_JSON]
完整市场 JSON 输入文件的路径。
[SOURCES]
市场总额、客户数、年度支出及份额的来源与日期。
03

按客户细分规划问卷样本

根据问卷配置计算总体样本量和各组配额。 需要分别报告多个客户群体的问卷结果时使用。

查看 Prompt 和变量收起 Prompt 和变量
请使用已安装的 market-research Skill 检查 [SURVEY_JSON]:核对 population、confidence、margin_of_error、expected_proportion、segment_moe,以及 segments 中合计为 1 的 population_share。使用 --input 时,把问卷参数写进 JSON;当前版本的命令行 --confidence 和 --moe 不会覆盖文件。执行 python3 <skill-directory>/scripts/sample_size_planner.py --input [SURVEY_JSON] --output json,解释总体有限总体修正、各组下限、建议配额及总和,并检查是否超过各组实际人数。再按 [RESPONSE_RATE] 单独估算邀请人数,指出覆盖和未响应偏差。

需要替换的变量

[SURVEY_JSON]
问卷参数及细分定义文件路径。
[RESPONSE_RATE]
有依据的预期完成率,仅用于另行规划邀请人数。
04

决定优先验证哪些客户细分

按五项标准评分,并查看 TARGET、WATCH、DROP 的判定原因。 候选细分已有需求、规模和获客渠道证据时使用。

查看 Prompt 和变量收起 Prompt 和变量
请使用已安装的 market-research Skill,根据 [SEGMENTS_JSON] 和 [EVIDENCE] 检查各细分是否具备 measurable、substantial、accessible、differentiable、actionable 五项 0–100 分评分。缺少证据不要编造分数。执行 python3 <skill-directory>/scripts/segmentation_scorer.py --input [SEGMENTS_JSON] --profile consumer --output json。解释加权分数以及规模、触达门槛,并为每个 TARGET 或 WATCH 提出一个 [BUDGET] 内的验证动作;不要把分数当成已确认需求。

需要替换的变量

[SEGMENTS_JSON]
包含候选细分及五项评分的文件路径。
[EVIDENCE]
支持每项评分的资料。
[BUDGET]
可用于验证的预算和时间。
05

整理可供决策的研究简报

用随包模板汇总计算结果、来源说明和假设。 团队需要决定推进、试验还是暂缓时使用。

查看 Prompt 和变量收起 Prompt 和变量
请使用已安装的 market-research Skill 和 assets/market_research_brief_template.md,把 [RESULT_FILES] 整理成支持 [DECISION] 的研究简报。保留两种估算及其分歧,纳入适用的问卷配额、细分判定、公开竞品证据、来源日期、假设清单和信心说明。不适用部分明确标注。区分计算结果与判断,并列出投入预算前仍需补充的证据。

需要替换的变量

[RESULT_FILES]
计算输出和来源记录的路径。
[DECISION]
具体的品类、市场或调研预算决策。
07

实际使用案例:把市场规模假设转成可执行的客群调研计划

模拟商家计划研究通勤与桌面客群,已有 10,000 名许可研究联系人及明确市场假设。任务是估算规模、比较细分客群,并算清问卷需要邀请多少人。

使用步骤与 Prompt

  1. 准备下方案例输入资料,保留商品、政策和经营记录中的金额、单位及时间口径。
  2. 对照两种市场规模算法,筛选目标客群,再计算调研样本、邀请数量并写出完整问卷。
  3. 提交下方完整 Prompt,查看右侧主要产物;需要交接给同事时,下载包含全部交付文件的压缩包。

案例输入资料:business-inputs.zip

Use the market-research Skill.

Before funding expansion, estimate the addressable market from our supplied market and segment assumptions. Show top-down and bottom-up TAM, SAM and SOM, explain any mismatch, rank target segments and design a proportionate survey with sample and invitation counts. Deliver the questionnaire and a decision brief that makes the assumptions visible.

The attached business materials are:
- inputs/brief.md
- inputs/evidence.md
- inputs/market.json
- inputs/merchant.json
- inputs/segments.json
- inputs/survey.json

Deliver a complete result.md report that the operations team can read, plus any finished files needed for this task. Keep supporting calculations and evidence with the deliverables. Write the report in English; use the requested target language for customer-facing copy. The business datasets are fictional examples unless the brief explicitly names a live public website.

运行结果

下方直接展示本次 Prompt 产生的主要文件,保留实际输出语言。

HarborMug: US audience-validation decision brief

Recommend funding a bounded US audience-validation study before committing to expansion. Prioritize commuters, retain desk-first users as a comparison group, and exclude international expansion from this decision. Mia should prepare the study; Alex decides funding. No dollar research budget can be approved from these materials because recruitment and fielding costs were not supplied.

Data note: All business inputs and competitor observations are synthetic, unverified planning assumptions. No customers were contacted, no fieldwork occurred, and no business improvement was measured. Arithmetic is deterministic; empirical confidence is low.

Addressable market and funding implication

The planning window is one year, geography is the US, and the category assumes one 500ml mug per annual buyer at $24. Figures represent product revenue in USD/year, excluding taxes, shipping and refunds. TAM covers the full defined category; SAM is the assumed 40% that HarborMug can serve; SOM is assumed demand capped by planned supply.

LayerTop-down calculationBottom-up calculationAnnual result, each method
TAME1 category spend: $48mE2: 2m buyers × $24$48m
SAM$48m × 40%2m × 40% × $24$19.2m
SOM before capacity cap$19.2m × 1% reachable share800,000 serviceable buyers × 1% adoption × $24$192,000
SOM after capacity capmin($192,000, 8,000 × $24)min(8,000 demand units, 8,000 capacity units) × $24$192,000

Sources: supplied E1, E2 and E4, preserved in source evidence. The original sizing tool computes percentage-based SOM but does not implement a separate capacity input. The explicit cap above closes that gap. These are scenarios, not sales forecasts or profit estimates.

TAM divergence is |top-down − bottom-up| / top-down = 0%; SAM and SOM also match. Both views share category scope and price, and the buyer assumption was deliberately aligned with spend. This is arithmetic consistency, not independent validation. Do not average them or treat their agreement as stronger evidence. The consumer script allows 40% TAM divergence, but the decision brief requires ±20% planning tolerance; use the stricter 20% reconciliation threshold for this funding decision. Neither threshold is a statistical confidence interval.

The 1% obtainable-share assumption implies 8,000 buyers and consumes 100% of planned annual capacity. It has no demonstrated acquisition or conversion basis. The 8,000-unit limit is a new planning assumption, independent of current weekly orders; current sales do not establish expansion capacity or demand. A 60/40 split in research contacts does not establish national segment shares, so no national commuter or desk revenue allocation is defensible yet.

Adoption of the 800,000 serviceable buyersDemand unitsUnits after supply capProduct revenue
0.5%4,0004,000$96,000
1.0%8,0008,000$192,000
1.5%12,0008,000$192,000

These are illustrative sensitivities, not probability bounds. More demand above 1% cannot increase revenue under the stated capacity. Validate category buyer counts, purchase frequency, the serviceable fraction and reachable demand before using the base case to fund supply expansion.

Ranked target segments

The original Kotler scorer weights measurable 15%, substantial 25%, accessible 25%, differentiable 20%, and actionable 15%. Substantiality and accessibility must each reach 40/100. With both gates passed, a weighted score of at least 65 yields TARGET; otherwise WATCH. Scores are E5 analyst judgments, not survey findings; the consumer profile leaves substantiality unchanged.

PrioritySegmentMeasurableSubstantialAccessibleDifferentiableActionableWeighted scoreVerdict
1Commuter858080758580.5TARGET
2Desk-first807065708071.8TARGET
ExcludeInternational707520602049.2DROP: accessibility

Commuters have a portable-drinkware need and a consented-list channel; study portability, spill concerns and existing alternatives. Desk-first users have a workspace-drinkware need and the same channel, with weaker assumed accessibility; retain them to test whether needs and response actually differ. These needs are hypotheses to test, not established product advantages. International fails the channel gate and is outside domestic fulfillment. Its composite score cannot override that gate. The listed contact counts measure the research frame, not segment profitability or national market size.

E6 supplies fictional $22 and $30 alternatives. HarborMug's $24 item price sits between them, but there is no like-for-like feature or delivered-price evidence. Five Forces assumptions are high rivalry, high substitution (including cups already owned), moderate entry threat, moderate supplier power and high buyer power. This makes replacement motivation and delivered-price acceptance central questions; it does not establish competitive advantage. No real brand or website was inspected.

Survey design and recruitment requirement

Use randomized online invitations without replacement within the two mutually exclusive primary-use strata. The eligible consented frame is 10,000 US contacts: 6,000 commuters and 4,000 desk-first users (E3). These frame proportions are not US population weights. The intended estimands are frame-level proportions and within-group proportions.

At 95% confidence, z = 1.96 and conservative p = 0.5:

  • Unadjusted n₀ = z²p(1−p)/e² = 384.16 at e = 0.05; round up to 385.
  • Finite-population n = n₀ / [1 + (n₀−1)/N] = 369.984 for N = 10,000; round up to 370.
  • At e = 0.08, each group needs 150.0625 before rounding, or 151 completes. The original planner conservatively applies no group-level FPC.
GroupFrameProportional allocation of 370Original planner's group floorFunded completesInvitations at 25% usable completion
Commuter6,000222151222888
Desk-first4,000148151151604
Total10,000370—3731,492

Retain the original planner's conservative 373-complete design. Group-specific FPC would reduce the individual floors to 147 and 145, but this is not needed to make the main plan feasible. Desk users receive three additional completes to protect the original floor. Invitation counts are ceil(completes / 0.25); they are expected recruitment requirements, not guaranteed yields. They assume 25% of invited contacts become eligible, usable completed interviews. If the supplied response assumption refers only to survey starts, more invitations will be needed.

The slightly disproportionate allocation requires overall estimates of 0.6 × commuter estimate + 0.4 × desk estimate, rather than an unweighted pooled percentage. Under random-response assumptions, the finite-population stratified variance gives worst-case overall margin ±4.98 percentage points; commuter ±6.46 points and desk ±7.82 points. This satisfies the targets. These are pointwise intervals for proportions, not power guarantees for differences, small cross-tabs or multiple comparisons.

Randomize the invitation order within each frame stratum and release controlled batches. Monitor eligibility, delivery failures, partials and completes separately. Use remaining randomly ordered contacts for top-ups if yield falls short; never exceed the eligible frame or count repeated invitations as new people. Log recruitment dispositions and actual completed-interview yield by stratum. Reconcile changed primary-use classifications before claiming the planned precision.

The finite-population correction and nominal precision apply to this frame under the stated sampling assumptions. Nonresponse may invalidate representativeness even when quotas are achieved. Compare available frame characteristics between respondents and nonrespondents, document coverage and response differences, and disclose weighting and denominators. This consented contact list cannot validate national buyer counts or national 1% adoption by itself. Smaller item-level response counts require recalculated intervals; do not claim the full-sample margin for skipped questions.

Completed questionnaire and analysis specification

The complete customer-facing instrument, invitation copy, routing and pretest instructions are in questionnaire.md, ready for cognitive pretesting. English is used because no different target language was supplied.

Its sequence is consent → US eligibility → exclusive primary-use classification → purchases and usage → existing substitutes and unmet needs → selection priorities → category purchase intent → product concept with full single-unit shipping cost → product intent → likely alternative → reasons. The concept states $24 plus $5 shipping ($29 before tax), care restrictions and delivery timing. It makes no unsupported health or environmental claims.

The primary outputs will be Q9 stated purchase likelihood by group and Q10 preferred alternative, alongside Q3 purchase frequency and Q6 unmet needs. Ask behavior and needs before showing the brand concept to reduce priming. Randomize unordered options, keep ordered scales intact, and preserve neutral and Not sure responses. The instrument does not equate stated intent with realized adoption or attempt to optimize price from a single price point.

Before launch, conduct 6–8 proposed cognitive interviews across both groups and test mobile display, eligibility exits and option randomization. Keep pretest answers out of the main analytic sample. No pretest or survey responses exist yet. After fielding, report group denominators, missing answers, weighted frame estimates, intervals and exclusions. Do not infer that groups differ solely because one ranks higher; test the difference with its own uncertainty.

Boundary checks: smaller frame and conflicting buyer count

The supplied boundary changes the buyer estimate to 1m and the frame to 100 eligible contacts split 90/10. These changes expose decision-relevant failures rather than a new recommended base case.

LayerTop-down, unchangedBottom-up, 1m buyers
TAM$48m$24m = 1m × $24
SAM$19.2m$9.6m = $24m × 40%
SOM, capped at 8,000 units$192,000 (8,000 units)$96,000 (4,000 units)

TAM divergence is 50%, exceeding both the script's 40% tolerance and the decision's 20% tolerance. SAM and SOM also differ by 50%. Reconciliation requires checking scope, annual buyer counts and spend: $48m at $24 implies 2m annual buyers, whereas 1m buyers at $24 implies $24m. Do not average to $36m, silently change assumptions, or claim either view is validated. Hold expansion until evidence resolves which premise is credible.

For the 100-person frame, the original survey planner reports 80 overall completes but recommends 302 after applying two uncorrected 151-person floors. That result exceeds the frame and is infeasible. Group FPC yields floors of 57 out of 90 commuters and 10 out of 10 desk users. Those floors total 67 and do not alone ensure overall ±5%. A feasible complete-response design would be 72 commuters plus all 10 desk users (82 total); the 90/10 weighted worst-case overall margin is about ±4.67 points, with the desk result a census of its frame group.

At 25% yield, inviting the entire 100-person frame produces only 25 expected completes (22.5 commuters and 2.5 desk users). Even the individual FPC floors imply 228 commuter and 40 desk invitations, beyond the available 90 and 10. Do not issue impossible invitation quotas or label the study powered. Seek much higher participation, expand a legitimate eligible frame, or reduce precision and treat the work as exploratory. A full census invitation alone does not make nonrespondents observed.

Assumptions, evidence and decision gates

EvidencePlanning assumptionConfidence and action before expansion
E1$48m annual US category spend; one 500ml mug per buyerLow; verify category definition and independently sourced spend
E22m annual buyers, $24 spend, 40% serviceableLow; verify buyer count and frequency; define which needs and channels justify 40%
E310,000 exclusive consented contacts, 60/40 split, 25% usable yieldLow; verify eligible frame and classifications; monitor actual response and nonresponse
E41% reachable adoption, 8,000 annual supply unitsLow; validate acquisition and purchase behavior separately from supply readiness
E5Five segment scores and known channelsLow; validate distinct needs, reachability and economics; do not treat scores as measurements
E6Two fictional prices and Five Forces judgmentsLow; no independent competitor evidence; assess comparable delivered offers before commitment
Merchant terms$24 item, $5 single-unit shipping, domestic delivery, hand washingSupplied assumptions; include them in concept testing because they affect purchase decisions

Alex should authorize only the validation stage once Mia has costed 373 usable completes, 1,492 initial invitations and the separate pretest. No cost-per-complete or research budget ceiling is supplied, so this brief establishes quantities rather than a fabricated spend request.

For the next expansion review, require: independently checked sizing inputs reconciled within the ±20% decision tolerance; both survey group quotas or an explicitly revised precision statement; documented nonresponse and frame limitations; evidence that needs distinguish the two groups; and an acquisition/economic case plus confirmed capacity for the proposed volume. Survey intent is an input to that case, not a conversion forecast. Profitability, acceptable acquisition cost and investment-return thresholds are not supplied, so a numeric expansion go/no-go threshold cannot responsibly be invented.

The immediate decision is therefore to validate commuters first while preserving the desk comparison, withhold international expansion, and defer expansion funding until the demand and economic gaps are resolved.

Supporting deliverables

Market sizing, survey planner, segment ranking, boundary tool results, calculation checks and recomputable calculations preserve the arithmetic. Bundled source files preserve the brief, evidence and three model inputs. Method follows the supplied market-sizing canon, survey-methodology reference (Cochran FPC, total survey error, neutral wording and pretesting), and segmentation/competitive-intelligence reference (Kotler gates and Five Forces); these are methodological references, not external validation of the business inputs.

案例中的商家经营资料为模拟数据;涉及网站检查时,报告中的页面观察来自所列公开网址。

08

风险与使用注意事项

先检查输入,再使用结果

市场规模和细分脚本会把部分缺失值按 0 处理;未提供输入文件时,规模估算还可能使用内置样例。正式分析前检查字段,并明确传入 --input。规模报告的人类可读格式固定显示美元符号,使用其他币种时应基于 JSON 输出明确标注。

足够的样本量不能消除问卷偏差

规划器估算比例调查所需的有效答卷数,不负责发送问卷、招募受访者、修正覆盖或未响应偏差,也不会检查配额是否超过小群体人数。使用 JSON 输入时,要直接修改文件里的问卷参数。

引导配置会写入本地文件

onboard.py 默认写入 ~/.config/research-ops/;使用 --scope project 时写入当前项目。项目配置从进程工作目录读取,覆盖或重置前先检查已有设置。核心计算脚本没有店铺 API 集成。

Autoresearch 可选,且会修改模型假设

独立的 autoresearch-agent 集成可以修改 market.json,以缩小 TAM 差异。只安装本 Skill 不会装上该集成。差异缩小不代表来源可靠,应保留原数据并逐项审核假设变更。

常见问题

能直接把 SKILL.md 粘贴到聊天框使用吗?

可以在聊天中阅读指令,但文档规定的工作流需要完整 Skill 文件夹和本地 Python 执行能力。安装时必须同时保留 scripts、references、assets 和 SKILL.md。

需要 API Key 或连接店铺吗?

随包计算使用 Python 标准库和本地 JSON 文件,没有店铺 API 集成。Agent 订阅或模型调用费用另计。

Claude Code 插件只安装这一个 Skill 吗?

不是。research-ops-skills 是包含 Market Research 及其他研究 Skill 的插件。只需要这一项时,可使用手动复制单个文件夹的方式。

这次核对的是哪个版本?

核对提交 6d2f02ea077e;该 Skill 声明版本为 2.9.0,所属插件声明版本为 2.14.1。通过市场安装时可能取得更新版本。

它会自动找爆品或搜集调研数据吗?

市场总额、客户数、问卷参数、细分评分及来源都需要你提供。Skill 负责计算和组织证据,不证明需求成立,也不负责回收问卷。

暂无评论。

发表评论

请先为每一项打分,再分享你的真实使用体验。

任务有效性
安装与使用难度
稳定性与边界
文档清晰度
首次获得有效结果
作者 / 维护者

Alireza Rezvani

claude-skills 开源库维护者。Market Research 是其中 Research Ops 集合内的一项 Skill。