控制图采样间隔与检验成本优化器|SPC实战工具
这个工具解决什么问题
控制图有三个参数:样本量 n、采样间隔 h、控制限宽度 L。绝大多数工厂是照抄前辈或 随手定成 n=5、h=1h、L=3σ,结果不是「太勤」(检验工时和试片成本吃掉利润), 就是「太懒」(异常跑了几小时才发现,一批货已经做废)。 本工具用 Duncan 经济设计模型 把参数换算成钱:在 (n, h, L) 候选网格里搜索 每小时期望成本 ECT 最小的方案,并与现用方案对比,告诉你「能省多少、代价是什么」。
输入数据格式
数据文件 spc_eco_plan.csv,列顺序为:scenario、lambda_per_h、delta_sigma、cost_false_alarm、cost_sample_fixed、cost_sample_unit、loss_per_hour、sample_time_h、repair_time_h、L_plan、n_plan、h_plan。
示例首行:P1 封装键合 关键尺寸,0.01,1,500,20,5,800,0.05,2,3,5,1
示例输出(真实运行结果节选)
控制图采样间隔与检验成本优化报告
==============================================================================
模型:Duncan 经济设计(期望周期成本 / 期望周期时间 = 每小时期望成本 ECT)
周期 = 受控期 + 失控期;失控期 = 等待检出时间 + 采样用时 + 定位修复时间
成本 = 采样成本 + 误报警处理成本 + 失控损失
搜索网格:n ∈ 1~10 件,h ∈ 0.25~12 小时,L ∈ 2.5~3.5 σ
【P1 封装键合 关键尺寸】
参数:λ=0.0100/h(平均受控 100 h)|需检出偏移 δ=1.0σ|失控损失 800 元/h
现用方案:n=5 件、每 1.00 h 采样、L=3.0σ
→ 每小时期望成本 93.3 元|误报警率 α=0.0027|漏检率 β=0.778|平均检出耗时 4.00 h
最优方案:n=10 件、每 4.00 h 采样、L=2.5σ
→ 每小时期望成本 63.4 元|误报警率 α=0.0124|漏检率 β=0.254|平均检出耗时 3.37 h
→ 每小时省 29.9 元(32.1%);按 6000 h/年折算约 18.0 万元/年
【P2 蚀刻速率 在线监控】
参数:λ=0.0200/h(平均受控 50 h)|需检出偏移 δ=1.5σ|失控损失 1200 元/h
现用方案:n=5 件、每 2.00 h 采样、L=3.0σ
→ 每小时期望成本 157.7 元|误报警率 α=0.0027|漏检率 β=0.362|平均检出耗时 2.14 h
最优方案:n=6 件、每 2.50 h 采样、L=2.5σ
→ 每小时期望成本 145.7 元|误报警率 α=0.0124|漏检率 β=0.120|平均检出耗时 1.60 h
→ 每小时省 12.0 元(7.6%);按 6000 h/年折算约 7.2 万元/年
【P3 薄膜厚度 离线抽检】
参数:λ=0.0040/h(平均受控 250 h)|需检出偏移 δ=1.2σ|失控损失 600 元/h
现用方案:n=3 件、每 4.00 h 采样、L=3.0σ
→ 每小时期望成本 89.5 元|误报警率 α=0.0027|漏检率 β=0.822|平均检出耗时 20.43 h
最优方案:n=7 件、每 12.00 h 采样、L=2.5σ
→ 每小时期望成本 56.9 元|误报警率 α
解决什么问题
· 「我们的控制图一个班测一次够不够?加到两次能不能省下不良?」 · 「样本量从 5 件加到 10 件,多花的检验费划得来吗?」 · 「L 从 3σ 放宽到 3.5σ 少误报,但漏检变慢,到底亏不亏?」 这些问题的答案都藏在「失控损失 vs 采样成本」的比值里,本工具直接算给你看。
使用方法
python spc_eco_plan.py # 示例数据(8 个工序场景)
输入格式(CSV,UTF-8)
字段含义:lambda_per_h 过程失效率(次/小时,其倒数即平均受控时长); delta_sigma 需要检出的均值偏移(σ 倍数);cost_false_alarm 一次误报警处理成本; cost_sample_fixed / cost_sample_unit 每次采样的固定成本 / 每件样品成本; loss_per_hour 失控状态每小时损失;sample_time_h 单件取样检测耗时; repair_time_h 异常定位修复耗时;L_plan/n_plan/h_plan 为现用方案参数。
输出说明
· spc_eco_plan.csv:示例数据(首次运行自动生成) · spc_eco_plan_report.txt:逐场景现用 vs 最优方案对比(成本、α、β、平均检出耗时)、 收益汇总表、参数敏感性分析、落地建议
适用场景
控制计划(CP)参数评审、SPC 推行时的参数设定、检验成本削减项目、量测资源分配。
注意事项
· 模型是经济最优,不是统计最优:结果依赖 M(失控损失)与 λ(失效率)两个主观参数, 报告里的敏感性段落就是用来判断「参数估偏了结论会不会翻盘」。 · 平均检出耗时 = h/(1−β) − τ,与 h 基本成正比:想更快抓到异常,缩短采样间隔比加大样本量更有效。 · 本工具不替代工程判断:安全相关的关键特性不能只按成本定参数。
常见误用
· 把 ECT 当成唯一目标:安全相关特性不能按成本定参数,需先满足法规与客户要求。 · λ 与 M 随手填:这两个参数直接决定结论,填之前先让车间确认「多久出一次异常」「停一小时亏多少」。 · 参数定完不复算:设备老化与产品结构变化会让 λ、M 漂移,建议每季度重跑一次。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:CSV_NAME="spc_eco_plan.csv"、REPORT_NAME="spc_eco_plan_report.txt"、PARAMS=[、N_GRID=list(range(1, 11))、L_GRID=[2.5, 2.6, 2.8, 3.0, 3.2, 3.5]。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:spc_eco_plan.csv、spc_eco_plan_report.txt。
脚本里的主要处理步骤
alpha_of():双侧控制图误报警概率。beta_of():检出均值偏移 delta·sigma 时的漏检概率(n 件样本均值偏移 delta*sqrt(n))。tau_of():偏移发生在采样间隔内的期望时刻(自上次采样算起)。ev_cost():返回 (每小时期望成本 ECT, 明细 dict)。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- P1 封装键合 关键尺寸
- P2 蚀刻速率 在线监控
- P3 薄膜厚度 离线抽检
- P4 SMT 焊膏印刷
- P5 晶圆表面颗粒
- P6 化学品浓度 滴定
- P7 炉温 热偶监控
- P8 光刻 CD 在线量测
- 双侧控制图误报警概率。
- 偏移发生在采样间隔内的期望时刻(自上次采样算起)。
- 返回 (每小时期望成本 ECT, 明细 dict)。
- 控制图采样间隔与检验成本优化报告
- 成本 = 采样成本 + 误报警处理成本 + 失控损失
- 参数:λ=%.4f/h(平均受控 %.0f h)|需检出偏移 δ=%.1fσ|
- 失控损失 %.0f 元/h
- 现用方案:n=%d 件、每 %.2f h 采样、L=%.1fσ
- → 每小时期望成本 %.1f 元|误报警率 α=%.4f|漏检率 β=%.3f|
- 平均检出耗时 %.2f h
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:spc_eco_plan.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 12 列:scenario、lambda_per_h、delta_sigma、cost_false_alarm、cost_sample_fixed、cost_sample_unit、loss_per_hour、sample_time_h。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 %s、一、各场景优化收益汇总、二、参数敏感性(以 P8 光刻 CD 为例)、三、落地建议 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
同分类的其它工具
分类归属:SPC与质量分析工具包;完整清单在 工具资源包下载页。





