research: verify ARR currency and current contract models

This commit is contained in:
2026-10-31 21:23:02 +08:00
parent 4330817138
commit 5b86f08959
5 changed files with 157 additions and 26 deletions
+1 -1
View File
@@ -184,7 +184,7 @@ async function main() {
const research = await researchResponse.json();
assert.equal(research.companies.length, 1188);
assert.equal(research.categories.length, 11);
assert.equal(research.evidence.length, 4372);
assert.equal(research.evidence.length, 4380);
assert.equal(research.observations.length, 453);
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 });
+5 -2
View File
@@ -50,6 +50,9 @@ test("ARR ledger preserves historical estimates without promoting targets, run r
assert.ok(!ids.has(id), `${id}: excluded or ambiguous records cannot enter the ARR ledger`);
assert.equal(rows.find((row) => row.observation.id === "O066")?.observation.selection, "historical-estimate");
assert.equal(rows.find((row) => row.observation.id === "O046")?.observation.unit, "原文$,币种待核");
for (const id of ["O045", "O047"])
assert.equal(rows.find((row) => row.observation.id === id)?.observation.unit, "原文$,币种待核",
"current subscription prices cannot establish the currency of a historical ARR claim");
const category = snapshot.companies.find((company) => company.id === "AI055")!.cat;
const filtered = arrDisclosures(snapshot, { category, foundedYear: 2025 });
assert.ok(filtered.length > 0);
@@ -75,7 +78,7 @@ 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, 1188);
assert.equal(initial.evidence.length, 4372);
assert.equal(initial.evidence.length, 4380);
assert.equal(initial.observations.length, 453);
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");
@@ -116,7 +119,7 @@ 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, 198);
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 103);
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 105);
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 44);
const review = snapshot.reviews.find((r) => r.id === "R4")!;
assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]);
+148 -20
View File
@@ -1,5 +1,5 @@
{
"version": "2026-10-31-perfingo-lineage-1",
"version": "2026-10-31-arr-contracts-1",
"asOf": "2026-10-31",
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
"limitations": [
@@ -460,7 +460,8 @@
"E015",
"E102",
"ELOQ-HOME",
"ELOQ-OUTCOME"
"ELOQ-OUTCOME",
"ARRCHECK1-ELOQ-YC"
],
"revenueStatus": "self",
"businessModel": "复杂任务按成功结果收费,分类和路由等简单任务按用量收费;具体合同待核",
@@ -487,11 +488,11 @@
"business": "识别购买意图并自动执行销售触达",
"buyer": "B2B销售团队",
"delivery": "页面列示付费客户与ARR里程碑",
"notes": "页面含140万与250万美元两阶段数字,日期不明",
"notes": "页面含140万与250万美元两阶段数字,日期不明 合同机制补查:基础订阅另有Agent/线索源/独立workspace和credit扩展;一般条款循环续费,真实合同/实收及ARR定义仍缺。",
"cohort": "2025年成立",
"teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明",
"datePrecision": "年",
"price": "PRO原文$99/月,含2个Agent和至多1800个月度触达;CUSTOM含更高用量、集成、引导与专人支持,询价;币种代码待核",
"price": "PRO原文$99/月,含2个Agent和至多1800个月度触达;CUSTOM含更高用量、集成、引导与专人支持,询价;币种代码待核 原始帮助另列每月200credits、追加Agent原$59、额外线索源29、组织成员99及credit包25起;组织成员独立workspace,非普通席位。",
"stage": "公开资料,商用成熟度待核验",
"sourceType": "公司在YC的自述资料",
"pricingEvidence": "E131",
@@ -499,10 +500,13 @@
"E016",
"MR-E-superfruits",
"E101",
"E131"
"E131",
"ARRCHECK1-GOJI-HELP",
"ARRCHECK1-GOJI-TERMS"
],
"revenueStatus": "self",
"businessModel": "软件订阅"
"businessModel": "软件订阅",
"entityBasis": "SUPERFRUITSSAS及RCSParis988586111为条款自述,独立登记待核。"
},
{
"id": "AI017",
@@ -1075,19 +1079,24 @@
"location": "美国旧金山",
"business": "承载由AI生成的应用及其后端",
"buyer": "非技术创业者与应用构建者",
"delivery": "公开产品;当前强调按平台收费",
"notes": "创始人披露100万美元ARR,但业务时点待核",
"delivery": "通过Claude/ChatGPT等客户端构建App并提供后端托管;当前套餐含构建动作、可选平台AI和移动App构建额度,效果未独立测试。",
"notes": "创始人披露100万美元ARR,但业务时点待核 后续复核原始$1MARR未明币种,不能因当前套餐USD倒推历史币种。旧仅平台费说明与当前可选AI/托管用量、支付抽成并存,原时点合同仍缺。",
"cohort": "2025年成立",
"teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明",
"datePrecision": "年",
"price": "当前公司介绍强调平台收费,无单独AI点数加价;模型调用使用用户已有订阅。",
"price": "当前原始文档明确USD:Free;Pro25/月或250/年,Power100/月或1000/年,含不同构建动作/AIcredits/托管额度。可选FlootAgent与用户自备模型订阅分开。",
"stage": "公开资料,商用成熟度待核验",
"sourceType": "公司在YC的自述资料",
"pricingEvidence": "E133",
"pricingEvidence": "ARRCHECK1-FLOOT-PRICE",
"evidenceIds": [
"E040"
"E040",
"ARRCHECK1-FLOOT-PRICE",
"ARRCHECK1-FLOOT-SUB",
"ARRCHECK1-FLOOT-TERMS",
"ARRCHECK1-FLOOT-ARR"
],
"revenueStatus": "self"
"revenueStatus": "self",
"businessModel": "订阅平台费+可选AI/托管充值;当前客户App支付平台抽成Pro1%/Power0%,交易流水、Stripe处理费及Shippo标签费不作平台软件净费。"
},
{
"id": "AI041",
@@ -1149,20 +1158,22 @@
"business": "跨语音与消息渠道执行收入运营任务",
"buyer": "企业销售与增长团队",
"delivery": "投资方披露270家客户及ARR里程碑",
"notes": "成立年和人数来自a16z Speedrun资料",
"notes": "成立年和人数来自a16z Speedrun资料 官网200余公司与机构270客户为不同快照,缺同期付费定义;五个月ARR仍缺币种/日历时点,旧创始人房产交易及融资不继承。",
"extraUrl": "https://speedrun.a16z.com/companies/nexor-ai",
"channel": "S12",
"cohort": "2026年成立",
"team": 8,
"teamBasis": "投资机构名录,业务截至日未注明",
"datePrecision": "年",
"price": "未逐一核验定价页",
"price": "当前官网预约演示,单位价格/最低承诺和实际合同未核",
"stage": "公开资料,商用成熟度待核验",
"sourceType": "公司或投资机构资料",
"evidenceIds": [
"E043"
"E043",
"ARRCHECK1-NEXOR-HOME"
],
"revenueStatus": "self"
"revenueStatus": "self",
"businessModel": "收入Agentharness、多渠道交付和CRM接入;软件持续费、用量/结果、一次定制集成需按实际合同拆分。"
},
{
"id": "AI044",
@@ -37918,12 +37929,12 @@
"name": "Eloquent AI",
"kind": "原文称ARR",
"value": 500000,
"unit": "USD",
"unit": "原文$,币种待核",
"timing": "推出后四周,日历时点未注明",
"evidence": "E102",
"scope": "公司整体",
"selection": "signal",
"reason": "统计时点未知,经常性定义待核",
"reason": "统计时点未知,经常性定义待核 本轮原始披露复读仅$,撤销旧USD推断;当前定价币种不倒推历史ARR。",
"bound": "=",
"comparisonGroup": null,
"metric": "arr"
@@ -37950,12 +37961,12 @@
"name": "Floot",
"kind": "原文称ARR",
"value": 1000000,
"unit": "USD",
"unit": "原文$,币种待核",
"timing": "推出约6个月,帖子日期待核",
"evidence": "E104",
"scope": "公司整体",
"selection": "signal",
"reason": "创始人自述,保留时点不确定性",
"reason": "创始人自述,保留时点不确定性 本轮原始披露复读仅$,撤销旧USD推断;当前定价币种不倒推历史ARR。",
"bound": "=",
"comparisonGroup": null,
"metric": "arr"
@@ -92458,6 +92469,94 @@
"kind": "原始赛事档案/公司法律及产品反链核查",
"summary": "TeakSoftwareStudio官网将SaveFirst列自家待上线iOS产品,直接链savefirst.app;团队MurshedAlAmin/AmitAditaya/IfazAlam。",
"limitation": "工作室两年业务/十万触达非SaveFirst成立/付费数;官网AI标签与SaveFirst政策确定性解析/后备未启用分列,不将工作室接案收入或旧PerfingoS$报价继承新产品。"
},
{
"id": "ARRCHECK1-GOJI-HELP",
"companyId": "AI016",
"title": "Gojiberry原始套餐扩展机制",
"url": "https://help.gojiberry.ai/en/articles/12960396-gojiberry-pricing-explained",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "标准含2Agent/2LinkedIn席位及200月credits;追加Agent原$59/月、线索源29/月、组织成员99/月及额外credit包25起。",
"limitation": "原$未核币种;组织成员为独立workspace/账户不等普通seat,标价非已实现收入,附加用量和基础订阅净额需分列。"
},
{
"id": "ARRCHECK1-GOJI-TERMS",
"companyId": "AI016",
"title": "Gojiberry原始法律主体及续费条款",
"url": "https://blog.gojiberry.ai/generalterms",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "SUPERFRUITSSAS、RCSParis988586111,订阅循环扣费及当期末取消。",
"limitation": "主体/号码自述非独立注册核验;一般条款支持订阅形式但不验证每笔ARR合同、退款实收或日历截止日。"
},
{
"id": "ARRCHECK1-FLOOT-PRICE",
"companyId": "AI040",
"title": "Floot当前原始套餐及额度",
"url": "https://floot.com/en/pricing",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "Free/Pro25/Power100月包,付费含不同buildingactions、5000/15000AIcredits及10/25托管月额度;AIcredits用于App内AI或可选FlootAgent。",
"limitation": "当前套餐不覆盖旧ARR时点定价,额度不是实际消耗收入;不要按月价反推客户数,既有自备模型订阅与可选平台AI分别核。"
},
{
"id": "ARRCHECK1-FLOOT-SUB",
"companyId": "AI040",
"title": "Floot原始订阅币种和年付",
"url": "https://floot.com/docs/faqs/managing-your-subscription",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "当前定价文档明确USdollars,年付Pro250/Power1000;扣税/升级/降级/欠费流程,AI/托管充值另开票。",
"limitation": "当前报价USD不自动证明历史创始人$1MARR币种;年预付不是新增ARR重复项,充值余额/税费/实际退款与净经常费需拆分。"
},
{
"id": "ARRCHECK1-FLOOT-TERMS",
"companyId": "AI040",
"title": "Floot原始软件净费与支付流水",
"url": "https://floot.com/terms?redirected_from_combini=true",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "FlootInc条款当前Payments平台费Pro1%/Power0%,另有Stripe处理费;客户连接自有账户收款,运输标签由Shippo收费;月credits不滚存。",
"limitation": "客户App交易总额/运输费不是Floot收入,平台抽成是否纳ARR待合同;托管预充值/信用额度非现金收入即确认,未调用支付或下单。"
},
{
"id": "ARRCHECK1-FLOOT-ARR",
"companyId": "AI040",
"title": "Floot创始人旧ARR币种和日期复核",
"url": "https://www.linkedin.com/posts/yjyao_floot-just-hit-1m-arr-a-year-ago-floot-activity-7424496952190521344-CHBU",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "原始作者说$1MARR、上线六个多月,当前页面仍只显示相对8mo。",
"limitation": "原$未明USD,日历发布/财务截止日未核;不由URL数字推日期,不把新套餐反推旧ARR或客户数,读者质疑不是独立财务证据。"
},
{
"id": "ARRCHECK1-NEXOR-HOME",
"companyId": "AI043",
"title": "Nexor当前原始交付与客户口径",
"url": "https://www.getnexor.ai/en",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "多渠道收入Agentharness/CRM集成、按目标跟进,官网200余公司/19国;Speedrun另列270客户和五个月2.5M原$ARR。",
"limitation": "官网和机构客户数无同日/付费定义,差异不自动作虚报;前创始人房产交易总额/旧事业融资非Nexor营收,当前无可核单位价格。"
},
{
"id": "ARRCHECK1-ELOQ-YC",
"companyId": "AI015",
"title": "Eloquent原始YC财务措辞复核",
"url": "https://www.ycombinator.com/companies/eloquent-ai",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "原始公司定价/条款/经营披露复核",
"summary": "YC直达无正文,原始搜索缓存仍列四周$500KARR、2025成立和5人,以及金融操作Agent;旧Streetbees履历独立。",
"limitation": "原$未明确币种代码,四周不是日历财务截至日;8000万旧融资/200人旧团队不继承本公司。原始结果/用量定价文章不证明每份合同最低经常承诺。"
}
],
"reviews": [
@@ -100354,6 +100453,35 @@
"TCAL25-SAVE-PRIVACY"
],
"handling": "将历史名称对应从待核改为证据支持的对应,不把它升级为当前法律主体同一性。2025总入口现193原样URL+8原始反链/历史档案对应=201,无历史名单名称待对应;仍保留SaveFirst当前运营/AI/成立缺项。无新增主公司或收入,不继承旧报价/用户/资产、工作室项目费为新AppARR。"
},
{
"id": "ARRCHECK1-R-CURRENCY",
"type": "历史ARR币种与当期价格分开",
"company": "Eloquent / Floot",
"scope": "dataset",
"summary": "原始旧披露仅$且缺日历财务截至日,O045/O047撤销USD推断为币种待核,金额/用途不变。",
"evidenceIds": [
"ARRCHECK1-ELOQ-YC",
"ARRCHECK1-FLOOT-ARR",
"ARRCHECK1-FLOOT-SUB"
],
"handling": "当前报价USD不自动适用旧ARR;相对月份/上线时长不转换业务日期,不据读者流量质疑或分布认定造假;保留26家公司34ARR证据表和平台MRR统计。"
},
{
"id": "ARRCHECK1-R-MODELS",
"type": "销售Agent与应用构建平台收费拆分",
"company": "Gojiberry / Nexor / Floot / Eloquent",
"scope": "dataset",
"summary": "订阅加可选Agent/工作区/credits、结果与用量收费、托管预充值、客户交易平台抽成分别核。",
"evidenceIds": [
"ARRCHECK1-GOJI-HELP",
"ARRCHECK1-GOJI-TERMS",
"ARRCHECK1-FLOOT-PRICE",
"ARRCHECK1-FLOOT-SUB",
"ARRCHECK1-FLOOT-TERMS",
"ARRCHECK1-NEXOR-HOME"
],
"handling": "报价/信用余额/客户交易流水/旧事业融资不当软件ARR;月年优惠和使用量波动、佣金净费、实施服务及最低合同承诺是商业模式评估缺项。本轮无新收入观测,四家公司截至日/合同实收仍缺。"
}
],
"coverage": {
+2 -2
View File
@@ -1,5 +1,5 @@
{
"version": "2026-10-31-perfingo-lineage-1",
"version": "2026-10-31-arr-contracts-1",
"scopeConfirmedAt": "2026-10-30",
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
@@ -2984,7 +2984,7 @@
"status": "per-company",
"hosts": [],
"initialAccess": "按公司逐一核验",
"boundary": "公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。 定向新增企智芯与九昇智能的2025成立自述及交付资料,精确注册、实际客户与收入未核;两个官网不代表中文公司全集。",
"boundary": "公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。 定向新增企智芯与九昇智能的2025成立自述及交付资料,精确注册、实际客户与收入未核;两个官网不代表中文公司全集。 本轮复读Gojiberry/Floot/Nexor/Eloquent原始定价/条款/披露,补订阅扩展、AI与托管credit和支付净费边界;Eloquent/Floot旧ARR原$撤销USD推断,当前定价不倒推历史合同或币种。非所有公司官网全量核验。",
"nextCheck": "核定价、主体、交付与收入定义,自述与独立验证分开。",
"limitation": "自述不等于独立审计"
},
+1 -1
View File
@@ -1,5 +1,5 @@
{
"sourceVersion": "2026-10-31-perfingo-lineage-1",
"sourceVersion": "2026-10-31-arr-contracts-1",
"asOf": "2026-10-31",
"metric": "platform-mrr-usd",
"sampleUnit": "product-or-business",