Expand platform income samples and derive report conclusions from current data
This commit is contained in:
@@ -182,10 +182,10 @@ async function main() {
|
||||
assert.equal(researchResponse.status, 200, "authenticated research API");
|
||||
assert.ok(researchResponse.headers.get("cache-control")?.includes("no-store"));
|
||||
const research = await researchResponse.json();
|
||||
assert.equal(research.companies.length, 1047);
|
||||
assert.equal(research.companies.length, 1050);
|
||||
assert.equal(research.categories.length, 11);
|
||||
assert.equal(research.evidence.length, 1579);
|
||||
assert.equal(research.observations.length, 220);
|
||||
assert.equal(research.evidence.length, 1593);
|
||||
assert.equal(research.observations.length, 229);
|
||||
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);
|
||||
|
||||
@@ -23,9 +23,9 @@ test("research revisions share the authentication database and preserve replay l
|
||||
for (let i = 0; i < 20; i++) consumeCode(config, "invalid");
|
||||
assert.equal(consumeCode(config, "invalid"), "limited");
|
||||
const initial = readResearchSnapshot();
|
||||
assert.equal(initial.companies.length, 1047);
|
||||
assert.equal(initial.evidence.length, 1579);
|
||||
assert.equal(initial.observations.length, 220);
|
||||
assert.equal(initial.companies.length, 1050);
|
||||
assert.equal(initial.evidence.length, 1593);
|
||||
assert.equal(initial.observations.length, 229);
|
||||
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, 97);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 11);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 100);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 12);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 41);
|
||||
const review = snapshot.reviews.find((r) => r.id === "R4")!;
|
||||
assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]);
|
||||
@@ -85,10 +85,10 @@ test("reviews link explicit companies without turning global or excluded cases i
|
||||
test("disclosure counts exclude client income, biographies, targets and duplicate milestones", () => {
|
||||
const snapshot = seed as ResearchSnapshot;
|
||||
const summary = categorySummary(snapshot);
|
||||
assert.equal(summary.reduce((n, c) => n + c.count, 0), 1047);
|
||||
assert.equal(summary.reduce((n, c) => n + c.count, 0), 1050);
|
||||
assert.equal(summary.reduce((n, c) => n + c.self, 0), 38);
|
||||
assert.equal(summary.reduce((n, c) => n + c.estimate, 0), 2);
|
||||
assert.equal(summary.reduce((n, c) => n + c.platform, 0), 16);
|
||||
assert.equal(summary.reduce((n, c) => n + c.platform, 0), 19);
|
||||
assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 991);
|
||||
assert.equal(snapshot.companies.find((c) => c.name === "Rork")?.revenueStatus, "unknown");
|
||||
assert.equal(snapshot.companies.find((c) => c.name === "Result")?.revenueStatus, "unknown");
|
||||
@@ -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, 48);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 50);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 8);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "independent-test").length, 1);
|
||||
assert.equal(snapshot.companies.find((c) => c.id === "AI051")?.revenueStatus, "unknown");
|
||||
@@ -248,14 +248,21 @@ test("income descriptions report sample dispersion and maximum-value sensitivity
|
||||
test("platform samples exclude stale data and keep ARR, estimates and collections separate", () => {
|
||||
const snapshot = seed as ResearchSnapshot;
|
||||
const recent = platformIncomeSample(snapshot, { windowDays: 7 });
|
||||
assert.equal(recent.points.length, 14);
|
||||
assert.equal(recent.excluded.length, 3);
|
||||
assert.equal(recent.points.length, 16);
|
||||
assert.equal(recent.excluded.length, 4);
|
||||
assert.ok(recent.points.every((p) => p.observation.metric === "mrr" && p.observation.selection === "platform"));
|
||||
assert.deepEqual(new Set(recent.excluded.map((p) => p.observation.company)), new Set(["AI016", "MR013", "MR014"]));
|
||||
assert.deepEqual(new Set(recent.excluded.map((p) => p.observation.company)), new Set(["AI016", "MR013", "MR014", "MR017"]));
|
||||
assert.ok(recent.points.some((p) => p.company.name === "TrackAI" && p.observation.connectionExpired), "dated recent value is not a claim of active connection");
|
||||
const older = platformIncomeSample(snapshot, { windowDays: 90 });
|
||||
assert.equal(older.points.length, 15);
|
||||
assert.equal(older.points.length, 18);
|
||||
assert.ok(older.points.some((p) => p.company.id === "AI016"));
|
||||
assert.ok(!recent.points.some((p) => p.company.id === "MR017"));
|
||||
assert.ok(older.points.some((p) => p.company.id === "MR017" && p.observation.connectionExpired),
|
||||
"an expired connection retains its historical observation date in the wider window");
|
||||
assert.equal(recent.points.find((p) => p.company.id === "MR018")?.value, 67864,
|
||||
"an older Markdown cache must not replace or duplicate the later web snapshot");
|
||||
assert.equal(recent.points.find((p) => p.company.id === "MR019")?.value, 65431,
|
||||
"period-table revenue and revenue snapshots must not replace MRR");
|
||||
const scaled = platformIncomeSample(snapshot, { windowDays: 7, annualize: true });
|
||||
const monthlyGroups = groupIncome(recent.points);
|
||||
const annualGroups = groupIncome(scaled.points);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-agent-classification-1",
|
||||
"version": "2026-10-30-platform-expansion-1",
|
||||
"asOf": "2026-10-30",
|
||||
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
|
||||
"limitations": [
|
||||
@@ -29996,6 +29996,112 @@
|
||||
"SR25-LOOPS-AI"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "MR017",
|
||||
"name": "LLM Gateway",
|
||||
"url": "https://llmgateway.io/",
|
||||
"cat": "C02",
|
||||
"year": 2025,
|
||||
"location": "美国(平台资料)",
|
||||
"business": "多供应商模型API路由、计费、密钥管理及监控,另有模型使用订阅产品。",
|
||||
"buyer": "开发者及企业模型平台团队",
|
||||
"price": "API页按token及5%平台费、BYOK免费、企业询价;另有DevPass/Lounge订阅,历史收入分摊未核",
|
||||
"businessModel": "模型网关订阅与用量",
|
||||
"entityBasis": "官网条款自述Polar Lights LLC,精确注册和支付账户合并范围未核。",
|
||||
"notes": "成立年份为平台经营者资料;MRR为9月历史快照且连接过期,充值、使用、供应商成本和订阅须拆分,不能当当前纯SaaS净收入。",
|
||||
"evidenceIds": [
|
||||
"MR2-LLM-WEB",
|
||||
"MR2-LLM-MD",
|
||||
"MR2-LLM-HOME",
|
||||
"MR2-LLM-TERMS",
|
||||
"MR2-LLM-PRICE",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"technicalReview": {
|
||||
"level": "description",
|
||||
"reviewedAt": "2026-10-30",
|
||||
"summary": "已读官网产品与部署说明;未读取源代码、安装运行或独立测试路由/可靠性。",
|
||||
"evidenceIds": [
|
||||
"MR2-LLM-HOME"
|
||||
]
|
||||
},
|
||||
"team": null,
|
||||
"delivery": "平台有支付连接历史,法律主体、全账户收入和实际产品效果未独立验证。",
|
||||
"cohort": "2025年创立(平台资料),产品/业务口径,非法律注册确认",
|
||||
"teamBasis": "平台人数及经营者资料未转换为精确团队数",
|
||||
"stage": "有平台支付数据,实际成本、留存和公司合并口径待核",
|
||||
"sourceType": "支付平台连接指标、经营者可编辑资料及可读官网",
|
||||
"revenueStatus": "platform",
|
||||
"classificationBasis": "按当前交付分类:模型路由基础设施与内容创作软件分开,不能因为均调用模型而合成同一业务。"
|
||||
},
|
||||
{
|
||||
"id": "MR018",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"url": "https://trustmrr.com/startup/iker",
|
||||
"cat": "C08",
|
||||
"year": 2026,
|
||||
"location": "西班牙(平台资料)",
|
||||
"business": "将主题自动生成YouTube纪录片式视频,包含脚本、配音、素材和编辑。",
|
||||
"buyer": "视频频道经营者与内容团队",
|
||||
"price": "平台列Creator $27/月、Studio $59/月、Agency $107/月;当前官网、合同和额度未核",
|
||||
"businessModel": "软件订阅",
|
||||
"entityBasis": "本轮仅平台产品记录,无独立官网/注册主体证明;不与同名其他公司合并。",
|
||||
"notes": "平台2026年7月起步字段,非工商确认;网页与Markdown缓存有不同同步时点,较早数值另列。",
|
||||
"evidenceIds": [
|
||||
"MR2-GOMO-WEB",
|
||||
"MR2-GOMO-MD",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"team": null,
|
||||
"delivery": "平台有支付连接历史,法律主体、全账户收入和实际产品效果未独立验证。",
|
||||
"cohort": "2026年创立(平台资料),产品/业务口径,非法律注册确认",
|
||||
"teamBasis": "平台人数及经营者资料未转换为精确团队数",
|
||||
"stage": "有平台支付数据,实际成本、留存和公司合并口径待核",
|
||||
"sourceType": "支付平台连接指标及经营者可编辑资料;独立官网未取得",
|
||||
"revenueStatus": "platform",
|
||||
"classificationBasis": "按当前交付分类:模型路由基础设施与内容创作软件分开,不能因为均调用模型而合成同一业务。"
|
||||
},
|
||||
{
|
||||
"id": "MR019",
|
||||
"name": "Promptwise(promptwise.com)",
|
||||
"url": "https://promptwise.com/",
|
||||
"cat": "C08",
|
||||
"year": 2025,
|
||||
"location": "美国(平台资料)",
|
||||
"business": "聚合图像、视频与音频模型,为创作者提供生成、UGC与流程画布软件。",
|
||||
"buyer": "创作者、品牌及内容团队",
|
||||
"price": "官网当前月费含积分,额外额度另计;官网现套餐与平台$9—349范围分开,不用于推实际收入",
|
||||
"businessModel": "软件订阅",
|
||||
"entityBasis": "官网和条款自述ZeroTen Media Inc;2025年12月为平台产品起步字段,主体注册与财务合并范围未核。",
|
||||
"notes": "平台团队为11—25范围,精确人数留空;收入快照与期间表金额不同,保留差异,不混入MRR或据此推断虚报。",
|
||||
"evidenceIds": [
|
||||
"MR2-PROMPT-WEB",
|
||||
"MR2-PROMPT-MD",
|
||||
"MR2-PROMPT-HOME",
|
||||
"MR2-PROMPT-TERMS",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"technicalReview": {
|
||||
"level": "description",
|
||||
"reviewedAt": "2026-10-30",
|
||||
"summary": "已读官网创意工作区及模型聚合说明;未独立运行或测试生成质量。",
|
||||
"evidenceIds": [
|
||||
"MR2-PROMPT-HOME",
|
||||
"MR2-PROMPT-TERMS"
|
||||
]
|
||||
},
|
||||
"team": null,
|
||||
"delivery": "平台有支付连接历史,法律主体、全账户收入和实际产品效果未独立验证。",
|
||||
"cohort": "2025年创立(平台资料),产品/业务口径,非法律注册确认",
|
||||
"teamBasis": "平台人数及经营者资料未转换为精确团队数",
|
||||
"stage": "有平台支付数据,实际成本、留存和公司合并口径待核",
|
||||
"sourceType": "支付平台连接指标、经营者可编辑资料及可读官网",
|
||||
"revenueStatus": "platform",
|
||||
"classificationBasis": "按当前交付分类:模型路由基础设施与内容创作软件分开,不能因为均调用模型而合成同一业务。"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
@@ -33528,6 +33634,186 @@
|
||||
"reason": "公司发布自述,软件与定制部署/服务收入未拆;品牌/法律主体边界、币种和合同底表待核,不进入同期比较",
|
||||
"bound": ">",
|
||||
"comparisonGroup": null
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-LLM-MRR",
|
||||
"company": "MR017",
|
||||
"name": "LLM Gateway",
|
||||
"kind": "平台历史MRR",
|
||||
"value": 78764,
|
||||
"unit": "USD",
|
||||
"timing": "平台最后同步2026-09-07T02:22:35.854Z;连接过期",
|
||||
"evidence": "MR2-LLM-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-mrr",
|
||||
"metric": "mrr",
|
||||
"observedAt": "2026-09-07",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": true,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-LLM-30D",
|
||||
"company": "MR017",
|
||||
"name": "LLM Gateway",
|
||||
"kind": "平台历史近30日收入快照",
|
||||
"value": 259539,
|
||||
"unit": "USD",
|
||||
"timing": "同一历史同步快照,非研究日前30天",
|
||||
"evidence": "MR2-LLM-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-revenue-30d",
|
||||
"metric": "revenue-30d",
|
||||
"observedAt": "2026-09-07",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": true,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-GOMO-MRR-WEB",
|
||||
"company": "MR018",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"kind": "网页平台MRR",
|
||||
"value": 67864,
|
||||
"unit": "USD",
|
||||
"timing": "网页最后同步2026-10-30 12:27 PM,时区未注明",
|
||||
"evidence": "MR2-GOMO-WEB",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-mrr",
|
||||
"metric": "mrr",
|
||||
"observedAt": "2026-10-30",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-GOMO-30D-WEB",
|
||||
"company": "MR018",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"kind": "网页近30日收入",
|
||||
"value": 84341,
|
||||
"unit": "USD",
|
||||
"timing": "网页标题近30日;最后同步2026-10-30 12:27 PM,时区未注明",
|
||||
"evidence": "MR2-GOMO-WEB",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-revenue-30d",
|
||||
"metric": "revenue-30d",
|
||||
"observedAt": "2026-10-30",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-GOMO-MRR-MD",
|
||||
"company": "MR018",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"kind": "较早Markdown MRR",
|
||||
"value": 67299,
|
||||
"unit": "USD",
|
||||
"timing": "Markdown同步2026-10-29T18:27:36.658Z",
|
||||
"evidence": "MR2-GOMO-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "crosscheck",
|
||||
"reason": "不同时间缓存快照,另供核对,不与较晚网页重复计产品或拼接数值",
|
||||
"bound": "=",
|
||||
"comparisonGroup": null,
|
||||
"metric": "mrr",
|
||||
"observedAt": "2026-10-29",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-GOMO-30D-MD",
|
||||
"company": "MR018",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"kind": "较早Markdown近30日快照",
|
||||
"value": 83526,
|
||||
"unit": "USD",
|
||||
"timing": "Markdown同步2026-10-29T18:27:36.658Z",
|
||||
"evidence": "MR2-GOMO-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "crosscheck",
|
||||
"reason": "较早缓存快照不与10月30日网页拼成同一时刻收入",
|
||||
"bound": "=",
|
||||
"comparisonGroup": null,
|
||||
"metric": "revenue-30d",
|
||||
"observedAt": "2026-10-29",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-PROMPT-MRR",
|
||||
"company": "MR019",
|
||||
"name": "Promptwise(promptwise.com)",
|
||||
"kind": "平台MRR",
|
||||
"value": 65431,
|
||||
"unit": "USD",
|
||||
"timing": "Markdown同步2026-10-30T11:20:20.475Z;网页MRR相同",
|
||||
"evidence": "MR2-PROMPT-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-mrr",
|
||||
"metric": "mrr",
|
||||
"observedAt": "2026-10-30",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-PROMPT-30D-SNAPSHOT",
|
||||
"company": "MR019",
|
||||
"name": "Promptwise(promptwise.com)",
|
||||
"kind": "平台近30日收入快照",
|
||||
"value": 94596,
|
||||
"unit": "USD",
|
||||
"timing": "Markdown快照字段与网页标题相同;同步2026-10-30T11:20:20.475Z",
|
||||
"evidence": "MR2-PROMPT-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "platform",
|
||||
"reason": "按平台显示取整值保留;平台文档定义美元口径,MRR不等近30日收入或经审计ARR,原始合同及确认口径待核。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": "trustmrr-usd-revenue-30d",
|
||||
"metric": "revenue-30d",
|
||||
"observedAt": "2026-10-30",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
},
|
||||
{
|
||||
"id": "MR2-O-PROMPT-30D-TABLE",
|
||||
"company": "MR019",
|
||||
"name": "Promptwise(promptwise.com)",
|
||||
"kind": "Markdown期间表近30日收入",
|
||||
"value": 94095,
|
||||
"unit": "USD",
|
||||
"timing": "与快照同响应中的期间表,窗口对应关系待核",
|
||||
"evidence": "MR2-PROMPT-MD",
|
||||
"scope": "产品/业务,完整法律主体及账户范围未核",
|
||||
"selection": "crosscheck",
|
||||
"reason": "期间表与快照边界不同,不能取最大、相加或用近30日收入替代MRR",
|
||||
"bound": "=",
|
||||
"comparisonGroup": null,
|
||||
"metric": "revenue-30d",
|
||||
"observedAt": "2026-10-30",
|
||||
"provider": "Stripe",
|
||||
"connectionExpired": false,
|
||||
"origin": "payment-platform"
|
||||
}
|
||||
],
|
||||
"evidence": [
|
||||
@@ -50899,6 +51185,160 @@
|
||||
"kind": "公司官网访问缺项",
|
||||
"summary": "官网直达超时,未取得当前正文。",
|
||||
"limitation": "不把访问失败当停业证明;YC Inactive状态单列,当前合同及经营状态未知。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-USD",
|
||||
"companyId": null,
|
||||
"title": "TrustMRR收入字段币种和单位",
|
||||
"url": "https://trustmrr.com/docs/api/get-startup",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台方法文档",
|
||||
"summary": "平台详情接口文档将MRR、近30日和累计收入定义为USD cents。公开展示美元金额按页面取整保留,不把API分单位再次当美元。",
|
||||
"limitation": "本轮仅读文档,没有申请密钥或访问认证接口;平台归一币种不证明经营者原始合同币种、净收入或财务审计。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-METHOD",
|
||||
"companyId": null,
|
||||
"title": "TrustMRR当前同步与资料边界",
|
||||
"url": "https://trustmrr.com/faq",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台方法说明",
|
||||
"summary": "平台重建指标可与支付商后台公式有差异;经营者资料与支付指标分开,失效连接需要重连。",
|
||||
"limitation": "不能由已连接或订阅数推出毛利、留存和主体独立性;本轮未取得逐笔支付、全部账户或完整MRR历史。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-ACCESS",
|
||||
"companyId": null,
|
||||
"title": "TrustMRR公开发现与缓存边界",
|
||||
"url": "https://trustmrr.com/llms.txt",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台公开访问说明",
|
||||
"summary": "官方列公开Markdown详情与固定缓存发现快照;完整筛选分页和深入历史需认证。",
|
||||
"limitation": "不声称覆盖全平台;本轮定向三项,公开发现端点在网页工具读取失败,未改用认证或规避访问限制。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-LLM-WEB",
|
||||
"companyId": "MR017",
|
||||
"title": "LLM Gateway网页快照",
|
||||
"url": "https://trustmrr.com/startup/llm-gateway",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "平台列2025年5月起步、Stripe MRR 78,764及过期连接,最后同步2026-09-07。",
|
||||
"limitation": "资料年份为经营者字段,非工商核验;页面现时访问不代表收入现时更新。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-LLM-MD",
|
||||
"companyId": "MR017",
|
||||
"title": "LLM Gateway公开Markdown财务快照",
|
||||
"url": "https://trustmrr.com/startup/llm-gateway.md",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "MRR 78,764、近30日快照259,539,财务最后同步2026-09-07T02:22:35.854Z,连接已过期;当前日期序列中的零值不当已验证零收入。",
|
||||
"limitation": "历史快照、积分充值、订阅及供应商代收/转付未勾稽,不能直接当净收入、利润或当前ARR。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-GOMO-WEB",
|
||||
"companyId": "MR018",
|
||||
"title": "Gomotion AI网页快照",
|
||||
"url": "https://trustmrr.com/startup/iker",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "平台列2026年7月起步;页面MRR 67,864,标题近30日84,341,最后同步2026-10-30 12:27 PM,未注明时区。",
|
||||
"limitation": "未取得独立官网与法律主体;不是同名其他视频/动画公司,资料和订阅数不证明技术效果或付费留存。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-GOMO-MD",
|
||||
"companyId": "MR018",
|
||||
"title": "Gomotion AI较早Markdown快照",
|
||||
"url": "https://trustmrr.com/startup/iker.md",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "该响应同步2026-10-29T18:27:36.658Z,MRR 67,299、近30日快照83,526;与较晚网页分别保留。",
|
||||
"limitation": "公开Markdown为缓存,未与较晚网页同刻;不跨响应拼接数值,不把差异推断成虚报。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-PROMPT-WEB",
|
||||
"companyId": "MR019",
|
||||
"title": "Promptwise网页快照",
|
||||
"url": "https://trustmrr.com/startup/promptwise",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "平台列2025年12月起步;MRR 65,431、近30日快照94,596,Stripe同步2026-10-30。",
|
||||
"limitation": "11—25团队、用户和定位为经营者可编辑资料;不转换为精确人数或独立核验成立。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-PROMPT-MD",
|
||||
"companyId": "MR019",
|
||||
"title": "Promptwise Markdown及同期口径差异",
|
||||
"url": "https://trustmrr.com/startup/promptwise.md",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "平台支付连接指标及经营者资料",
|
||||
"summary": "同步2026-10-30T11:20:20.475Z,MRR 65,431,近30日快照94,596;期间表近30日94,095,另列交叉核对。",
|
||||
"limitation": "快照与期间表窗口定义未完全对应,不相加、取最大值或用其替代MRR;经营信息和利润率不当支付核验指标。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-LLM-HOME",
|
||||
"companyId": "MR017",
|
||||
"title": "LLM Gateway当前产品和部署",
|
||||
"url": "https://llmgateway.io/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方资料",
|
||||
"summary": "多模型API路由、密钥管理、监控与托管/自托管;另列DevPass和Lounge订阅产品。",
|
||||
"limitation": "本轮未打开代码或运行网关;演示账单、吞吐和可靠性宣传不作实测或当前收入。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-LLM-TERMS",
|
||||
"companyId": "MR017",
|
||||
"title": "LLM Gateway运营者与积分计费",
|
||||
"url": "https://llmgateway.io/legal/terms",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方条款",
|
||||
"summary": "条款自述运营者Polar Lights LLC,路由第三方模型,允许积分/按用量及经常性收费,处理时发生供应商成本。",
|
||||
"limitation": "注册时间和主体财务未独立核;条款不证明支付账户全覆盖,也不决定总额或净额确认。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-LLM-PRICE",
|
||||
"companyId": "MR017",
|
||||
"title": "LLM Gateway API报价与收入拆分",
|
||||
"url": "https://llmgateway.io/pricing",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方定价",
|
||||
"summary": "API页列按token及5%平台费、BYOK免费及企业询价;5%在表中写credit usage、FAQ写买积分,计费触发有歧义。",
|
||||
"limitation": "不可把充值总额乘5%反推净收入,或把现时API单项价格解释成历史全部MRR;单项API无订阅与其他订阅产品并列。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-PROMPT-HOME",
|
||||
"companyId": "MR019",
|
||||
"title": "Promptwise创意软件及月费额度",
|
||||
"url": "https://promptwise.com/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方资料",
|
||||
"summary": "图像、视频、音频、UGC及流程画布软件;月费带积分与附加额度,当前套餐和平台旧价范围分开。",
|
||||
"limitation": "生成结果、模型质量和标价未独立测试或勾稽实际合同;宣传社区人数不作付费人数。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-PROMPT-TERMS",
|
||||
"companyId": "MR019",
|
||||
"title": "Promptwise官方运营者与聚合模式",
|
||||
"url": "https://promptwise.com/terms/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方条款",
|
||||
"summary": "条款自述ZeroTen Media Inc运营,部分功能路由第三方模型,软件品牌与模型研发分开。",
|
||||
"limitation": "条款生效/更新不是成立日,文尾仍有模板完善提示;未查工商或核全部签约主体,不据条款认定财务独立。"
|
||||
}
|
||||
],
|
||||
"reviews": [
|
||||
@@ -53265,6 +53705,75 @@
|
||||
"AGENT-HOME-YC31343"
|
||||
],
|
||||
"handling": "100K以上ARR仅自述,未给日历截至日或币种,不纳入同期收入;六基金使用、250M—5B客户资产范围和客户效率不是公司ARR。保留原始目录来源,不新增第二家公司。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-R-MR017",
|
||||
"type": "平台样本、经营模式与财务边界",
|
||||
"company": "LLM Gateway",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"MR017"
|
||||
],
|
||||
"summary": "成立年份为平台经营者资料;MRR为9月历史快照且连接过期,充值、使用、供应商成本和订阅须拆分,不能当当前纯SaaS净收入。 官网条款自述Polar Lights LLC,精确注册和支付账户合并范围未核。",
|
||||
"evidenceIds": [
|
||||
"MR2-LLM-WEB",
|
||||
"MR2-LLM-MD",
|
||||
"MR2-LLM-HOME",
|
||||
"MR2-LLM-TERMS",
|
||||
"MR2-LLM-PRICE",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"handling": "平台显示数字仅代表所连账户与时间快照;同名实体、法律起步、完整收入、利润及重复账户仍需核验。支付平台公式可不同,快照差异不单独证明造假;MRR年化仅参考。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-R-MR018",
|
||||
"type": "平台样本、经营模式与财务边界",
|
||||
"company": "Gomotion AI(TrustMRR iker)",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"MR018"
|
||||
],
|
||||
"summary": "平台2026年7月起步字段,非工商确认;网页与Markdown缓存有不同同步时点,较早数值另列。 本轮仅平台产品记录,无独立官网/注册主体证明;不与同名其他公司合并。",
|
||||
"evidenceIds": [
|
||||
"MR2-GOMO-WEB",
|
||||
"MR2-GOMO-MD",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"handling": "平台显示数字仅代表所连账户与时间快照;同名实体、法律起步、完整收入、利润及重复账户仍需核验。支付平台公式可不同,快照差异不单独证明造假;MRR年化仅参考。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-R-MR019",
|
||||
"type": "平台样本、经营模式与财务边界",
|
||||
"company": "Promptwise(promptwise.com)",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"MR019"
|
||||
],
|
||||
"summary": "平台团队为11—25范围,精确人数留空;收入快照与期间表金额不同,保留差异,不混入MRR或据此推断虚报。 官网和条款自述ZeroTen Media Inc;2025年12月为平台产品起步字段,主体注册与财务合并范围未核。",
|
||||
"evidenceIds": [
|
||||
"MR2-PROMPT-WEB",
|
||||
"MR2-PROMPT-MD",
|
||||
"MR2-PROMPT-HOME",
|
||||
"MR2-PROMPT-TERMS",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"handling": "平台显示数字仅代表所连账户与时间快照;同名实体、法律起步、完整收入、利润及重复账户仍需核验。支付平台公式可不同,快照差异不单独证明造假;MRR年化仅参考。"
|
||||
},
|
||||
{
|
||||
"id": "MR2-R-METHOD",
|
||||
"type": "平台字段、缓存和可比样本边界",
|
||||
"company": "TrustMRR公开平台样本",
|
||||
"scope": "dataset",
|
||||
"summary": "文档补足USD字段及公开缓存/访问边界;本轮只定向3项,不是全平台或全部2025—2026公司。",
|
||||
"evidenceIds": [
|
||||
"MR2-USD",
|
||||
"MR2-METHOD",
|
||||
"MR2-ACCESS"
|
||||
],
|
||||
"handling": "不注册账户、不读取认证历史。原始$资料与平台归一USD指标分开;7日与90日窗口按同步日期,近期过期快照可按日期保留但明确失效,不当当前连接或审计。"
|
||||
}
|
||||
],
|
||||
"coverage": {
|
||||
@@ -55601,6 +56110,72 @@
|
||||
"note": "机构Founded 2025与批次分开;官网读取限制、法律主体和财务口径见公司及核查记录。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "MR-2026-targeted-expansion-1",
|
||||
"sourceId": "S13",
|
||||
"url": "https://trustmrr.com/startup/llm-gateway",
|
||||
"accessedAt": "2026-10-30",
|
||||
"scope": "从公开排行榜/详情线索定向3项,各自关联平台产品记录;不是全平台或两年完整名录,经营者年份与法律成立分开。",
|
||||
"complete": false,
|
||||
"records": [
|
||||
{
|
||||
"id": "MR2B-01",
|
||||
"name": "LLM Gateway",
|
||||
"url": "https://trustmrr.com/startup/llm-gateway",
|
||||
"categoryId": "C02",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "linked",
|
||||
"companyId": "MR017",
|
||||
"evidenceIds": [
|
||||
"MR2-LLM-WEB",
|
||||
"MR2-LLM-MD",
|
||||
"MR2-LLM-HOME",
|
||||
"MR2-LLM-TERMS",
|
||||
"MR2-LLM-PRICE",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"note": "成立年份为平台经营者资料;MRR为9月历史快照且连接过期,充值、使用、供应商成本和订阅须拆分,不能当当前纯SaaS净收入。"
|
||||
},
|
||||
{
|
||||
"id": "MR2B-02",
|
||||
"name": "Gomotion AI(TrustMRR iker)",
|
||||
"url": "https://trustmrr.com/startup/iker",
|
||||
"categoryId": "C08",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "linked",
|
||||
"companyId": "MR018",
|
||||
"evidenceIds": [
|
||||
"MR2-GOMO-WEB",
|
||||
"MR2-GOMO-MD",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"note": "平台2026年7月起步字段,非工商确认;网页与Markdown缓存有不同同步时点,较早数值另列。"
|
||||
},
|
||||
{
|
||||
"id": "MR2B-03",
|
||||
"name": "Promptwise(promptwise.com)",
|
||||
"url": "https://trustmrr.com/startup/promptwise",
|
||||
"categoryId": "C08",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "linked",
|
||||
"companyId": "MR019",
|
||||
"evidenceIds": [
|
||||
"MR2-PROMPT-WEB",
|
||||
"MR2-PROMPT-MD",
|
||||
"MR2-PROMPT-HOME",
|
||||
"MR2-PROMPT-TERMS",
|
||||
"MR2-USD",
|
||||
"MR2-METHOD"
|
||||
],
|
||||
"note": "平台团队为11—25范围,精确人数留空;收入快照与期间表金额不同,保留差异,不混入MRR或据此推断虚报。"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"directoryRechecks": [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-37",
|
||||
"version": "2026-10-30-38",
|
||||
"scopeConfirmedAt": "2026-10-30",
|
||||
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
|
||||
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
|
||||
@@ -248,8 +248,8 @@
|
||||
"trustmrr.com"
|
||||
],
|
||||
"initialAccess": "见具体证据访问记录",
|
||||
"boundary": "已采集产品与支付快照;公开者自选,不是全部商户或独立财务审计。",
|
||||
"nextCheck": "核同步日、连接失效、支付平台公式及产品/法人归属。",
|
||||
"boundary": "已采集产品与支付快照;公开者自选,不是全部商户或独立财务审计。 另定向登记LLM Gateway、Gomotion AI(iker)及Promptwise,补官网、条款、公开Markdown与缓存差异;API文档明确USD分单位,未调用认证接口,不等全平台。",
|
||||
"nextCheck": "核同步日、连接失效、支付平台公式及产品/法人归属。 补网关充值/供应商成本/订阅收入勾稽、Gomotion独立主体与官网、Promptwise期间表和快照窗口;保留过期连接及不同缓存时点,不用当前访问日刷新财务日期。",
|
||||
"limitation": "来源可读不等于声明已独立验证。"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"sourceVersion": "2026-10-30-agent-classification-1",
|
||||
"sourceVersion": "2026-10-30-platform-expansion-1",
|
||||
"asOf": "2026-10-30",
|
||||
"metric": "platform-mrr-usd",
|
||||
"sampleUnit": "product-or-business",
|
||||
@@ -21,7 +21,9 @@
|
||||
"MR011",
|
||||
"MR012",
|
||||
"MR015",
|
||||
"MR016"
|
||||
"MR016",
|
||||
"MR018",
|
||||
"MR019"
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
@@ -35,7 +37,7 @@
|
||||
"MR016"
|
||||
],
|
||||
"n": 4,
|
||||
"mean": 34815.0,
|
||||
"mean": 34815,
|
||||
"median": 36723.0,
|
||||
"sampleDeviation": 16334.54845820151,
|
||||
"cv": 0.46918134304758036,
|
||||
@@ -50,7 +52,7 @@
|
||||
"MR001"
|
||||
],
|
||||
"n": 1,
|
||||
"mean": 53101.0,
|
||||
"mean": 53101,
|
||||
"median": 53101,
|
||||
"sampleDeviation": null,
|
||||
"cv": null,
|
||||
@@ -65,7 +67,7 @@
|
||||
"MR002"
|
||||
],
|
||||
"n": 1,
|
||||
"mean": 62423.0,
|
||||
"mean": 62423,
|
||||
"median": 62423,
|
||||
"sampleDeviation": null,
|
||||
"cv": null,
|
||||
@@ -79,15 +81,17 @@
|
||||
"products": [
|
||||
"MR003",
|
||||
"MR004",
|
||||
"MR005"
|
||||
"MR005",
|
||||
"MR018",
|
||||
"MR019"
|
||||
],
|
||||
"n": 3,
|
||||
"mean": 41693.0,
|
||||
"median": 49069,
|
||||
"sampleDeviation": 28111.375064197768,
|
||||
"cv": 0.6742468775141575,
|
||||
"meanWithoutLargest": 29849.0,
|
||||
"largestRemovalDrop": 0.2840764636749574
|
||||
"n": 5,
|
||||
"mean": 51674.8,
|
||||
"median": 65381,
|
||||
"sampleDeviation": 24138.82269705795,
|
||||
"cv": 0.4671294847209461,
|
||||
"meanWithoutLargest": 47627.5,
|
||||
"largestRemovalDrop": 0.07832250923080501
|
||||
},
|
||||
{
|
||||
"category": "C09",
|
||||
@@ -105,7 +109,7 @@
|
||||
"median": 20483,
|
||||
"sampleDeviation": 11942.947278624319,
|
||||
"cv": 0.4711370488466823,
|
||||
"meanWithoutLargest": 20046.0,
|
||||
"meanWithoutLargest": 20046,
|
||||
"largestRemovalDrop": 0.20920581320120557
|
||||
}
|
||||
]
|
||||
@@ -127,9 +131,27 @@
|
||||
"MR012",
|
||||
"MR015",
|
||||
"MR016",
|
||||
"AI016"
|
||||
"AI016",
|
||||
"MR017",
|
||||
"MR018",
|
||||
"MR019"
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"category": "C02",
|
||||
"provider": "Stripe",
|
||||
"model": "模型网关订阅与用量",
|
||||
"products": [
|
||||
"MR017"
|
||||
],
|
||||
"n": 1,
|
||||
"mean": 78764,
|
||||
"median": 78764,
|
||||
"sampleDeviation": null,
|
||||
"cv": null,
|
||||
"meanWithoutLargest": null,
|
||||
"largestRemovalDrop": null
|
||||
},
|
||||
{
|
||||
"category": "C06",
|
||||
"provider": "Stripe",
|
||||
@@ -146,7 +168,7 @@
|
||||
"median": 40112,
|
||||
"sampleDeviation": 174786.78744916618,
|
||||
"cv": 1.5505509613536426,
|
||||
"meanWithoutLargest": 34815.0,
|
||||
"meanWithoutLargest": 34815,
|
||||
"largestRemovalDrop": 0.6911526751687284
|
||||
},
|
||||
{
|
||||
@@ -157,7 +179,7 @@
|
||||
"MR001"
|
||||
],
|
||||
"n": 1,
|
||||
"mean": 53101.0,
|
||||
"mean": 53101,
|
||||
"median": 53101,
|
||||
"sampleDeviation": null,
|
||||
"cv": null,
|
||||
@@ -172,7 +194,7 @@
|
||||
"MR002"
|
||||
],
|
||||
"n": 1,
|
||||
"mean": 62423.0,
|
||||
"mean": 62423,
|
||||
"median": 62423,
|
||||
"sampleDeviation": null,
|
||||
"cv": null,
|
||||
@@ -186,15 +208,17 @@
|
||||
"products": [
|
||||
"MR003",
|
||||
"MR004",
|
||||
"MR005"
|
||||
"MR005",
|
||||
"MR018",
|
||||
"MR019"
|
||||
],
|
||||
"n": 3,
|
||||
"mean": 41693.0,
|
||||
"median": 49069,
|
||||
"sampleDeviation": 28111.375064197768,
|
||||
"cv": 0.6742468775141575,
|
||||
"meanWithoutLargest": 29849.0,
|
||||
"largestRemovalDrop": 0.2840764636749574
|
||||
"n": 5,
|
||||
"mean": 51674.8,
|
||||
"median": 65381,
|
||||
"sampleDeviation": 24138.82269705795,
|
||||
"cv": 0.4671294847209461,
|
||||
"meanWithoutLargest": 47627.5,
|
||||
"largestRemovalDrop": 0.07832250923080501
|
||||
},
|
||||
{
|
||||
"category": "C09",
|
||||
@@ -212,7 +236,7 @@
|
||||
"median": 20483,
|
||||
"sampleDeviation": 11942.947278624319,
|
||||
"cv": 0.4711370488466823,
|
||||
"meanWithoutLargest": 20046.0,
|
||||
"meanWithoutLargest": 20046,
|
||||
"largestRemovalDrop": 0.20920581320120557
|
||||
}
|
||||
]
|
||||
|
||||
@@ -89,23 +89,42 @@ def link(cid):
|
||||
|
||||
def render():
|
||||
points, excluded = sample(7)
|
||||
grouped = groups(points)
|
||||
described = [(key, stats(values)) for key, values in sorted(grouped.items())]
|
||||
sizes = [value['n'] for _, value in described]
|
||||
eligible = [(key, value) for key, value in described if value['n'] >= 3]
|
||||
interpretation = '各组均不足3个样本,暂不比较分组离散度或收入高低。'
|
||||
if eligible:
|
||||
highest_key, highest = max(eligible, key=lambda item: item[1]['mean'])
|
||||
sensitive_key, sensitive = max(eligible, key=lambda item: item[1]['largestRemovalDrop'] or 0)
|
||||
cvs = [value['cv'] for _, value in eligible if value['cv'] is not None]
|
||||
cv_text = f"CV范围为{min(cvs):.3f}—{max(cvs):.3f}。" if cvs else '各组CV均不可计算。'
|
||||
interpretation = (
|
||||
f"在至少3个样本的组内,当前均值最高的是{CATEGORIES[highest_key[0]]} · {highest_key[2]}"
|
||||
f"({highest_key[1]},{money(highest['mean'])}美元每月)。{cv_text}"
|
||||
f"剔除最大值后均值下降最多的是{CATEGORIES[sensitive_key[0]]} · {sensitive_key[2]}"
|
||||
f"({sensitive_key[1]},下降{sensitive['largestRemovalDrop'] or 0:.1%})。"
|
||||
'这些只是当前采集点的描述,不据微小CV差异宣称某领域更稳定。'
|
||||
)
|
||||
size_text = f"各组目前只有{min(sizes)}至{max(sizes)}个产品" if sizes else '当前没有可比较的产品'
|
||||
lines = [
|
||||
'# AI 公司收入样本分布快照', '',
|
||||
f"截至 {DATA['asOf']},7日窗口内有 {len(points)} 个产品的美元平台MRR可纳入分组描述。创意软件订阅组的样本均值较高、CV也较大;营销软件组与消费者个人应用组的CV接近。各组只有1至5个产品,尚不足以估计行业总体或造假概率。", '',
|
||||
f"截至 {DATA['asOf']},7日窗口内有 {len(points)} 个产品的美元平台MRR可纳入分组描述。按业务、支付平台和收费模式分别计算均值、中位数与离散度。{size_text},尚不足以估计行业总体或造假概率。", '',
|
||||
f"这是已采集资料的固定快照。[动态工作台]({BASE})提供筛选与原始证据。窗口按最后同步日计算,不保证所有点同日,也不是{len(DATA['companies']):,}条公司/产品记录的收入普查。", '',
|
||||
'## 7日窗口的分组结果', '',
|
||||
'MRR单位为美元每月。CV为样本标准差除以均值;最大值剔除降幅表示移除最高收入产品后均值下降的比例。单个样本不计算离散度。', '',
|
||||
'| 业务及收费模式 | 平台 | 样本数 | 均值 | 中位数 | CV | 最大值剔除降幅 |',
|
||||
'| --- | --- | --- | --- | --- | --- | --- |',
|
||||
]
|
||||
for key, values in sorted(groups(points).items()):
|
||||
for key, values in sorted(grouped.items()):
|
||||
cat, provider, model = key
|
||||
v = stats(values)
|
||||
cv = f"{v['cv']:.3f}" if v['cv'] is not None else '不计算'
|
||||
drop = f"{v['largestRemovalDrop']:.1%}" if v['largestRemovalDrop'] is not None else '不计算'
|
||||
lines.append(f"| {CATEGORIES[cat]} · {model} | {provider} | {v['n']} | {money(v['mean'])} | {money(v['median'])} | {cv} | {drop} |")
|
||||
lines += ['',
|
||||
'在至少3个样本的组内,内容创意软件订阅的均值较高,但移除最大样本后的下降也最大。营销软件与个人应用的CV仅有微小差别,不据此宣称哪个领域更稳定。两个内容类单样本组虽有更高数值,不能作为典型收入或领域排名。', '',
|
||||
interpretation, '',
|
||||
'单个样本不计算离散度,也不能作为典型收入或领域排名;不同收费模式和支付平台的分组保留各自含义。', '',
|
||||
'均值和中位数接近只描述当前采集点,并不证明样本具有代表性。平台公开者、成立年、规模、获客渠道与收费方式均可能影响结果。', '',
|
||||
'## 样本与证据入口', '',
|
||||
'点击产品名称可打开公司明细,再查看平台记录及其限制。连接已过期的近期快照仍按所标日期保留,并不表示连接当前有效。', '',
|
||||
|
||||
Reference in New Issue
Block a user