Back to skills
SKILL.md
Questionnaire Design
ASecurity问卷设计——把调研目标拆成假设再落到题目,定题型、题序、跳转,改掉诱导、双重提问,做预测试并粗算样本量。当用户说「帮我设计一份问卷」「这道题有没有问题」「问卷要发多少份」时使用。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added October 13, 2026
Security analysis
100/100Pro scans all 3 files and shows the line behind each finding
npx -y skills add po-et/workbuddy-skills --skill questionnaire-design --agent claude-codeAre you the author of Questionnaire Design?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/po-et-questionnaire-design)---
name: questionnaire-design
description: "问卷设计——把调研目标拆成假设再落到题目,定题型、题序、跳转,改掉诱导、双重提问,做预测试并粗算样本量。当用户说「帮我设计一份问卷」「这道题有没有问题」「问卷要发多少份」时使用。"
author: Captain
version: 0.1.1
display_name: "问卷设计"
display_name_en: "Questionnaire Design"
description_zh: "从调研目标推出假设、从假设推出题目;选单选、多选、量表还是开放题;排题序、设跳转;逐条排查诱导、双重提问、选项重叠;预测试怎么做、样本量怎么粗算。附 12 题示例问卷与自查清单。不代做统计检验,不替伦理审查下结论。"
description_en: "Design a survey from goal to hypotheses to questions, with question types, order, skip logic, wording fixes, pretesting, rough sample sizing and a 12-question example."
tags:
- "问卷设计"
- "调查问卷"
- "问卷调查"
- "毕业论文问卷"
- "满意度调查"
- "量表"
- "样本量"
- "questionnaire"
- "survey"
examples_zh:
- "帮我设计一份问卷,想知道员工食堂晚餐要不要延长供应时间"
- "这道题有没有问题:你对食堂的价格和口味满意吗"
- "毕业论文的问卷要发多少份才够,全院大概 500 人"
examples_en:
- "Help me design a survey on whether the staff canteen should serve dinner later"
- "Is anything wrong with this question: are you satisfied with the canteen's prices and taste?"
- "How many questionnaires do I need for my thesis if the whole school has about 500 people?"
---
# 问卷设计
定位一句话:**每道题都要能指回一条假设;指不回去的题,收得再多也是噪音。**
## 何时使用
员工或用户满意度调查、毕业论文问卷、活动反馈、需求摸底;手里有一份问卷想挑毛病;不知道该发多少份。用户这样说时用本技能:
- 「帮我设计一份问卷,想知道员工食堂晚餐要不要延长供应时间」→ 先交「决策—假设—空表」,确认后再出题
- 「这道题有没有问题:你对食堂的价格和口味满意吗」→ 逐题给「原题 → 问题所在 → 改法」
- 「毕业论文的问卷要发多少份才够,全院大概 500 人」→ 跑样本量脚本,写清前提
- 「帮我看看这份满意度问卷哪里不对」→ 逐题审,不整卷重写
- 「问卷写好了,预测试怎么做」→ 按预测试步骤安排
不适用:
- 要知道「为什么、怎么想的、卡在哪一步」:先做几场访谈把选项找全,转访谈提纲(interview-outline);问卷只答「有多少、占多大比例」。
- 显著性检验、回归建模、写分析结论:不做,分析方法请与导师或统计咨询确认;可以先把「每条假设看哪张表」写清。
- 测心理状况、做诊断的量表:不自编,用已发表并验证过的量表,并遵守其使用许可。
## 先判断:这件事该不该用问卷
- 适合:要知道「有多少人、占多大比例、哪一组更高」,也就是量的问题。
- 不适合:要知道「为什么、怎么想的、卡在哪一步」——先做几场访谈把选项找全,再出问卷(见 访谈提纲 interview-outline)。
- 动笔前写下三句话,写不出就先别出题:① 这份问卷服务哪个决策(例:食堂晚餐要不要从 19:00 延到 20:30);② 谁来答、一共多少人、怎么触达他们;③ 结果是 A 你做什么、是 B 你做什么——两种结果做的事一样,这份问卷就不必发。
## 流程:目标 → 假设 → 题目 → 题型 → 题序
```
第 1 步 写假设:把决策拆成 2–4 条能被数据推翻的判断
H1 晚餐需求主要来自每周加班两天以上的人
H2 不来食堂吃晚饭的主因是关门早,不是口味或价格
H3 延长后每天来吃的人够覆盖成本(盈亏线由行政自己算)
第 2 步 先画空表:为每条假设画出结论要用的表,如「加班天数 × 预计就餐次数」交叉表;
表里每个行列变量对应一道题,没进任何表的题删掉
第 3 步 选题型
单选:选项互斥且穷尽,末尾给「其他(请注明)」或「不适用」
多选:限定「最多选 2 项」,否则人人全选,没有区分度
量表:五级或七级,每个刻度都写文字,全卷方向一致,另设「不了解,不评价」
频率:必须带时间窗,问「过去 4 周几次」,不问「经常/偶尔」
排序:不超过 5 项,再多就改问「最重要的一项」
开放:全卷 1–2 道、放最后、选填;要统计的内容别用开放题收
敏感:收入、健康这类给区间不问精确数,加「不便回答」,放到最后
第 4 步 排题序:筛选题 → 好答的行为题 → 评价题 → 意向题 → 背景信息 → 开放题;
先问总体再问细项;部门、原因这类选项可随机排序,「其他」固定在最后,量表选项不随机
第 5 步 设跳转:画跳转图,每条路径从头走到尾,不该答的人看不到,该答的人不会被跳过
第 6 步 写开头:三句话说清谁在做、结果用来做什么、大约几分钟;匿名与否照实写,承诺的时长要守住
```
出完题,逐题过一遍这张清单:
```
□ 每题都标得出服务哪条假设或哪个分组变量
□ 一题只问一件事:题干里有「和」「及」「或」的逐个复查
□ 题干没有褒贬词,没有「大家都说」「你是否同意……很重要」
□ 选项互斥且穷尽,数字区间不重叠(1–4/5–8,不是 1–5/5–10)
□ 频率和数量题都带时间窗;量表每个刻度都有文字、全卷方向一致
□ 敏感题和背景题放最后,没有收集用不上的个人信息
□ 每条跳转路径都实际走过一遍,预测试用时不超过开头承诺的时长
```
## 预测试与样本量粗算
预测试:找 5–10 位目标人群(经验值),不找参与出题的人;请对方边读边说「这题在问什么、选哪个、为什么犹豫」。记下用时、卡住的题、理解与原意不同的词、几乎人人选同一项的题;改完再测 2–3 人。正式发放后先看前 20 份:成片空白的题、「其他」里反复出现的同一答案(说明漏了选项)。以手机作答为主时,题干不超过两行、矩阵题不超过五行(经验值),否则中途放弃的人会明显变多。
样本量:比例类结论,95% 置信、按最保守的 p=0.5 算,误差 ±10% 约 97 份,±5% 约 385 份,±3% 约 1068 份。总体只有几百人要做有限总体修正;发放量 = 需要份数 ÷ 预计回收率。脚本会检查参数是否合理(误差写成 5 而不是 0.05、回收率超过 100% 都会被拦下并说明怎么改):
```bash
python3 scripts/sample_size.py --margin 0.05 --population 500 --response-rate 0.3
python3 scripts/sample_size.py --compare 100 100 # 两组比较:差多少以内可能只是抽样误差
```
第一条的输出(本机实测):
```
前提:置信水平 95%(z=1.96),预估比例 p=0.5,允许误差 ±5%
总体很大时需要:385 份
总体 500 人(有限总体修正):218 份
预计回收率 30%:至少发放 725 份
注意:要发 725 份,超过总体 500 人。可以全员发放(普查),或放宽允许误差,或想办法提高回收率
提醒:公式只对随机或接近随机的样本成立;方便样本份数再多也修不了偏差,报告里只能写「本次填答者中」
```
分组比较:每个要单独下结论的组各按公式算;两组各 100 份时,相差不到约 14 个百分点就可能只是抽样误差。公式只对随机或接近随机的样本成立;朋友圈转发、自愿填写的方便样本,份数再多也修不了偏差,报告里只能写「本次填答者中」,不能写「全体员工中」。回收后先剔除用时明显过短、整页都选同一项的问卷,剔除规则发放前写好,别看了结果再定。
## 信息不全或出错时
| 情况 | 怎么处理 | 对用户说的话(模板) |
|---|---|---|
| 只说「帮我出一份问卷」,没说决策、对象、规模 | 只问三个:服务哪个决策;谁来答、多少人、怎么发;结果是 A、是 B 各做什么。其余按本页默认(五级量表、手机作答、匿名)先定,标 [待确认] | 「先问三件事:这份问卷帮你做什么决定?谁来答、大概多少人、怎么发给他们?结果是 A 你怎么做、是 B 你怎么做?其余我先按常见做法定,标了 [待确认]。」 |
| 两种结果做的事一样 | 指出这份问卷不必发;建议直接决策,或只问真正拿不准的那一题 | 「不管结果是 A 还是 B 你都打算延长供应,那这份问卷可以不发;想知道延到几点,只问离开时间一题就够。」 |
| 题目自相矛盾(选项重叠、频率题没有时间窗、跳转指向不存在的题) | 指出矛盾在哪,给两种改法 | 「Q4 的选项 1–5 次和 5–10 次在 5 次上重叠。两种改法:改成 1–4、5–8;或者改成填空,填过去 4 周的次数。」 |
| 格式不对(截图看不清、题号乱、只有题干没有选项) | 请贴文字版;或按读到的内容逐题复述,请用户确认后再改 | 「截图里 Q7–Q9 看不清,麻烦贴文字版;或者我先把读到的内容复述一遍,你确认了我再改。」 |
| 样本量参数不合理(误差写成 5、回收率 130%、要发的份数比总体还多) | 脚本会拦下并说明;给两种理解让用户选 | 「误差写的是 5,你是想要 ±5%(写 0.05)吗?另外算出来要发 725 份、全院只有 500 人:可以全员发放,或者把误差放宽。」 |
| 超出范围(显著性检验、建模、诊断量表、伦理审批判断) | 说明不做,转导师、统计咨询或伦理委员会 | 「显著性检验和建模不在我这里做,分析方法请和导师确认;我先把每条假设看哪张表写清楚。」 |
| 时间紧,只要最小可用版 | 最小版:一句决策 + 两条假设 + 六到九道题(筛选 1、行为 2–3、评价 1–2、背景 1–2、选填开放 1)+ 三句开头;预测试不省,至少找 5 位目标人群 | 「先给最小可用版:两条假设、九道题以内,外加三句开头说明;预测试不能省,找 5 位目标人群试答一遍再发。」 |
| 用户坚持越界(要诱导题、要代填或刷份数、要收身份证号) | 守住边界,给能做的替代 | 「诱导题收回来的数说服不了任何人,我帮你改成平衡量表;代填和刷份数我不做;身份证号用不上,不收。」 |
| 方便样本却想推到全体 | 结论措辞改成「本次填答者中」 | 「朋友圈转发收来的问卷,份数再多也修不了偏差,报告里只能写『本次填答者中』。」 |
脚本报错对照(`python3 scripts/sample_size.py`):
| 退出码 / 报错 | 原因 | 修正办法 |
|---|---|---|
| 0,输出份数 | 正常 | 把前提(置信水平、误差、回收率)一起写进交付物 |
| 1,「允许误差应在 0 到 1 之间…」 | 把 ±5% 写成了 5,或比例、回收率超出 0–1 | 写 0.05 或 5% |
| 1,「置信水平只支持 90、95、99」 | 写了别的置信水平 | 改用 90、95 或 99 |
| 1,「总体人数应是正整数」「不认识的参数」 | 人数写成小数,或参数名拼错 | 看 python3 scripts/sample_size.py -h |
| 0,但提示「要发 X 份,超过总体 N 人」 | 回收率低、误差要求严 | 全员发放,或放宽误差,或提高回收率 |
| 130,「已中断」 | 手动按了 Ctrl+C | 重新运行 |
| 环境里跑不了脚本 | 只有对话、没有终端 | 手算:n0 = z² × p(1−p) ÷ e²;n = n0 ÷ (1 + (n0 − 1) ÷ N);发放量 = n ÷ 回收率,都向上取整 |
## 输出契约
新设计一份问卷时,交付物按下面的顺序,每次都一样:
1. **决策—假设—空表三件套**:一句决策、2–4 条假设、每条假设对应的空表;用户确认后再出题。
2. **问卷开头说明**:三句话,谁在做、结果用来做什么、大约几分钟;匿名与否照实写。
3. **题目清单**:每题标【服务的假设或分组变量】、题型与跳转规则。
4. **预测试计划与样本量**:写出算式和前提(置信水平、误差、总体、回收率),用户能自己重算。
5. **分析计划**:每条假设看哪张表、什么结果算支持、什么结果算推翻,发放前就写好。
6. **待确认清单**:汇总所有 [待补]、[待确认]。
改别人的问卷时:逐题交「原题 → 问题所在 → 改法」对照表,不整卷重写;最后同样附待确认清单。
占位符规则:[待补] = 只有用户知道的事实(总体人数、发放渠道、盈亏线、承诺时长);[待确认] = 我按本页常见做法先定的默认值(量表级数、题序、跳转)。数字写出算法与前提,不写没有来源的比例。
交付前自检(每条都答「是」才交):
- [ ] 决策—假设—空表已经用户确认,或已标明「待确认后再出题」?
- [ ] 上面的逐题自查清单 7 条都打了勾?
- [ ] 样本量写了算式和前提,用户能自己重算?
- [ ] 分析计划写了「什么结果算支持、什么结果算推翻」?
- [ ] 没有收集用不上的个人信息,敏感题放在最后并给了「不便回答」?
- [ ] 所有 [待补]、[待确认] 都进了待确认清单?
## 示例
(示例,场景虚构)
> 用户:这道题有没有问题:「你对食堂的价格和口味满意吗?」○满意 ○不满意
助手:信息够用,不追问,直接交对照表;这题服务哪条假设,用户没说,标 [待确认]。
| 原题 | 问题所在 | 改法 |
|---|---|---|
| 你对食堂的价格和口味满意吗?○满意 ○不满意 | ① 双重提问:价格满意、口味不满意的人没法答;② 只有两档,没有中间项;③ 没吃过的人被迫乱选 | 拆成一道矩阵题:「你对食堂晚餐以下各项的满意程度?(每行单选)」价格/口味 × 非常不满意/不太满意/一般/比较满意/非常满意/没吃过,不评价 |
- 放的位置:评价题,放在「过去 4 周在食堂吃晚饭几次」这类行为题之后。
- 待确认:这题服务哪条假设 [待确认]——如果决策只关心供应时间,价格和口味两行可以都删,改问「以下改进哪一项对你最重要」。
完整示例(一句需求 → 决策—假设—空表 → 12 题问卷 → 样本量 → 分析计划)见 [examples/canteen-dinner-survey.md](examples/canteen-dinner-survey.md)。
## 常见问题(FAQ)
**问卷发多少份才够?** 看结论要多精确:95% 置信下误差 ±10% 约 97 份、±5% 约 385 份;总体只有几百人时用脚本做有限总体修正,再除以回收率得到发放量。
**朋友圈转发收了几百份,能代表全体吗?** 不能。方便样本份数再多也修不了偏差,报告里只能写「本次填答者中」。
**五级量表还是七级?** 都可以;每个刻度都写文字、全卷方向一致,另设「不了解,不评价」。
**能不能多加几道题「顺便问问」?** 先看它进不进得了某张空表,进不了就删;题多了中途放弃的人会变多。
**「推出后你会来吗」这种意向题能当预测用吗?** 意向普遍高估实际行为,只当上限看,结论靠「过去 4 周几次」这类行为题。
**能帮我发问卷、代填或者凑份数吗?** 不能。不代发、不代填、不刷份数;交付的是问卷文本和计划,由你发布。
**能帮我做显著性检验吗?** 不做统计检验与建模;分析方法请与导师确认。我可以把每条假设看哪张表、怎样算支持写清楚。
**问卷需要伦理审批吗?** 面向学生、患者、未成年人或涉及健康、收入等敏感信息的,是否需要审批与知情同意,以学校或单位规定为准,问导师或伦理委员会。
## 常见错误(反模式)
每条:错误做法 → 为什么错 → 正确做法。
1. **诱导**:「新食堂品种这么丰富,你满意吗?」→ 题干替人表了态,答案往一边倒 → 「你对食堂晚餐品种的满意程度?」配平衡量表。
2. **双重提问**:「你对价格和口味满意吗?」→ 一个满意一个不满意的人没法答 → 拆成两行。
3. **预设前提**:没筛选就问「你每周在食堂吃几次晚饭」→ 没吃过的人被迫乱选 → 先问吃没吃过,或给「0 次」。
4. **模糊频率**:「你经常加班吗?」→「经常」每个人理解不同,没法比较 → 「过去 4 周,19:00 以后还在公司的天数?」
5. **否定句**:「你是否不同意取消晚餐?」→ 双重否定容易读反 → 改成正向陈述,双重否定一律删。
6. **选项重叠**:年龄「18–25/25–30」→ 25 岁的人两个都能选 → 「18–24/25–29」。
7. **意向当事实**:「推出后你会来吗」的「会」被当成来客数 → 意向普遍高估实际行为 → 意向只当上限,结论靠行为题。
8. **题目太多**:每题都「顺便问问」→ 答题的人中途放弃,收回来的也用不上 → 回到第 2 步的空表,没进表的删掉。
9. **开放题太多**:五道开放题 → 收回来没人读得完 → 能列出选项的都改成选择题。
10. **看了结果再定剔除规则** → 等于按想要的结论挑数据 → 发放前写好剔除规则(用时明显过短、整页选同一项)。
11. **不做预测试就正式发** → 理解偏差和卡住的题,要等收回来才发现 → 找 5–10 位目标人群边读边说,改完再测 2–3 人。
## 边界与不做什么
- 不做统计检验与建模,不替你下「显著」的结论;论文里的分析方法请与导师确认。
- 面向学生、患者、未成年人或涉及健康、收入等敏感信息的调查,要不要伦理审批与知情同意,以学校或单位规定为准,问导师或伦理委员会。
- 不自编测评心理状况或用于诊断的量表;需要标准化量表时用已发表并验证过的版本,并遵守其使用许可。
- 不代发、不代填、不刷份数;不收集身份证号、手机号这类用不上的个人信息,抽奖要留联系方式的,单独收集、与答卷分开存放。
Files in this skill
- SKILL.md
- examples/canteen-dinner-survey.md
- scripts/sample_size.py
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.