diff --git a/README.md b/README.md index 8705bbf..9a1df28 100644 --- a/README.md +++ b/README.md @@ -104,13 +104,15 @@ sudo /opt/endorphin-tabularium-docs/auth verify 同一版本内容变化会拒绝导入,避免静默读取旧数据。回退代码时继续读取对应旧版本。 所有修改都经过工作分支和 PR,部署仍等待人工合并主线。 -当前资料包含 1,021 条公司/产品记录、10 类业务及待分类组、1,201 条证据记录和 187 条经营与技术观测。 +当前资料包含 1,021 条公司/产品记录、10 类业务及待分类组、1,209 条证据记录和 189 条经营与技术观测。 其中保留 93 家个案资料、912 条目录基础资料,并新增 16 个平台产品/业务样本;目录项不等于完成财务和技术核验。 Product Hunt两年档案各首批19张、合计38张发布/推广卡片以`candidateBatches`保存;公司成立年待核者不自动新增公司。其中18条仍待核成立年;排除依据区分正式成立字段与2025前已运营证据,精确注册日期未核者明确标注。候选元数据与其他研究记录同库持久化,覆盖报告逐条展示状态、缺项和公司关联。Kilo Code与KiloClaw两项映射一个已被收购的2025公司个案,采用规模、token吞吐及同名健康公司的收入不作为其ARR。 机器之心首批4条公司线索以独立候选批次记录:直达正文未读,经公司公开主页、官方代码或发起方公告补核PrismShadow与Stargate;SSI用2024官方历史更新排除,Utopai仍待核。不是两年中文来源全量。 TechCrunch栏目首批3条公司候选已追溯原始材料;Wabi据两个公开名录2025年份入表,精确注册日未核。官方条款称当前免费,收入仍未知,不填零。DreamHQ及Thrive Holdings成立年仍待核,后者2025公开发布公告另存。DreamHQ与名录同名摄像头公司区分,ADT拟收购尚待交割,融资、估值和目标公司业绩不当新AI公司的ARR。分类接口与RSS访问403及两年档案缺项保留。 +Eloquent补按结果/用量混合收费与工作流自述;Peec补品牌套餐、招聘中的ARR里程碑和团队下界。招聘发布日期不当业务截止日,报价与客户降本不当供应商收入。Gojiberry报价保留原文$,未见币种代码不强转美元。平台MRR样本与统计不变。 +Bessemer、Menlo、Stripe年度信与SaaS Capital的已核方法和访问限制另存为背景基准适用性表;不将高增长选样、采购支出、平台商户或增长率摘要当新AI公司ARR分布。SaaS Capital完整报告及各来源底表未取得者继续留缺。 补充ThinkWheel与中国NaiveAI;MiroMind成立年未核,公开研发年份单列。保留灵初智能成立年排除、深度原理日期待核和Naive近名实体复核记录。 -新增7条Speedrun个案,保留标题/正文冲突、七位数数量级、币种不明、合同管线与履历归属排除记录;相对日期不充当同期收入时点。核查页优先按人工确认的公司ID关联明细,旧版本保留按证据归属回退;68条核查中52条指向具体公司、4条属于全局方法、12条是未纳入候选。明细反向列出关联核查;币种不明的声明保留原值,不绘制美元收入长度条。 +新增7条Speedrun个案,保留标题/正文冲突、七位数数量级、币种不明、合同管线与履历归属排除记录;相对日期不充当同期收入时点。核查页优先按人工确认的公司ID关联明细,旧版本保留按证据归属回退;74条核查中54条指向具体公司、8条属于全局方法、12条是未纳入候选。明细反向列出关联核查;币种不明的声明保留原值,不绘制美元收入长度条。 Lightfield按Magical Tome主体与2025前历史业务列为CRM转型对照,成立年未知,不计新成立公司;Fundraisly成立年待核,其客户融资和创始人历史ARR不转移为公司收入。 Bud保留为2025成立且YC标记已收购的案例;Rocket.new按前身2021成立、2025产品上线的转型对照记录,历史ARR不混入新成立公司同期统计。 原候选36088 EveryApp从AI不明经补证入表,`directoryRechecks`保存后续复核,原1,428条台账及928条原始新增计数不改。OpenSEO与EveryApp不重复计公司;定价、星标、客户数和数据成本加价均不转为ARR。 @@ -155,7 +157,7 @@ MRR×12仅作为显示单位转换,不改写为公司ARR;公司ARR、估算 仍有3条因简介不足保留待分类。人工复核分类不代表独立验证技术水平、客户效果或财务数据。 AI 关键词可能出现在业务背景中,收入、买家和交付状态仍须逐家深查,不能把目录项的未知收入当作未披露。 技术专项评审用独立字段记录层级、日期、摘要与证据:未评审、已读技术自述、公开代码/模型材料可访问、有第三方独立评测记录。 -当前13条完成该字段的专项记录,其中6条确认材料可访问、1条记录第三方已发表评测(Gradium TTS Sep 2026);本轮未自行运行模型测试。缺字段不表示无技术能力,代码或模型卡可读不证明性能。 +当前14条完成该字段的专项记录,其中6条确认材料可访问、1条记录第三方已发表评测(Gradium TTS Sep 2026);本轮未自行运行模型测试。缺字段不表示无技术能力,代码或模型卡可读不证明性能。 界面支持按资料深度、记录团队规模和技术验证证据筛选;证据列表每页 30 条,避免一次渲染全部来源。 `pnpm test:research` 在远程 Runner 上验证同库持久化、重复读取、版本导入与回退、 diff --git a/apps/docs/scripts/auth-cli.ts b/apps/docs/scripts/auth-cli.ts index ff38bf8..a129816 100644 --- a/apps/docs/scripts/auth-cli.ts +++ b/apps/docs/scripts/auth-cli.ts @@ -183,8 +183,8 @@ async function main() { const research = await researchResponse.json(); assert.equal(research.companies.length, 1021); assert.equal(research.categories.length, 11); - assert.equal(research.evidence.length, 1201); - assert.equal(research.observations.length, 187); + assert.equal(research.evidence.length, 1209); + assert.equal(research.observations.length, 189); assert.equal((await request("/api/research/ai-companies", { method: "POST", headers })).status, 405); const researchPage = await request("/docs/other-research/ai-company-research/overview", { headers }); assert.equal(researchPage.status, 200); diff --git a/apps/docs/tests/research.test.ts b/apps/docs/tests/research.test.ts index bfb6695..29adf97 100644 --- a/apps/docs/tests/research.test.ts +++ b/apps/docs/tests/research.test.ts @@ -24,8 +24,8 @@ test("research revisions share the authentication database and preserve replay l assert.equal(consumeCode(config, "invalid"), "limited"); const initial = readResearchSnapshot(); assert.equal(initial.companies.length, 1021); - assert.equal(initial.evidence.length, 1201); - assert.equal(initial.observations.length, 187); + assert.equal(initial.evidence.length, 1209); + assert.equal(initial.observations.length, 189); assert.deepEqual(initial.candidateBatches, seed.candidateBatches, "candidate gaps persist in the same database metadata"); assert.deepEqual(initial.directoryRechecks, seed.directoryRechecks, "follow-up classifications persist without rewriting the discovery audit"); assert.deepEqual(readResearchSnapshot(), initial, "reopening does not duplicate records"); @@ -64,8 +64,8 @@ test("research validation rejects broken evidence and unsafe source links", () = test("reviews link explicit companies without turning global or excluded cases into companies", () => { const snapshot = structuredClone(seed) as ResearchSnapshot; - assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 52); - assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 4); + assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 54); + assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 8); assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 12); const review = snapshot.reviews.find((r) => r.id === "R4")!; assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]); @@ -97,7 +97,7 @@ test("disclosure counts exclude client income, biographies, targets and duplicat test("technical reviews keep accessible materials separate from tested capabilities", () => { const snapshot = structuredClone(seed) as ResearchSnapshot; - assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 13); + assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 14); assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 6); assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "independent-test").length, 1); assert.equal(snapshot.companies.find((c) => c.id === "AI051")?.revenueStatus, "unknown"); diff --git a/content/research/ai-companies.seed.json b/content/research/ai-companies.seed.json index 49ca315..1f9abf6 100644 --- a/content/research/ai-companies.seed.json +++ b/content/research/ai-companies.seed.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-tc-2", + "version": "2026-10-30-context-1", "asOf": "2026-10-30", "scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。", "limitations": [ @@ -427,18 +427,32 @@ "location": "美国旧金山", "business": "金融服务后台与客户服务操作Agent", "buyer": "金融与保险机构", - "delivery": "自述四周达到50万美元ARR", - "notes": "ARR统计日期和经常性定义不完整", + "delivery": "官网自述现有金融系统内执行工作流,提供模拟、渐进部署、人工审批及审计记录;未独立实测。", + "notes": "四周50万美元ARR仍缺日历截止日及经常性定义。现行按结果/用量收费可能有收入波动;官网改善百分比不是收入或独立性能验证。", "cohort": "2025年成立", "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", "datePrecision": "年", - "price": "未逐一核验定价页", + "price": "官网文章说明结果与用量混合收费;单位价格、最低承诺、失败重试和验收条款未公开", "stage": "公开资料,商用成熟度待核验", "sourceType": "公司在YC的自述资料", "evidenceIds": [ - "E015" + "E015", + "E102", + "ELOQ-HOME", + "ELOQ-OUTCOME" ], - "revenueStatus": "self" + "revenueStatus": "self", + "businessModel": "复杂任务按成功结果收费,分类和路由等简单任务按用量收费;具体合同待核", + "pricingEvidence": "ELOQ-OUTCOME", + "technicalReview": { + "level": "description", + "reviewedAt": "2026-10-30", + "summary": "已读工作流、安全控制及收费自述;未复测自动化率、系统集成或审计可用性,页面演示不是独立技术评估。", + "evidenceIds": [ + "ELOQ-HOME", + "ELOQ-OUTCOME" + ] + } }, { "id": "AI016", @@ -456,13 +470,15 @@ "cohort": "2025年成立", "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", "datePrecision": "年", - "price": "PRO页面标99美元/月,包含2个Agent及月度触达额度;附加用量另计。", + "price": "PRO原文$99/月,含2个Agent和至多1800个月度触达;CUSTOM含更高用量、集成、引导与专人支持,询价;币种代码待核", "stage": "公开资料,商用成熟度待核验", "sourceType": "公司在YC的自述资料", "pricingEvidence": "E131", "evidenceIds": [ "E016", - "MR-E-superfruits" + "MR-E-superfruits", + "E101", + "E131" ], "revenueStatus": "self", "businessModel": "软件订阅" @@ -1417,26 +1433,29 @@ "url": "https://peec.ai", "cat": "C06", "year": 2025, - "team": 70, + "team": 100, "location": "德国柏林 / 美国纽约", "business": "追踪品牌在AI搜索中的可见度,并以Agent协助研究、内容建议和工具间任务交接。", "buyer": "品牌营销团队与代理机构", "delivery": "2026-10-22公司公告称超过3500家公司采用,发布Peec Agent;未独立测试效果", - "notes": "2025年1月成立、2月产品上线;团队2024年已在Antler相识。", + "notes": "2025年1月成立、2月产品上线;2024团队在Antler相识。招聘转载的1500万ARR缺明确截止日及币种代码,与8月第三方估算不视为相互独立验证。", "cohort": "2025年成立", - "teamBasis": "2026-05-28公司披露超过70名员工;70为下界,非10月人数", - "price": "本轮未核验当前套餐", + "teamBasis": "2026-10-30访问公司招聘转载列100+,作为下界;页面Posted on 2026-09-22不等业务截止日,未独立核实", + "price": "品牌套餐比较表原文$95/$245/$495每月,企业询价;按提示词、模型与项目及Agent额度区分,席位不限;币种代码待核", "stage": "有公司披露的商业使用", "sourceType": "公司公告;第三方估算单列", "evidenceIds": [ "E088", "E089", "E090", - "DATE-PEEC-OCT" + "DATE-PEEC-OCT", + "PEEC-PRICE", + "PEEC-JOBS" ], "revenueStatus": "self", - "teamBound": ">", - "businessModel": "订阅计划含Agent额度,可追加月度credits;收入拆分待核" + "teamBound": "≥", + "businessModel": "订阅计划含Agent额度,可追加月度credits;收入拆分待核", + "pricingEvidence": "PEEC-PRICE" }, { "id": "AI056", @@ -29810,7 +29829,7 @@ "evidence": "E089", "scope": "公司整体", "selection": "signal", - "reason": "本轮最近可直接读取的公司披露;非当前10月值", + "reason": "本轮有明确公告时点的公司美元披露;招聘另有1500万声明但币种与业务截止日待核,非当前10月值", "bound": ">", "comparisonGroup": null }, @@ -31871,6 +31890,36 @@ "reason": "采用和token吞吐不等于收入;日期与定义未对齐时不合并、不反推ARR。", "bound": ">", "comparisonGroup": null + }, + { + "id": "PEEC-JOB-ARR", + "company": "AI055", + "name": "Peec AI", + "kind": "ARR(招聘自述)", + "value": 15000000, + "unit": "原文$,币种待核", + "timing": "2026-10-30访问;招聘页列2026-09-22发布,18个月里程碑的日历业务截止日未注明", + "evidence": "PEEC-JOBS", + "scope": "公司整体", + "selection": "historical", + "reason": "招聘自述非独立审计;不由发布日期推业务时点,不与Sacra估算合并或作为同期美元ARR", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "PEEC-JOB-TEAM", + "company": "AI055", + "name": "Peec AI", + "kind": "团队人数", + "value": 100, + "unit": "人", + "timing": "2026-10-30访问招聘转载;人数统计日未注明", + "evidence": "PEEC-JOBS", + "scope": "公司团队", + "selection": "scale", + "reason": "原文100+作为人数下界;不同时间和来源的团队数字不相加或平均", + "bound": "≥", + "comparisonGroup": null } ], "evidence": [ @@ -32800,14 +32849,14 @@ }, { "id": "E131", - "companyId": null, + "companyId": "AI016", "title": "Gojiberry AI定价口径", "url": "https://gojiberry.ai/", "publishedAt": null, "accessedAt": "2026-10-30", "kind": "公司官方定价或说明", - "summary": "PRO页面标99美元/月,包含2个Agent及月度触达额度;附加用量另计。", - "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + "summary": "PRO原文$99/月,包含2个Agent及至多1800个月度触达;CUSTOM询价,提供更高用量、集成和支持。", + "limitation": "2026-10-30访问快照;$未明确币种代码,保留报价原文,不据标价、试用或采用团队数反推收入或毛利。" }, { "id": "E132", @@ -45084,6 +45133,94 @@ "kind": "公司官方材料", "summary": "2025-04-29公告发布永久资本平台,用于长期投资、收购及运营企业。", "limitation": "公告日期为公开发布时点,不单独充当工商注册或精确成立年;不将Thrive Capital历史和被收购企业历史并为新AI公司的有机增长。" + }, + { + "id": "ELOQ-HOME", + "companyId": "AI015", + "title": "Eloquent官方现行金融工作流说明", + "url": "https://eloquentai.co/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "官网描述在现有银行、CRM和邮件系统中执行受监管工作流,包含模拟、分阶段部署、人工审批及审计记录。", + "limitation": "自动化比例、无API及集成效果为公司自述;界面案例和成本改善不当独立基准、真实交易或收入。" + }, + { + "id": "ELOQ-OUTCOME", + "companyId": "AI015", + "title": "Eloquent官方按结果与用量收费说明", + "url": "https://eloquentai.co/resources/pay-for-success-how-outcome-based-pricing-is-revolutionizing-customer-support", + "publishedAt": "2026-06-26", + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "官方文章称复杂问题按成功结果收费,未解决的处理不收费;分类、路由等简单任务按用量计费。博客索引列2026-06-26。", + "limitation": "没有公开单位报价或合同,成功定义、客户验收、返工及人工成本待核;客户节省成本不作公司收入,按结果收费不能直接当固定订阅ARR。" + }, + { + "id": "PEEC-PRICE", + "companyId": "AI055", + "title": "Peec官方品牌套餐计价维度", + "url": "https://peec.ai/pricing", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "套餐比较表列Starter原文$95/mo、Pro $245/mo、Advanced $495/mo,企业询价;包含不同提示词、模型、项目和Agent额度,用户席位不限。", + "limitation": "原文$未见币种代码,保留标价而不转美元观测;额度、订阅标价和采用品牌数不能直接推ARPA、ARR或利润。" + }, + { + "id": "PEEC-JOBS", + "companyId": "AI055", + "title": "Peec在投资方招聘站的经营自述", + "url": "https://careers.antler.co/companies/peec-ai/jobs/94213791-customer-success-manager-seo", + "publishedAt": "2026-09-22", + "accessedAt": "2026-10-30", + "kind": "公司招聘自述转载", + "summary": "招聘页列Posted on 2026-09-22;公司介绍称18个月达到原文$15M ARR及100+团队,柏林与纽约两地。", + "limitation": "属于公司招聘文案的转载,不是独立财务验证;发布日期不保证业务截止日或内容最后更新日,$未明确币种代码。原始招聘链接本次读取失败,保留访问缺项。" + }, + { + "id": "CTX-BVP", + "companyId": null, + "title": "Bessemer 2025报告的样本与商业年龄", + "url": "https://www.bvp.com/atlas/the-state-of-ai-2025", + "publishedAt": "2025-08-13", + "accessedAt": "2026-10-30", + "kind": "行业报告原始方法说明", + "summary": "主动选取20家高增长AI企业,含组合内外公司;非随机普查;企业增长与毛利基准,按商业化后的第几年比较。2025-08-13报告;商业化年数不等法律成立年。", + "limitation": "已核方法与增长/毛利基准段;未取得20家逐公司底表。高增长选样和投资机构利益关系;不能把头部样本均值当各领域平均或新成立公司总体。" + }, + { + "id": "CTX-MENLO", + "companyId": null, + "title": "Menlo 2025报告的采购调查与市场范围", + "url": "https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "行业报告原始方法说明", + "summary": "495名美国企业AI采购/开发决策者,企业已主动使用AI;采购调查与自下而上的市场支出估算,非公司逐项ARR。2025-11-07至11-25调查,市场判断截至2025-12。", + "limitation": "已核公开方法、范围及限制;受访个体与公司估算底表未取得。仅美国企业;排除芯片、推理/模型服务及既有软件内嵌AI功能,不能与包含这些项目的总量直接比较或分摊为单家公司ARR。" + }, + { + "id": "CTX-STRIPE", + "companyId": null, + "title": "Stripe 2025年度信的平台分组与收入边界", + "url": "https://assets.stripeassets.com/fzn2n1nzq965/3LlGw839Q6kUwxZlLZDtH6/75ddcbada4aa7743dd8ec7d0f9ca497e/Stripe-annual-letter-2025-desktop.pdf", + "publishedAt": "2026-02-24", + "accessedAt": "2026-10-30", + "kind": "行业报告原始方法说明", + "summary": "2025年开始使用Stripe的商户分组,另有Atlas注册企业分组;平台交易量、商户增长及达到收入门槛的数量;分母不同。2025年度;2026-02-24年度信。", + "limitation": "已读并视觉核对PDF第1、3页;未取得商户明细与完整分组计算底表。开始使用平台不等成立年,也非AI公司专属样本;交易量不等Stripe收入,门槛数量翻倍不等ARR均值翻倍;不与TrustMRR公开者样本混算。" + }, + { + "id": "CTX-SAASCAP", + "companyId": null, + "title": "SaaS Capital 2026增长报告的公开样本说明", + "url": "https://www.saas-capital.com/research/private-saas-company-growth-rate-benchmarks/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "行业报告原始方法说明", + "summary": "第15次年度调查,超过1000家私营B2B SaaS公司;2025年度增长率与留存等公开摘要;非ARR金额分布。2026报告回顾2025增长;不把报告年当公司成立年。", + "limitation": "仅读公开摘要;完整下载需填写表单,未提交表单或取得完整底表。样本不是两年新AI公司;增长率中位数不能当ARR中位数;完整抽样与指标细节仍缺,不外推至硬件、项目服务或所有AI模式。" } ], "reviews": [ @@ -46092,6 +46229,83 @@ "companyIds": [ "AI077" ] + }, + { + "id": "ELOQ-R-PRICING", + "type": "结果与用量收费的ARR可比性", + "company": "Eloquent AI", + "summary": "官方说明复杂问题按结果收费、简单任务按用量;旧ARR里程碑仍没有明确日历时点及经常性定义。", + "evidenceIds": [ + "E102", + "ELOQ-OUTCOME", + "ELOQ-HOME" + ], + "handling": "区分成功验收、失败及重试、最低承诺、实际使用与软件订阅;客户降本不作供应商收入,未补足合同及截止日前不进入同期ARR比较。", + "scope": "companies", + "companyIds": [ + "AI015" + ] + }, + { + "id": "PEEC-R-JOBS", + "type": "招聘里程碑、估算及报价口径", + "company": "Peec AI", + "summary": "招聘转载列1500万ARR及100+团队;业务时点与币种代码未明确。品牌套餐有标价和额度,但采用品牌不等付费客户。", + "evidenceIds": [ + "PEEC-JOBS", + "PEEC-PRICE", + "E089", + "E090" + ], + "handling": "招聘和第三方估算分开,不把相近数字当独立验证;5月披露不平移为10月值,报价不反推ARR或ARPA。团队只保留下界,发布日期不当业务截至日。", + "scope": "companies", + "companyIds": [ + "AI055" + ] + }, + { + "id": "CTX-BVP-R", + "type": "背景基准适用性", + "company": "S06行业背景研究", + "summary": "主动选取20家高增长AI企业,含组合内外公司;非随机普查;企业增长与毛利基准,按商业化后的第几年比较。", + "evidenceIds": [ + "CTX-BVP" + ], + "handling": "用于提出留存、毛利、资本效率假设及分类线索;高增长选样和投资机构利益关系;不能把头部样本均值当各领域平均或新成立公司总体。不新增公司收入观测,也不从样本差异推财务造假。", + "scope": "dataset" + }, + { + "id": "CTX-MENLO-R", + "type": "背景基准适用性", + "company": "S07行业背景研究", + "summary": "495名美国企业AI采购/开发决策者,企业已主动使用AI;采购调查与自下而上的市场支出估算,非公司逐项ARR。", + "evidenceIds": [ + "CTX-MENLO" + ], + "handling": "用于买家、采购方式和任务方向假设;仅美国企业;排除芯片、推理/模型服务及既有软件内嵌AI功能,不能与包含这些项目的总量直接比较或分摊为单家公司ARR。不新增公司收入观测,也不从样本差异推财务造假。", + "scope": "dataset" + }, + { + "id": "CTX-STRIPE-R", + "type": "背景基准适用性", + "company": "S08行业背景研究", + "summary": "2025年开始使用Stripe的商户分组,另有Atlas注册企业分组;平台交易量、商户增长及达到收入门槛的数量;分母不同。", + "evidenceIds": [ + "CTX-STRIPE" + ], + "handling": "用于支付、全球市场及首次收费速度假设;开始使用平台不等成立年,也非AI公司专属样本;交易量不等Stripe收入,门槛数量翻倍不等ARR均值翻倍;不与TrustMRR公开者样本混算。不新增公司收入观测,也不从样本差异推财务造假。", + "scope": "dataset" + }, + { + "id": "CTX-SAASCAP-R", + "type": "背景基准适用性", + "company": "S09行业背景研究", + "summary": "第15次年度调查,超过1000家私营B2B SaaS公司;2025年度增长率与留存等公开摘要;非ARR金额分布。", + "evidenceIds": [ + "CTX-SAASCAP" + ], + "handling": "用于B2B订阅软件的规模、融资和留存分层假设;样本不是两年新AI公司;增长率中位数不能当ARR中位数;完整抽样与指标细节仍缺,不外推至硬件、项目服务或所有AI模式。不新增公司收入观测,也不从样本差异推财务造假。", + "scope": "dataset" } ], "coverage": { diff --git a/content/research/ai-companies.sources.json b/content/research/ai-companies.sources.json index d603235..a6240e6 100644 --- a/content/research/ai-companies.sources.json +++ b/content/research/ai-companies.sources.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-9", + "version": "2026-10-30-10", "scopeConfirmedAt": "2026-10-30", "acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。", "provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。", @@ -90,9 +90,22 @@ "bvp.com" ], "initialAccess": "报告页面可读取", - "boundary": "用于行业分类和增长研究背景;不是新成立公司普查。", - "nextCheck": "核报告样本、方法与年份,不能将组合公司清单当总体。", - "limitation": "投资机构选样偏差" + "boundary": "主动选取20家高增长AI企业,含组合内外公司;非随机普查;已核方法与增长/毛利基准段;未取得20家逐公司底表。仅背景基准,不构成两年新公司名录。", + "nextCheck": "高增长选样和投资机构利益关系;不能把头部样本均值当各领域平均或新成立公司总体;需要公开可核底表时另补,不把缺项当已完成。", + "limitation": "投资机构选样偏差", + "accessRecheckedAt": "2026-10-30", + "methodology": { + "sample": "主动选取20家高增长AI企业,含组合内外公司;非随机普查", + "unit": "企业增长与毛利基准,按商业化后的第几年比较", + "period": "2025-08-13报告;商业化年数不等法律成立年", + "access": "已核方法与增长/毛利基准段;未取得20家逐公司底表", + "use": "用于提出留存、毛利、资本效率假设及分类线索", + "limit": "高增长选样和投资机构利益关系;不能把头部样本均值当各领域平均或新成立公司总体", + "evidenceIds": [ + "CTX-BVP" + ], + "checkedAt": "2026-10-30" + } }, { "id": "S07", @@ -105,9 +118,22 @@ "www.menlovc.com" ], "initialAccess": "报告页面可读取", - "boundary": "用于企业采购背景;不把调研比例转换为公司ARR。", - "nextCheck": "保留调研方法、采购样本及与新公司样本的差异。", - "limitation": "口径与样本需查看方法说明" + "boundary": "495名美国企业AI采购/开发决策者,企业已主动使用AI;已核公开方法、范围及限制;受访个体与公司估算底表未取得。仅背景基准,不构成两年新公司名录。", + "nextCheck": "仅美国企业;排除芯片、推理/模型服务及既有软件内嵌AI功能,不能与包含这些项目的总量直接比较或分摊为单家公司ARR;需要公开可核底表时另补,不把缺项当已完成。", + "limitation": "口径与样本需查看方法说明", + "accessRecheckedAt": "2026-10-30", + "methodology": { + "sample": "495名美国企业AI采购/开发决策者,企业已主动使用AI", + "unit": "采购调查与自下而上的市场支出估算,非公司逐项ARR", + "period": "2025-11-07至11-25调查,市场判断截至2025-12", + "access": "已核公开方法、范围及限制;受访个体与公司估算底表未取得", + "use": "用于买家、采购方式和任务方向假设", + "limit": "仅美国企业;排除芯片、推理/模型服务及既有软件内嵌AI功能,不能与包含这些项目的总量直接比较或分摊为单家公司ARR", + "evidenceIds": [ + "CTX-MENLO" + ], + "checkedAt": "2026-10-30" + } }, { "id": "S08", @@ -117,12 +143,26 @@ "status": "context", "hosts": [ "stripe.com", - "www.stripe.com" + "www.stripe.com", + "assets.stripeassets.com" ], "initialAccess": "年度信可读取", - "boundary": "年度平台观察,不提供可公开穷尽的新AI商户名录。", - "nextCheck": "与TrustMRR支付重建数据分开;不据平台总量推算单家公司。", - "limitation": "平台样本不能代表全部AI公司" + "boundary": "2025年开始使用Stripe的商户分组,另有Atlas注册企业分组;已读并视觉核对PDF第1、3页;未取得商户明细与完整分组计算底表。仅背景基准,不构成两年新公司名录。", + "nextCheck": "开始使用平台不等成立年,也非AI公司专属样本;交易量不等Stripe收入,门槛数量翻倍不等ARR均值翻倍;不与TrustMRR公开者样本混算;需要公开可核底表时另补,不把缺项当已完成。", + "limitation": "平台样本不能代表全部AI公司", + "accessRecheckedAt": "2026-10-30", + "methodology": { + "sample": "2025年开始使用Stripe的商户分组,另有Atlas注册企业分组", + "unit": "平台交易量、商户增长及达到收入门槛的数量;分母不同", + "period": "2025年度;2026-02-24年度信", + "access": "已读并视觉核对PDF第1、3页;未取得商户明细与完整分组计算底表", + "use": "用于支付、全球市场及首次收费速度假设", + "limit": "开始使用平台不等成立年,也非AI公司专属样本;交易量不等Stripe收入,门槛数量翻倍不等ARR均值翻倍;不与TrustMRR公开者样本混算", + "evidenceIds": [ + "CTX-STRIPE" + ], + "checkedAt": "2026-10-30" + } }, { "id": "S09", @@ -135,9 +175,22 @@ "saas-capital.com" ], "initialAccess": "研究页可读取", - "boundary": "B2B订阅软件基准,不能直接代表新AI公司、硬件或服务企业。", - "nextCheck": "按报告样本及营收规模使用,不强套为行业ARR分布。", - "limitation": "不直接套用硬件与项目制业务" + "boundary": "第15次年度调查,超过1000家私营B2B SaaS公司;仅读公开摘要;完整下载需填写表单,未提交表单或取得完整底表。仅背景基准,不构成两年新公司名录。", + "nextCheck": "样本不是两年新AI公司;增长率中位数不能当ARR中位数;完整抽样与指标细节仍缺,不外推至硬件、项目服务或所有AI模式;需要公开可核底表时另补,不把缺项当已完成。", + "limitation": "不直接套用硬件与项目制业务", + "accessRecheckedAt": "2026-10-30", + "methodology": { + "sample": "第15次年度调查,超过1000家私营B2B SaaS公司", + "unit": "2025年度增长率与留存等公开摘要;非ARR金额分布", + "period": "2026报告回顾2025增长;不把报告年当公司成立年", + "access": "仅读公开摘要;完整下载需填写表单,未提交表单或取得完整底表", + "use": "用于B2B订阅软件的规模、融资和留存分层假设", + "limit": "样本不是两年新AI公司;增长率中位数不能当ARR中位数;完整抽样与指标细节仍缺,不外推至硬件、项目服务或所有AI模式", + "evidenceIds": [ + "CTX-SAASCAP" + ], + "checkedAt": "2026-10-30" + } }, { "id": "S10", diff --git a/content/research/ai-income-analysis.json b/content/research/ai-income-analysis.json index 1b8fe07..6248a85 100644 --- a/content/research/ai-income-analysis.json +++ b/content/research/ai-income-analysis.json @@ -1,5 +1,5 @@ { - "sourceVersion": "2026-10-30-tc-2", + "sourceVersion": "2026-10-30-context-1", "asOf": "2026-10-30", "metric": "platform-mrr-usd", "sampleUnit": "product-or-business", diff --git a/scripts/audit-ai-research.py b/scripts/audit-ai-research.py index 2d9211a..c53a5b2 100644 --- a/scripts/audit-ai-research.py +++ b/scripts/audit-ai-research.py @@ -55,6 +55,26 @@ def source_register(): +def context_methods(): + evidence = {e['id']: e for e in DATA['evidence']} + rows = [s for s in SOURCES['sources'] if s.get('methodology')] + assert {s['id'] for s in rows} == {'S06', 'S07', 'S08', 'S09'} + lines = ['', '## 背景基准适用性与缺项', '', + '以下核对背景资料的方法及适用范围,不是公司名录的完整覆盖。原始方法记录与全局核查随研究版本进入同一数据库;没有把行业汇总值新增为任何公司的收入观测。', '', + '| 来源与证据 | 样本与统计单位 | 时间 | 本次读取范围 | 可用于什么 | 主要限制 |', + '| --- | --- | --- | --- | --- | --- |'] + for source in rows: + m = source['methodology'] + assert m['checkedAt'] <= DATA['asOf'] + assert all(m.get(key) for key in ('sample', 'unit', 'period', 'access', 'use', 'limit', 'evidenceIds')) + assert all(eid in evidence and evidence[eid]['companyId'] is None for eid in m['evidenceIds']) + assert not any(o['evidence'] in m['evidenceIds'] for o in DATA['observations']) + proof = '、'.join(f"[{eid}]({evidence[eid]['url']})" for eid in m['evidenceIds']) + lines.append(f"| {source['id']} {source['name']}:{proof} | {m['sample']};{m['unit']} | {m['period']} | {m['access']} | {m['use']} | {m['limit']} |") + lines += ['', '本表的应用解释属于研究判断。选样、分母、时间或指标不同会造成表观差异;这些差异不单独证明财务造假,也不能作为给未知公司填补收入的依据。', ''] + return lines + + def candidate_register(): batches = DATA.get('candidateBatches', []) companies = {c['id']: c for c in DATA['companies']} @@ -199,6 +219,7 @@ def render(): lines.append(f"| 其他官网、评测及公开资料 | {len(others)} | {len({e['url'] for e in others})} | 按每条来源限制理解,不能统一当作独立证据 |") lines += directory_rechecks() lines += source_register() + lines += context_methods() lines += candidate_register() lines += ['', '## 尚未满足的研究条件', '', '行业ARR比较仍缺统一业务截止日、币种、经常性定义和业务边界。现有平台MRR可描述已采集产品,不足以代表全部新公司。技术评测只覆盖所列版本与任务,不宜跨领域汇总为统一强弱分数。', '',