DogeSMS · 经营情报日报

24% 的取号调用正打在“取号率 2.4%”的结构性死路组合上 —— 而唯一能拦截它的自愈门在生产环境是关闭的

数据窗口:截至 2026-07-04 20:08 UTC 的过去 24h,对比前 24h / 7d / 30d · 数据源:Production 只读库 + GA4 (property 512790783) + main 分支代码交叉验证

过去 24h 订单量其实上升了 9%(1645 vs 1508),但端到端完成率却逆势下滑到 16.1%(30d 24.1% → 7d 20.4% → 昨日 18.8% → 今日 16.1%,四级台阶式下跌)。深挖后发现:这不是供应商单点故障,而是需求 mix 正持续涌向一批我们几乎没有货源的 service+country 组合,这些订单以 96.8% 的概率必败,白白拖低全站转化、并烧掉近 1/4 的供应商 API 调用。

16.1%
端到端完成率 (24h)
▼ vs 昨日 18.8% / 30d 24.1%
36.0%
订单 failed 占比
▲ 昨日 25.8% (+203 单)
40.8%
取号率 (alloc, 24h)
▼ 昨日 50.6% (−10pt)
216
死路组合订单 (24h)
0.0% 完成 · 96.8% 失败

一、核心洞察:结构性死路组合是隐藏的转化黑洞

把过去 7 天 supplier_execution_attempts 按 service+country 聚合,筛出「调用量 ≥ 50 且取号率 ≤ 10%」的组合,得到 24 个死路组合,平均取号率仅 2.4%。它们在过去 24h:

反事实测算:剔除这 24 个死路组合后,剩余「健康」订单的完成率是 18.5%,而全站混合完成率被拉到 16.1%。换句话说,死路组合独自贡献了约 2.4 个百分点的转化率损耗,且这部分损耗 100% 是可消除的死重(因为完成率恒为 0)。

Top 死路组合(过去 7d,调用量 ≥ 50,取号率 ≤ 10%)

Service国家7d 调用取号率货源现状
telegramKZ 哈萨克斯坦7829.3%近乎无货
redbook-xiaohongshu 小红书CN 中国6450.0%零货源
telegramOM 阿曼3650.0%零货源
whatsappIN 印度3306.1%近乎无货
telegramTW 台湾3051.0%零货源
telegramCN 中国2720.0%零货源
telegramKR 韩国2091.0%零货源
telegramCH 瑞士1770.0%零货源
telegramSG 新加坡1119.9%近乎无货
whatsappSY 叙利亚990.0%零货源

财务侧已确认无资金损失:死路订单走反转扣款流,失败即全额退款(过去 24h debit $3.45 = refund $3.45 完全对冲)。损害集中在用户体验、转化率、以及浪费的供应商调用配额三处。

二、需求来源交叉验证:GA4 流量 ↔ 死路组合完全吻合

死路组合高度集中在 中国 / 港澳台 / 东南亚 / 独联体 号码。GA4 过去 2 天数据给出了需求侧的直接解释:

GA4 用户地区 (2d)活跃用户信号
🇨🇳 中国1127第一大来源
🇺🇸 美国601货源充足
🇯🇵 日本279货源紧张
🇭🇰 香港192近乎无货
🇸🇬 新加坡182近乎无货
🇹🇼 台湾68零货源

头号落地页是中文支柱博文 /zh-CN/blog/sms-verification-platforms-2026-guide(621 sessions,仅次于首页),流量来源里 cn.bing.com(339)、v2ex.comiplaysoft.com、导航站 axutongxue 等清一色华语渠道。

闭环结论:中文 SEO 内容把大量华语用户导入 → 他们要的是港/台/中/星/日号码 → 我们对这些组合几乎零货源 → 订单必败。这是一个「流量 × 产品」错配问题:拉新做得不错,但落地的需求打在了供给的盲区上。

三、根因(代码交叉验证):拦截机制既没开、又对取号率失明

系统里唯一能自动屏蔽劣质组合的机制是 combo_health 自愈 worker。经 main 分支代码核对,它存在两个叠加缺口,导致死路组合永远可下单:

缺口 1 · 生产环境根本没开启

backend/config/config.production.yamlcombo_health.enabled: false(注释写着「上线开关(默认关)」)。生产库 combo_health_decisions至今 0 行、从未做过任何一次自动隐藏决策——铁证。

缺口 2 · 即使开启,也只看接码率、对取号率失明

该门的判定口径是 接码率 decodeRate = SMSReceived / Allocations(见 combohealth/service.go:191),隐藏阈值 HideThreshold = 0.01(1%),且要求 24h 样本 MinSampleSize ≥ 100。表结构也只有 decode_rate_24h / decode_rate_7d 两列,根本没有取号率维度

致命盲区:死路组合是在取号这一步就失败的(NO_NUMBERS),Allocations ≈ 0,于是 decodeRate = 0/0 无法计算、门永远无法对它们触发。— 也就是说,即便运营明天把开关打开,telegram+CH、redbook+CN 这类 0% 取号的组合依然会漏过去。

下游为何不兜底

前端 CountrySelector
仅判断 availableCount > 0
Catalog
供应商报「有库存」即 sellable(幽灵库存)
CreateOrder
无成功率预检,有 offer 就接单
Allocate
NO_NUMBERS → fallback 全败 → 订单 failed

供应商上报的 availableCount > 0 是「幽灵可用」:报了库存但实际取号返 NO_NUMBERS。前端、catalog、下单三层全程只信任这个幽灵信号,没有任何一层参考历史取号成功率。

四、行动建议

核心修复会改变「哪些组合可下单」这一产品行为,且阈值需要经验标定——按既往规则(改动组合可见性/推荐权重需人评 + 灰度,不做无人值守上线),本次不自动提交并合并 PR,而是给出精确到文件/行号的方案交团队拍板。

  1. 立即止血(运营,0 代码,分钟级):对 Top 10 零货源组合(redbook+CN、telegram+CN/CH/OM/TW/KR/SG、whatsapp+SY/IN 等)用现有 service_country_fulfillment_controls(suspend_sales)或 Admin 手动下架。可立刻回收 ~24% 的浪费调用、抬高全站完成率约 2.4pt。
  2. 给 combo_health 补「取号率维度」(后端,需人评+灰度):在 combohealth/service.go 的评估逻辑里,除 decodeRate 外新增 allocRate = Allocations / Attempts 门:当 attempts ≥ N 且 allocRate ≤ 阈值 时判 hide,unhide 沿用现有双窗口(24h+7d 同时回升)逻辑;combo_health_decisions 表加 alloc_rate_24h / alloc_rate_7d 列。这是唯一能覆盖「取号即失败」死路的修复。
  3. 在生产灰度启用 combo_health:当前 enabled: false。补完取号率维度后,先小样本/影子模式观察它会隐藏哪些组合,确认无误伤(如临时低接码率的热门服务)再全量。
  4. 流量×产品对齐(增长):华语流量是最大来源但落在供给盲区。要么补齐港/台/中/星货源,要么在中文落地页/推荐位优先曝光「有货」的组合(US/RU/GB 等),把拉新价值真正转化成完成订单。