combo_health 自愈器)在生产 被关闭,且即使打开、按当前 100 样本阈值也 永远拦不住 这些死组合。
先把「接码率下滑」这个吓人的表面指标放到正确的上下文里——底层付费引擎在增长。
整体接码率逐周下滑(下表),但这几乎完全由低接码率品类的量占比膨胀驱动,而非任何品类自身变差。
| 周(起) | 订单 | 接码率 | 趋势 |
|---|---|---|---|
| 06-01 | 1,464 | 27.0% | |
| 06-08 | 12,708 | 25.2% | |
| 06-15 | 7,600 | 23.6% | |
| 06-22 | 9,357 | 23.9% | |
| 06-29 | 10,483 | 19.0% | |
| 07-06 | 12,252 | 17.6% |
| Service | 订单 | 量占比 | 接码率 | 利润 | |
|---|---|---|---|---|---|
| telegram | 4,542 | 32.1% | 5.9% | $54.7 | 拖累 |
| openai | 2,781 | 19.6% | 44.8% | $145.3 | 引擎 |
| 2,108 | 14.9% | 3.1% | $61.3 | 拖累 | |
| flipkart | 968 | 6.8% | 4.6% | $5.1 | 拖累 |
| 752 | 5.3% | 15.3% | $15.5 | ||
| tinder | 381 | 2.7% | 53.5% | $22.8 | 健康 |
GA4 流量平稳但订单量上涨 → 是同一批老用户在反复重试,不是新需求涌入。因为失败会全额退款,用户没有任何经济代价去停止重试,形成自我强化的空转循环——烧供应商 API 配额、拉高 worker 负载、恶化体验。
| 组合 | 7d 订单 | 取到号 | 完成 | 下单用户 | 状态 |
|---|---|---|---|---|---|
| telegram / JP | 108 | 0 | 0 | 58 | $0.000 挂售 |
| telegram / OM | 102 | 0 | 0 | 65 | $0.000 挂售 |
| wolt / RS | 100 | 0 | 0 | 1 | 单人刷 |
| telegram / KR | 70 | 0 | 0 | 32 | $0.000 挂售 |
| telegram / TW | 64 | 0 | 0 | 32 | 死组合 |
| telegram / FR | 54 | 0 | 0 | 30 | 死组合 |
| whatsapp / SY | 45 | 0 | 0 | 23 | 死组合 |
这些组合物理上取不到号(供应商无库存),却仍以 $0 价格挂在 catalog 里让用户不断下单、100% 秒失败。
combo_health 接码率自愈器在 backend/config/config.production.yaml 里 enabled: false。生产 combo_health_decisions 表完全为空——从未做出过任何一条 hide 决策。死组合无人拦截。
(supplier, service, country) 三元组、min_sample_size = 100 / 24h 判定。但这些死组合的调用被摊到 3–4 个供应商 × 每日窗口后,每个三元组每天只有 10–30 次调用(telegram/JP:durianrcs 12、5sim 12、sms-bus 10;峰值 telegram/RU durianrcs 也只 30/日)。永远够不到 100 的样本门 → 永远 sample_starved → 永远不会被 hide。worker 自带的 sample_starved>0 && assessable==0 空转告警本应为此而响。
代码验证要点:decodeRate() 在 Allocations<=0 时返 0,而 0 < hide_threshold(0.01) → 逻辑上会 hide 零取号组合——所以问题不是「算法看不见取号失败」,而是 ①开关关着 + ②样本门相对流量粒度过高,两者叠加让保护形同虚设。
-- 需先过 prod SQL 三件套;建议 dev 验证后再上
INSERT INTO service_country_fulfillment_controls
(canonical_service_code, canonical_country_code, mode, notes)
VALUES
('telegram','JP','suspend_sales','死组合 0取号/7d — 2026-07-12 日报'),
('telegram','OM','suspend_sales','死组合 0取号/7d'),
('telegram','KR','suspend_sales','死组合 0取号/7d'),
('telegram','TW','suspend_sales','死组合 0取号/7d'),
('telegram','FR','suspend_sales','死组合 0取号/7d'),
('whatsapp','SY','suspend_sales','死组合 0取号/7d'),
('wolt','RS','suspend_sales','单人刷 0取号/7d')
ON CONFLICT (canonical_service_code, canonical_country_code) DO NOTHING;
combo_health.enabled=true,但必须同时把评估口径改成按 canonical (service,country) 跨供应商汇总,或大幅下调 min_sample_size(如 30)/ 拉长窗口到 7d;否则它对上述死组合仍是 no-op。(自愈器会把组合从售卖中隐藏,属营收相关改动,需 A/B 或灰度,不建议 autonomous 直接上——与团队既有规范一致。)