业务背景
2026 年 10 月,一家拥有数亿用户的对话类 AI 产品向法院申请破产保护。两份公开媒体报道引用了同一批法院文件,披露了它的逐月算力支出与收入数据。对做成本建模的人来说,这份账本的价值在于:它是少见的、把 AI 服务成本结构拆开摆出来的公开样本。
本文不评价这家公司,也不推断行业情况。只做一件事:把公开的几组数字建成一个能跑的模型,看清〔收入与成本的会计性质不匹配〕会算出什么结果。
数据出处均为媒体报道所引用的法院文件,非公司公开财报,非第三方审计。下文中凡属本人推演的地方,标注【推论】。
关键挑战:收入与成本不在同一本账上
建模前先要处理一个容易被跳过的问题:同样是钱,会计性质不同。
- 费用性质的收入:用户可随时终止。订阅费就是典型的此类,退订即消失,不产生后续收益。
- 资产性质的成本:投出后留在账上。算力支出对应的是机器、带宽和合约,投出去就在那里,不随用户数减少自动归零。
把两者混在一个模型里做同比,会得到误导性结论。正确做法是先给每一笔钱打标,再算差额。
方案:先打标,再算缺口
下面这段脚本把公开数字按性质分开,算出月度缺口与累计缺口。
# 单位: 万美元 / 月
# 数据来源: 媒体报道引用的法院文件, 未做独立核验
cost_2024_monthly = 1380.0 # 2024 年每月算力支出
cost_2025_monthly = 1000.0 # 2025 年每月算力支出
cost_2026_jan_aug = 5610.0 # 2026 年 1-8 月算力支出合计
rev_subscription_peak = 280.0 # 订阅收入峰值(每月)
rev_total_peak = 530.0 # 含广告的全部收入峰值(每月)
def monthly_gap(cost, revenue):
"""成本按资产性质计, 收入按费用性质计, 差额即当月缺口"""
return cost - revenue
print("2024 年按月缺口(仅算力 vs 订阅峰值):",
round(monthly_gap(cost_2024_monthly, rev_subscription_peak), 1))
print("2025 年按月缺口(仅算力 vs 订阅峰值):",
round(monthly_gap(cost_2025_monthly, rev_subscription_peak), 1))
# 2026 年 1-8 月: 算力按月摊, 收入取含广告的峰值(最乐观口径)
cost_2026_monthly = cost_2026_jan_aug / 8
print("2026 年 1-8 月算力月均:", round(cost_2026_monthly, 1))
print("2026 年按月缺口(算力 vs 全部收入峰值):",
round(monthly_gap(cost_2026_monthly, rev_total_peak), 1))
print("2026 年 1-8 月累计缺口:",
round(cost_2026_jan_aug - rev_total_peak * 8, 1))
跑出来的结果:
2024 年按月缺口(仅算力 vs 订阅峰值): 1100.0
2025 年按月缺口(仅算力 vs 订阅峰值): 720.0
2026 年 1-8 月算力月均: 701.2
2026 年按月缺口(算力 vs 全部收入峰值): 171.2
2026 年 1-8 月累计缺口: 1370.0
注意最后两行的口径:这里收入取的是含广告的全部收入峰值,也就是最乐观的估计。即便如此,2026 年前 8 个月仍有约 1370 万美元的累计缺口要由外部资金填补。【推论】这个缺口不由用户数决定,也不由收入增长率决定,它由〔收入可随时消失、成本已经沉没〕这个结构决定。
实测数据(公开披露口径)
| 项目 | 数值 | 性质 | 出处 |
|---|---|---|---|
| 2024 年每月算力支出 | 约 1380 万美元 | 资产 | 媒体报道引法院文件 |
| 2025 年每月算力支出 | 约 1000 万美元 | 资产 | 同上 |
| 2026 年 1—8 月算力支出 | 累计 5610 万美元 | 资产 | 同上 |
| 订阅收入峰值 | 每月约 280 万美元 | 费用 | 同上 |
| 含广告的全部收入峰值 | 每月约 530 万美元 | 费用 | 同上 |
| 2026 年 8 月月度亏损 | 约 800 万—900 万美元 | — | 同上 |
表中〔2026 年 8 月月度亏损〕与脚本算出的缺口不是同一个口径:亏损包含人力、市场等其他成本,脚本只算了算力对收入。两组数字不要混用。
同样的建模,怎么用在自己的账上
把脚本里的两个变量换成你自己的数,就能跑同一套判断:
def keep_or_drop(monthly_fee, avoidable_spend, produces_asset):
"""
monthly_fee: 月费
avoidable_spend: 停用后立刻从账上消失的支出(外包费/兼职费等)
produces_asset: 是否产出可沉淀的东西(内容库/客户数据/跑通的工作流)
"""
if avoidable_spend > 0 and monthly_fee / avoidable_spend > 1:
return "keep"
if produces_asset:
return "keep" # 生产工具类, 算不出省钱也保留
return "drop"
print(keep_or_drop(99, 600, True)) # keep 替代了 600 元外包文案
print(keep_or_drop(99, 0, True)) # keep 不省钱但产出内容资产
print(keep_or_drop(99, 0, False)) # drop 既不省钱也不产资产
avoidable_spend 这个字段是这套判断里唯一需要在账上查的数,不要拿〔省了多少小时〕去估它。估出来的分母会把结论带偏。
踩坑
- 别把算力和人力成本合并建模。算力是已沉没的资产性质支出,人力是可调整的,两者对收入变化的响应完全不同,合并后看不出缺口来源。
- 别用收入峰值当常态值。峰值是最乐观口径,用它算出的缺口是下限。本例脚本已经用了峰值,实际缺口只会更大。
- 别跨年直接比月度数。2024、2025、2026 的披露口径不完全一致(前两年是月度数,2026 年是 8 个月合计数),先摊平再比。
- 别把〔有买家接手资产〕当成〔业务可持续〕。据媒体报道,部分资产与技术许可被另一家公司接手,这是资产处置结果,不等于该产品线的单位经济成立。【推论】
适合 / 不适合
适合:手上有一堆按订阅付费的服务、需要判断哪些该续哪些该停的人;需要向团队解释〔为什么用户涨了还在亏〕的人。
不适合:想据此判断某家公司值不值得投资的人。本文只做成本结构建模,用的是单一案例的公开披露数字,不构成对行业整体状况的判断,也不构成投资建议。
小结
这组数字真正值得记住的不是金额,是结构:收入在费用位、成本在资产位,差额只能靠外部资金填。 建模时先给钱打标,再看差额,比盯着用户数和增长率有用得多。
数据出处:TechCrunch、404 Media 于 2026 年 10 月 13 日发布的报道,所引财务数据均出自其报道中提及的法院文件,未经独立核验。