抽样方案OC曲线与AOQ计算器|SPC实战工具
这个工具解决什么问题
质量工具的价值在于让不同人算同一批数据能得到同一个答案,而不是算得更花哨。
「按 AQL 2.5 抽」这句话背后藏着两个必须回答的问题:这份方案在客户眼里的漏放风险(β)有多大?在供应商眼里的误杀风险(α)有多大?本工具用二项分布精确计算 OC 曲线,对多个 (n,c) 候选方案横向比较,自动挑出同时满足 α≤5% @ AQL、β≤10% @ LTPD 的最小样本量方案,并给出 AOQ 曲线与 AOQL——即考虑「拒收批全检替换」后出厂平均不合格率的理论上限。附 GB/T 2828.1 转移规则实务建议。
输入数据格式
数据文件 oc_curve_data.csv,列顺序为:不合格率p、接收概率PA、平均检出质量AOQ。
示例首行:0.002,1.0,0.002
示例输出(真实运行结果节选)
======================================================================== 计数一次抽样方案 OC 曲线与 AOQ 分析报告 ======================================================================== 一、背景与要求 批量 N=2000(判定按二项分布近似,对 n/N<0.1 的场合足够精确) 目标:AQL=1.0% 处生产方风险 α≤5%;LTPD=6.0% 处使用方风险 β≤10% 二、候选方案横向比较 方案(n,c) PA@AQL α PA@LTPD β AOQL 判定 ( 65, 1) 0.862 13.8% 0.092 9.2% 1.29% 不满足 ( 105, 2) 0.911 8.9% 0.045 4.5% 1.30% 不满足 ( 140, 3) 0.947 5.3% 0.029 2.9% 1.38% 不满足 ( 200, 5) 0.984 1.6% 0.018 1.8% 1.59% 推荐 ( 315, 9) 0.999 0.1% 0.008 0.8% 1.85% 满足 三、推荐方案 (200, 5) 随机抽 200 件,发现不良 ≤ 5 件则整批接收;≥ 6 件整批拒收。 α = 1.6%(好批误杀风险)| β = 1.8%(坏批漏放风险) AOQL = 1.59%(出现在 p≈2.2% 处):即使长期混入不合格,经「拒收批全检替换」把关后,出厂平均不合格率不会超过 1.59%。 四、OC 曲线关键读法(推荐方案) p=1.0% → PA=0.984 AQL 点 p=2.0% → PA=0.787 2.0% p=4.0% → PA=0.186 4.0% p=6.0% → PA=0.018 LTPD 点 OC 曲线越陡,方案对质量水平的辨别力越强;曲线尾部平缓段意味着 「比 LTPD 更差的质量也有一定概率被接收」,此时应转为加严检验。 五、转移
一句话
算清一份抽样方案真正的风险结构:好批误杀多少、坏批漏放多少、出厂质量天花板在哪。
运行环境与快速开始
python oc_curve_aoq.py
输入数据格式(换成你的数据即可)
· 批量 N、AQL、LTPD、双风险上限写在文件头部常量区 · 候选方案列表 CANDIDATES 可自行增删 (n, c) 组合
输出说明
候选方案比较表(PA@AQL / α / PA@LTPD / β / AOQL)、推荐方案、OC 曲线关键点读数、转移规则建议。
算法口径(关键公式)
· PA = Σ(k=0..c) C(n,k) p^k (1−p)^(n−k) · AOQ ≈ p × PA(拒收批全检替换) · AOQL = max AOQ
判定标准说明
脚本顶部集中了主要阈值与常量:CSV_PATH=os.path.join(HERE, "oc_curve_data.csv")、RPT_PATH=os.path.join(HERE, "示例输出报告.txt")。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:oc_curve_data.csv、示例输出报告.txt。
脚本里的主要处理步骤
binom_pa():二项分布接收概率 PA = P(X<=c)。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 二项分布接收概率 PA = P(X<=c)。
- 不合格率p
- 接收概率PA
- 平均检出质量AOQ
- 推荐方案双风险超标
- AOQL 对应 p 应大于 AQL
- AOQL 数量级异常
- 计数一次抽样方案 OC 曲线与 AOQ 分析报告
- 一、背景与要求
- 批量 N=%d(判定按二项分布近似,对 n/N<0.1 的场合足够精确)
- 二、候选方案横向比较
- 方案(n,c)
- 三、推荐方案 (%d, %d)
- 随机抽 %d 件,发现不良 ≤ %d 件则整批接收;≥ %d 件整批拒收。
- α = %.1f%%(好批误杀风险)| β = %.1f%%(坏批漏放风险)
- AOQL = %.2f%%(出现在 p≈%.1f%% 处):即使长期混入不合格,
- 经「拒收批全检替换」把关后,出厂平均不合格率不会超过 %.2f%%。
- 三、无候选方案同时满足双风险,需加大样本量或调整 AQL/LTPD(见报告备注)。
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:oc_curve_aoq.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 3 列:不合格率p、接收概率PA、平均检出质量AOQ。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
所属分类 SPC与质量分析工具包,也可回到 工具资源包下载页 按分类查找。





