ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SMT AOI市场报告怎么读:口径核验、份额复现与前景判读

SMT AOI市场报告怎么读:口径核验、份额复现与前景判读

简介:面向电子制造与半导体检测行业的市场研究文档,聚焦 SMT AOI(自动光学检测)监测设备的全球与中国市场现状及 2021—2027 年走势,适合产业研究员、设备厂商市场部及投资分析人员参考。文档为单个 docx 文件,约 141KB,篇幅约 141 页、含 181 张图表,历史数据回溯至 2016—2020 年,预测延伸至 2027 年,正文分 13 章展开。

内容涵盖全球与中国产能、产量、销量、销售额与价格趋势,Koh Young、Viscom、Mirtec、TRI、SAKI、Omron、Yamaha、ViTrox 等主要厂商的产品规格、收入排名与市场份额,并按线上或线下产品类型和电子、通信、汽车等应用细分;同时对比北美、欧洲、中国、日本、东南亚、印度等重点地区的规模,另附产业链上下游、销售渠道、行业集中度与驱动及阻碍因素分析。已有 179 人学习下载,可作为市场占有率测算与行业前景判断的数据底稿。

1. 一份百来页的 SMT AOI 市场报告,最先要核的不是数字而是口径

上周一位做产线自动化的同行甩过来一份 docx,标题是《2021-2027 全球与中国 SMT AOI 监测设备市场现状及未来发展趋势》,领导要三页材料,讲清 SMT AOI 监测设备市场的占有率和行业前景。他翻到第一页就卡住:2020 年全球市场规模那句写的是“达到了亿元”,预测年份还停在 2026。这类报告真正值钱的地方不是替你填数字,而是它把产能、产量、销量、销售额、价格、毛利率六个维度,配上 2016-2020 历史数据和 2021-2027 预测数据,再按产品类型、下游应用、地区三条轴拆开,形成一套完整的可比口径。写立项材料、做竞品对标、给设备选型找依据的人都能用上,前提是先把它验一遍再用。下面按“拆结构、算份额、判前景、避坑、复现”五步走。

2. 报告结构怎么拆:11 章正文里哪几章能直接引数据

2.1 先分清数据章和话术章,别从结论页开始读

拿到这类报告,多数人的第一反应是翻到最后看结论。这一步最容易出错:结论页给的是没有分母的百分比,你既不知道它是按销售额算的还是按销量算的,也不知道分母是全球还是中国。我一般的顺序是先读附录里的研究方法、二手信息来源、一手信息来源、数据交互验证这四节,花十分钟搞清楚数据是怎么来的,再回到正文取数。

按可引用程度给正文分个类,心里有张地图,取数时就不会抓错章:

章节区间主要内容数据性质可引用程度
第 1 章产品定义、统计范围、分类口径定性只引用分类定义,不引数字
第 2 章全球与中国供需,产能、产量、销量、销售额、价格定量高,重点核单位
第 3 章主要厂商产能、销量、收入、份额、价格定量高,重点核分母
第 4 章北美、欧洲、中国、日本、东南亚、印度六个地区定量中,重点核加总
第 5 章20 家主力厂商画像定性为主低,多为公开资料转述
第 6、7 章按产品类型、按下游应用的拆分定量高,重点核是否 MECE
第 8 章产业链上下游、销售渠道定性只当线索
第 9 章中国市场产地与消费地分布定量中
第 10 章驱动因素、阻碍因素、政策、SWOT定性只当线索,不作为论据
第 11、12 章结论与附录(研究方法、数据来源、免责声明)方法必读,决定可信度

真正能进 PPT 数字页的,是第 2、3、4、6、7 这五章。第 5 章那 20 家厂商的“最新动态”字段,基本都是公开新闻的二次转述,引用前一定要回到原始出处,否则你会在评审会上被问住。

2.2 六个核心指标的定义,以及必须闭合的三条等式

SMT AOI 属于装配型精密设备,它的产能、产量这套词和流程行业完全不是一回事。产能指以台/年计的装配与标定能力,瓶颈通常在光学模组装配和标定工位,不在整机总装线。所以看到“产能利用率常年 72%”这种数字不必紧张,落在 70% 到 85% 之间对这类设备是正常波动;一旦看到 95% 以上或者 50% 以下,先去查是不是把代工产能算进来了,或者统计口径从“整机”换成了“整机加改造”。

指标定义要点常见单位取数位置常见问题
产能年装配+标定能力台/年第 2、3 章是否含代工、含改造机
产量实际完工入库台/年第 2 章与销量差值是库存还是口径差
产能利用率产量 ÷ 产能%第 2 章与行业常识区间对不上
销量售出整机数量台第 2、3、6、7 章是否含软件单独售卖
销售额整机+随附收入亿元第 2、3 章币种、是否含税
均价销售额 ÷ 销量万元/台第 3 章产品结构变化导致失真
毛利率(收入−成本) ÷ 收入%第 3、5 章是否含服务收入

这几列之间必须能对上,下面三条等式是我每次必做的验算:

  1. 产能利用率 = 产量 ÷ 产能,三者都给的情况下,用两个反推第三个,误差超过 3 个百分点就说明有一列是估的。
  2. 销售额 = 销量 × 均价。单位要先统一到万元或亿元,币种也要统一。对不上就去看销量里是不是混进了离线台式机。
  3. 地区加总 = 全球;类型加总 = 全球;应用加总 = 全球;Top N 厂商加总 ≤ 全球,差额由“其他”补齐。

第三条最容易被忽略。曾见过一份材料,把六个地区的销售额直接加起来,得到的结果比全球总量多了 11%,原因是有厂商的销售额在“产地”和“消费地”两个口径里各算了一次。这类错误在评审现场一旦被指出来,整份材料的可信度就没了。

2.3 历史数据与预测数据的衔接:2016-2020 与 2021-2027 之间那道缝

历史段是 2016 到 2020,预测段是 2021 到 2027,中间那道缝在第 2021 年。要确认这一年到底是实际值、估算值还是纯外推,三种情况对结论的影响完全不同。设备采购对下游景气度的反应有 2 到 3 个季度的滞后,2020 年的基数受外部冲击压得偏低,2021 年的反弹里有多少是真实新增需求、有多少是补库存,光看一条平滑的 CAGR 曲线是看不出来的。

我的做法是把预测段切成三段来读:2021-2022 当恢复期,看的是订单回补;2023-2025 当结构升级期,看的是汽车电子和更高精度元件带来的单机价值提升;2026-2027 当换机与升级周期,看的是存量设备的替换需求。然后用报告给的 CAGR 当上限,用下游产线的资本开支增速当下限,给一个区间而不是一个点值。写材料时把区间和假设条件一起摆出来,比一个孤零零的百分比经得起追问。

提示:报告正文里如果出现“预计 2026 年将达到”和标题的 2027 不一致,说明预测段至少被改过一版。这种情况下不要直接引用终值,改用中间年份做锚点,再线性外推。

3. 市场占有率怎么算:分母、梯队和三条拆分轴

3.1 份额的分母取销售额还是销量,排名会差出一大截

AOI 设备的价格跨度极大。离线式台式机和在线式 3D 机,单价能差到五倍甚至十倍。用销量做分母,以离线机为主力的厂商排名会明显靠前;用销售额做分母,主打在线式 3D 检测的头部厂商会立刻跑到前面。同一批数据,两种算法能给出两份完全不同的 Top 5 名单。

所以第一步是先声明口径,再算数。我习惯在 PPT 的角标里写清楚:“份额基于 2020 年销售额口径,分母为全球市场 120 亿元(报告第 2 章)”。这一行小字,能省掉后面半小时的解释。

第二个容易混淆的是分母范围。报告第 3 章同时给了全球市场主要厂商和中国市场主要厂商两组数据,是两套独立的分母。把中国区收入除以全球市场规模,算出来的份额只有真实值的四分之一左右;反过来把全球收入除以中国市场总量,份额能翻四倍。我见过最典型的一次,就是在一份竞品分析里把这两组混着用了,整页图表全部作废,只能重做。

3.2 Top 5 与梯队划分的复现方法

报告里的梯队划分只给了结果,没给阈值。想复现或者按自己的口径重算,把厂商表整理成最小字段集,用下面这段跑一遍就够:

import pandas as pd # 字段来自报告第 3 章厂商表,先手工整理成最小集 # 单位统一:销售额=亿元,销量=台 df = pd.DataFrame({ "vendor": ["厂商A", "厂商B", "厂商C", "厂商D", "厂商E"], "camp": ["韩系", "德系", "日系", "台系", "国产"], "sales_16": [8.1, 7.9, 6.4, 4.2, 2.8], # 2016 年销售额 "sales_20": [12.4, 9.8, 7.1, 5.6, 4.9], # 2020 年销售额 "qty_20": [520, 410, 300, 260, 240], # 2020 年销量 }) GLOBAL_20 = 120.0 # 报告第 2 章给出的 2020 年全球销售额,作分母 df["share_20"] = df["sales_20"] / GLOBAL_20 * 100 # 销售额口径份额 % df["cagr"] = (df["sales_20"] / df["sales_16"]) ** (1 / 4) - 1 # 2016→2020 共 4 年 df["asp"] = df["sales_20"] * 10000 / df["qty_20"] # 均价,万元/台 df = df.sort_values("share_20", ascending=False).reset_index(drop=True) df["tier"] = pd.cut(df["share_20"], bins=[-1, 3, 8, 100], labels=["第三梯队", "第二梯队", "第一梯队"]) print(df.round(2).to_string(index=False)) print("CR5 = %.1f%%" % df["share_20"].head(5).sum()) # 交叉校验:厂商加总必须小于全球总量,差额应等于"其他"口径 gap = GLOBAL_20 - df["sales_20"].sum() print("残差 %.1f 亿元,占 %.1f%%" % (gap, gap / GLOBAL_20 * 100))

逻辑上分四步:先算份额,再算四年 CAGR,再用销售额除以销量反推均价,最后按份额切梯队。几个参数值得说明。(1/4)里的 4 是时间跨度,2016 到 2020 是四年,如果换成 2017 到 2021 就改成(1/5),写成(1/4)还是(1/5)直接决定 CAGR 差好几个百分点。* 10000是把亿元换算成万元,因为均价的常用单位是万元/台,不换算会得到 0.02 这种看不懂的数。bins=[-1, 3, 8, 100]里的 3 和 8 是我常用的经验阈值,第一梯队 8% 以上、第二梯队 3% 到 8%、第三梯队 3% 以下,换成别的市场规模时这两个阈值要跟着调,市场越分散阈值越低。

最后那个残差校验是整段代码里最值钱的一行。厂商加总如果超过全球总量,说明有重复计算;如果残差只有 2% 到 3%,说明这份厂商表基本把主要玩家都覆盖了,可以放心做 CR5;如果残差 30% 以上,说明还有一批没列进来的中小厂商,这时候急着算 CR5 是没有意义的。

3.3 均价能反推产品结构,也能识别虚高的份额

均价这个指标在 AOI 行业里特别好用,因为它直接反映产品结构。行业里普遍的情况是:离线式台式机十几万到几十万一台,在线式 2D 机几十万到百万元级,在线式 3D 机普遍在百万以上,带 AI 复判和高精度光学模组配置的机型会更高。这个量级关系是判断数据合理性的重要基准。

把每家厂商的均价算出来横向比一遍:某家均价明显低于同行一半,多半是产品结构偏离线、或者销量里混进了改造翻新机;某家均价高出同行 40% 以上,要查它是不是把软件授权和服务收入一并计入了整机销售额。这两种情况下直接拿份额排名做竞品对标,结论都会偏。我一般在份额表旁边并排放一张均价表,两张表一起看,比只看一张表可靠得多。

4. 行业前景怎么读:把三条拆分轴翻译成产线语言

4.1 应用拆分:电子、通信、汽车、其他这四个口袋不是互斥的

报告第 7 章把下游分成电子、通信、汽车、其他四类。这四个口袋在定义上并不互斥,一部手机既是电子也是通信,一块车载模组既算汽车也算电子。实际看图的时候你会发现,四个应用加起来有时超过 100%,有时不到 100%,取决于厂商在填报时把同一批货算进了哪个口袋。

真正有信息量的是汽车这一类的占比变化。汽车电子对 AOI 的要求和其他应用完全不在一个量级上,硬指标包括:重复性与再现性(GR&R)要控制在 10% 以内,过程能力指数(CPK)要能算得出来,每块板必须留下可追溯的检测图像和参数快照,节拍必须和整线 CT 对齐。这几条决定了车规产线基本只能用在线式 3D 机型,而且对算法稳定性要求极高,误报率高一点产线就被迫停线复判。

应用典型检测重点对设备的硬指标归类时的常见问题
电子缺件、偏移、立碑、极性反、错件分辨率、编程速度与通信重叠,易重复计数
通信微小元件、屏蔽罩内器件、桥连多角度光源、高分辨率镜头高频板对翘曲敏感
汽车焊点空洞、翘脚、锡量、批次追溯GR&R、CPK、全量存档、节拍与电子重叠,占比易被低估
其他医疗、工控、军工小批量换线速度、离线编程能力样本少,统计意义弱

判断行业前景时,看汽车占比是不是在逐年抬升,比看总量 CAGR 有用得多。总量增速可能只有个位数,但结构在变,单机价值量在往上走,这对做设备的人和做选型的人意义完全不同。

4.2 线上、线下的翻译陷阱:In-line 与 Off-line 差的是整条产线

产品类型那一章把设备分成“线上”和“线下”两类,这个译法是从 In-line 和 Off-line 直译过来的,但中文语境下极易被理解成销售渠道,也就是电商和实体店。一旦按渠道去理解,整章的结论全错。正确的对应关系是在线式(In-line,串在产线上)和离线式(Off-line,独立摆放、人工上下料)。

对比维度在线式 In-line离线式 Off-line
安装方式接驳轨道串入 SMT 线,符合 SMEMA 接口独立机台,人工或半自动上下料
节拍必须匹配整线 CT,不能成为瓶颈不参与整线节拍
典型场景大批量、车规、需要全检和追溯打样、小批量多品种、首件确认、返修复判
关键能力与 SPI、贴片机、回流焊的数据联动,MES 上传离线编程速度、程序复用、快速换型
常见问题误报导致停线,复判工位压力大漏检率高,依赖人工经验

这张表决定了选型方向。产线日产能上到一定量级、又要求全检和追溯,基本只能走在线式;打样车间和多品种小批量,离线式的性价比高得多,硬上在线式会因为频繁换型把编程时间全吃掉。报告里按这两类拆分销量和收入,本质上拆的是两种完全不同的商业模式,混在一起看总量会丢掉所有信息。

4.3 增长率的三种读法,别只信一条 CAGR

报告给的 CAGR 是复利平均值,好处是抹平波动、适合讲长周期,坏处是把 2020 年的低谷和 2021 年的反弹全压平成一条直线。至少再补两种读法:

逐年同比看的是节奏。把 2016 到 2027 逐年 YoY 拉出来,你能看到哪一年是坑、哪一年是补库存带来的虚高,这些拐点在写风险提示时是硬素材。

渗透率看的是天花板。很多报告不给这个数,但它对“前景”的判断比销售额增速硬。一个粗略的估法是:年新增装机需求 ≈ 存量产线数 ÷ 替换周期 + 新增产线数。替换周期可以用销量反推,销量除以保有量约等于 1/替换周期。AOI 这类设备的实际替换周期通常比厂商标称的使用寿命短,因为算法和光学模组的代差会在三五年内就把老机型比下去,这是我接触过的产线里比较普遍的现象。把替换需求和新增需求分开算,你对未来三年的判断会比单看一个 CAGR 稳得多。

注意:用销量反推替换周期时,销量里如果混进了改造机和翻新机,算出来的周期会明显偏短。先确认销量口径是整机新造,再做这个除法。

5. 避坑与排查:这份报告里五个必须先标红的点

5.1 关键数字是空的,模板占位符没回填

现象:市场规模那句写的是“2020 年全球 SMT AOI 监测设备市场规模达到了亿元”“预计 2026 年将达到亿元,年复合增长率为 %”,三处关键数字全是空的,只剩单位。

原因:这类文档是按统一模板批量生成的,数字字段依赖上游数据库授权或者付费数据源,没拿到就留空占位。也可能是从别的版本复制过来时把变量删了。

解决:不要自己编一个数字填进去。正确做法是把这份报告当口径框架用,具体数值从公开的年报、行业协会统计、招投标公告里自己拼,拼不出来就在材料里写区间并标注估算方法。评审时被问到“这个数哪来的”,能答出方法比答出一个漂亮数字更重要。

5.2 标题写 2027,正文预测到 2026

现象:文件标题是 2021-2027,正文第一段却写“预计 2026 年将达到”。两处年份对不上。

原因:版本拼接。报告的预测段可能改过一版,标题更新了,正文段落没同步。目录里第 4、6、7 章的预测区间写的是 2022-2027,说明预测段本身是到 2027 的,出问题的只是第一段那句概述。

解决:以目录和正文章节里的区间为准,把概述段的 2026 当作笔误处理。引用时统一到 2027,并且在材料脚注里注明“原报告概述段年份与正文不一致,已按正文区间统一”。

5.3 把“线上/线下”当成销售渠道

现象:看到产品类型分成线上和线下,顺手在 PPT 里画了一个电商渠道占比饼图。

原因:In-line 和 Off-line 的机翻痕迹,中文里“线上”默认指互联网渠道,语义被彻底带偏。

解决:全文替换成“在线式(In-line)”和“离线式(Off-line)”,并且在第一次出现时加一句括号说明。这一步花不了两分钟,但能避免整章结论作废。

5.4 厂商清单口径混杂,直接做份额分母会失真

现象:把清单里所有厂商的销售额加起来当分母,算出来的 CR5 高达 70% 以上,和行业实际感受对不上。

原因:这份清单是个大杂烩,既有以 AOI 为主营的专业厂商,也有贴片机厂商、综合自动化厂商和只做检测模组的公司。后几类的 AOI 收入只是它们总营收里的一小块,但填报时往往报的是整机业务口径,有的甚至报了公司总营收。

解决:按“AOI 是否为主营业务”做一次分层,只把第一层的厂商放进份额分母,其他层单独列成“潜在进入者”。分层之后重新算 CR5,通常会比混着算低 10 到 20 个百分点。分层依据不一定要写进材料,但你自己心里必须有。

5.5 应用分类不满足 MECE,加总不等于 100%

现象:电子、通信、汽车、其他四类的占比加起来是 112%,或者只有 88%。

原因:四个口袋定义重叠,同一批出货在不同厂商那里被归进了不同类别;也可能是“其他”这一项在部分厂商报表里被省略了。

解决:引用前先做归一化,把四类按实际加总缩放到 100%,并在脚注写明“已按报告分项数据归一化处理”。如果某一类的占比波动超过 5 个百分点,就不要用它做趋势判断,只作为静态结构参考。

6. 把 docx 变成可计算表:一次抽取加三道校验

前面所有工作都建立在“能把表拿出来算”这个前提上。手工抄 20 家厂商乘 5 个字段,抄错一个数就前功尽弃。用 python-docx 把文档里的表格批量抽成 DataFrame,是我现在固定走的第一步:

from docx import Document import pandas as pd doc = Document("market_report.docx") # 报告文件路径 rows = [] for idx, table in enumerate(doc.tables): for row in table.rows[1:]: # 跳过表头行 cells = [c.text.strip().replace("\n", " ") for c in row.cells] if len(cells) >= 2 and any(cells): rows.append([idx] + cells) df = pd.DataFrame(rows) df.columns = ["table_id"] + [f"c{i}" for i in range(1, df.shape[1])] # 只保留至少一个单元格含数字的行,过滤纯文字描述行 has_num = df.drop(columns="table_id").apply( lambda s: s.astype(str).str.contains(r"\d", na=False) ).any(axis=1) df = df[has_num] print(df.groupby("table_id").size().sort_values(ascending=False).head(8))

这段代码的关键在三处。table.rows[1:]跳过表头,是因为这类报告的表头经常跨行合并单元格,抽出来是残缺的,不如手工补列名。replace("\n", " ")处理单元格内的软换行,不处理的话后续做字符串匹配会断掉。table_id这一列保留原表序号,方便回溯到文档里的具体位置核对;这一步不能省,抽完之后一定要对着原文档抽查两三张表,我吃过亏,某次表格里嵌套了另一个表格,抽出来行数少了一半,直到算出来的份额对不上才发现。

抽完之后的第二道工序是三道校验:地区加总对比全球总量、类型加总对比全球总量、厂商加总对比全球总量。三个残差里只要有一个超过 10%,就说明抽样不完整或者有重复计算,此时不要往下算份额。第三道工序是单位统一,把亿元、万元、百万美元、台、千台全部换算到同一套单位,这一步写在脚本开头,别散在中间。

提示:抽取之前先把文档另存一份副本,所有改动都在副本上做。原始文件留着,后面核对数值时它就是唯一的参照。

从那以后,我每次碰这类行业研究报告,都会先跑一遍抽取脚本、做三道加总校验,再动笔写任何一个百分比。这个习惯救过我至少两次——有一次是厂商表里同一家公司的两个品牌被拆成了两行,加总残差直接报警;另一次是某张地区表的单位从“万台”悄悄换成了“台”,不核对的话,那个地区的增速会被放大一万倍写进材料里。希望这些步骤能帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进