补核2026房地产六项并保留成立冲突与机器人交付边界

This commit is contained in:
2026-10-31 19:51:15 +08:00
parent d7251e892b
commit a67a3b3b81
5 changed files with 387 additions and 21 deletions
+2 -2
View File
@@ -182,9 +182,9 @@ 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, 1176);
assert.equal(research.companies.length, 1177);
assert.equal(research.categories.length, 11);
assert.equal(research.evidence.length, 4073);
assert.equal(research.evidence.length, 4088);
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 });
+7 -7
View File
@@ -47,8 +47,8 @@ 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, 1176);
assert.equal(initial.evidence.length, 4073);
assert.equal(initial.companies.length, 1177);
assert.equal(initial.evidence.length, 4088);
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");
@@ -89,7 +89,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, 71);
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 73);
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"]);
@@ -109,11 +109,11 @@ 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), 1176);
assert.equal(summary.reduce((n, c) => n + c.count, 0), 1177);
assert.equal(summary.reduce((n, c) => n + c.self, 0), 58);
assert.equal(summary.reduce((n, c) => n + c.estimate, 0), 2);
assert.equal(summary.reduce((n, c) => n + c.platform, 0), 19);
assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 1097);
assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 1098);
assert.equal(snapshot.companies.find((c) => c.name === "Rork")?.revenueStatus, "unknown");
assert.equal(snapshot.companies.find((c) => c.name === "Result")?.revenueStatus, "unknown");
assert.ok(snapshot.observations.filter((o) => o.selection === "signal").every((o) => o.scope === "公司整体"));
@@ -148,7 +148,7 @@ test("service run rates, legacy freight revenue and paid adoption do not become
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, 161);
assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 162);
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 24);
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "independent-test").length, 1);
assert.equal(snapshot.companies.find((c) => c.id === "AI051")?.revenueStatus, "unknown");
@@ -430,7 +430,7 @@ test("unreconciled directory financials remain source reviews instead of income
assert.ok(review.evidenceIds.includes("PH-TANA-DR"));
assert.equal(reviewCompanyIds(snapshot, review).length, 0);
assert.ok(!snapshot.observations.some((o) => o.evidence === "PH-TANA-DR"));
assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 94);
assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 96);
});
test("product pivots and founder histories do not become new company years or current revenue", () => {
+350 -1
View File
@@ -1,5 +1,5 @@
{
"version": "2026-10-31-tc26-logistics-1",
"version": "2026-10-31-tc26-proptech-1",
"asOf": "2026-10-31",
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
"limitations": [
@@ -36761,6 +36761,46 @@
"TC26LOG-DESTRO-RELEASE"
]
}
},
{
"id": "TC-VITROBOT",
"name": "VitroBOT",
"url": "https://vitrobot.site/",
"channel": "S02",
"cat": "C10",
"year": 2025,
"team": null,
"location": null,
"business": "幕墙清洁机器人租赁及视觉AI检测机器人研发。",
"buyer": "窗户清洁承包商、物业业主和幕墙维护团队",
"delivery": "当前官网清洁机器人来自合作平台并按月租;自建视觉检测/修复报价机器人仍在开发,公开公司主页产品顺序不同。",
"notes": "公司页自报2025。当前租赁与拟交付AI检测分开,缺陷类别13/9与产品顺序差异保留,付费试点意向不作收款。",
"cohort": "2025(公司原始主页自报;精确注册及新旧实体沿革待核)",
"teamBasis": "原始公司页2—10范围;不取中点,创始人/顾问名单不作精确员工。",
"price": "官网称清洁机器人按月租,未核租金/币种或AI检测软件收费。",
"stage": "官网清洁租赁可洽谈;自建AI检测开发中,实际试点、合同/付费及独立效果未核",
"sourceType": "竞赛发现、公司原始产品/沿革及公司公开主页",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-VITRO-HOME",
"TC26PROP-VITRO-YEAR",
"TC26PROP-VITRO-ABOUT"
],
"revenueStatus": "unknown",
"extraUrl": "https://www.linkedin.com/company/vitrobot",
"businessModel": "合作机器人月租、未来自建检测机器人及Cloud报价;硬件租金、保险/运维/现场人工、AI软件和数据服务净费须拆,未核ARR。",
"entityBasis": "同域和EnguerandChretien对应,官网署VitroBOTInc;法国同名注册转载未读原始/未证全集团关系,不当精确成立。",
"classificationBasis": "人工复核:按物理幕墙机器人/视觉检测研发归C10,当前租赁与未来AI软件分列。",
"technicalReview": {
"level": "description",
"reviewedAt": "2026-10-31",
"summary": "产品规格与视觉能力为厂商描述,检测仍研发;首页13/产品9类不同,未执行设备或独立验证安全/准确性。",
"evidenceIds": [
"TC26PROP-VITRO-HOME",
"TC26PROP-VITRO-YEAR",
"TC26PROP-VITRO-ABOUT"
]
}
}
],
"observations": [
@@ -88683,6 +88723,171 @@
"kind": "官方/公司自述:2026物流供应链组原始资料复核",
"summary": "同域原始公司页讲利益相关者调查/分析与认证;转发客户VidaCamara称已连续7年获得其认证。",
"limitation": "证明存在范围前认证业务线索,不推精确公司成立年份;客户得分/评论人数和认证数不当软件ARR,也不证明AI核心或独立审计。"
},
{
"id": "TC26PROP-BLUEPRINTS-HOME",
"companyId": null,
"title": "Blueprints原始官网当前成立字段",
"url": "https://www.blueprints-ai.com/",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "官网现可读,讲AI生成施工文件并由执业专业人士复核,FAQ明确公司foundedin2024。",
"limitation": "与原始公司主页搜索缓存2025不同,直达公司页仍429,精确主体/沿革待核;当前内测案例与加速器Logo非独立验证,4000多注册公司不当付费客户。"
},
{
"id": "TC26PROP-BLUEPRINTS-TERMS",
"companyId": null,
"title": "Blueprints原始收费和审阅边界",
"url": "https://www.blueprints-ai.com/legal/terms",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "2026-10-19条款区分演示定金、V2预订与实际套餐;可获植入产品佣金,图纸仍须专业审阅。",
"limitation": "定金不购买套餐/credits/席位,不是ARR;可能的推广佣金与软件费须拆,实际签约额未知。数据训练条款与首页安全说明不等独立安全审计。"
},
{
"id": "TC26PROP-BLUEPRINTS-PRICE",
"companyId": null,
"title": "Blueprints当前套餐/演示定金",
"url": "https://www.blueprints-ai.com/pricing",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "原$报价Firm3800/月含1900credits、Firm+8800/月含4400credits;演示定金100/200/500,可抵未来套餐,企业另议。",
"limitation": "币种本页未明确不补USD;年度优惠/月等值、credits和定金与真实经常费分开。首页FAQ称询价而价格页有金额,按页面保留访问时差异,不视作实际订单。"
},
{
"id": "TC26PROP-BLUEPRINTS-LATKA",
"companyId": null,
"title": "Blueprints第三方年份及营收估算差异",
"url": "https://getlatka.com/companies/blueprints-ai.com",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "第三方估算:年份及ARR定义未对齐",
"summary": "Latka页列Founded2022与2025年440K美元估算,说明未访谈该公司管理层;正文称annualrevenue,标题有ARR字样。",
"limitation": "与原始2024/2025并列但不当成立确认;估算未与真实合同/收入定义对齐,不升级为公司披露或纳入ARR。"
},
{
"id": "TC26PROP-PROPRA-HOME",
"companyId": null,
"title": "Propra物业会计和AI辅助流程",
"url": "https://propra.tech/",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "加拿大物业管理软件连接会计、租赁、付款、维修,描述AI单据识别及对账。",
"limitation": "120M+处理付款是客户资金流,25K单元不是付费公司/团队人数;租金、物业管理服务费与软件净费分别核,不从托管流水反推收入。"
},
{
"id": "TC26PROP-PROPRA-YEAR",
"companyId": null,
"title": "Propra原始公司成立字段",
"url": "https://www.linkedin.com/company/propra",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "公司页同域propra.tech,自报2021、Calgary及11—50范围,团队CraigAdam等与现业务一致。",
"limitation": "自报非注册核验;旧propra.ca提及不重置成立,第三方法人登记转载未读原始,不声称官方注册已核。"
},
{
"id": "TC26PROP-TITL-HOME",
"companyId": null,
"title": "Titl土地记录抽取与权属工作流",
"url": "https://www.titl.co/",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "AI从县级契据/留置权等资料抽取名字、日期和权益,辅助检索、整理和审查,供产权专业团队复核。",
"limitation": "搜索提速、文件数/客户Logo非独立准确率或付费合同;首页250万美元为融资而非ARR,贷款/产权交易和保险费不得混入软件净费。"
},
{
"id": "TC26PROP-TITL-YEAR",
"companyId": null,
"title": "Titl原始公司年份",
"url": "https://www.linkedin.com/company/titl-co",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "同域公司页自报2021、MiamiDade及11—50范围,AdamYormack等与当前专业业务相符。",
"limitation": "公司自述非注册;创始人原律所/AlligatorTitle业务和资金不并入本公司软件收入。"
},
{
"id": "TC26PROP-VITRO-HOME",
"companyId": "TC-VITROBOT",
"title": "VitroBOT当前租赁与研发分列",
"url": "https://vitrobot.site/",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "当前首页/产品页讲合作平台清洁机器人按月租,检测机器人仍在开发;拟用视觉AI将缺陷映射到修复报价。",
"limitation": "首页13类缺陷而产品/About9类,原始页口径差异保留,不选较高值当实测;月租硬件不等AI软件ARR,租金/实际部署未核。"
},
{
"id": "TC26PROP-VITRO-YEAR",
"companyId": "TC-VITROBOT",
"title": "VitroBot原始公司页年份与定位差异",
"url": "https://www.linkedin.com/company/vitrobot",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "同域公司页自报2025、2—10范围,EnguerandChretien对应;公开页仍写检测先行、清洁在路线图。",
"limitation": "与当前官网清洁先/检测开发中的顺序不同,按原页面并列而不强拼成熟交付;关联2账户不是全职团队人数,不混近名冷冻电镜设备。"
},
{
"id": "TC26PROP-VITRO-ABOUT",
"companyId": "TC-VITROBOT",
"title": "VitroBOT自建与合作平台边界",
"url": "https://vitrobot.site/about",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "官网列合作清洁平台2026月租、2027自建检测机器人和更后续维护规划;早期原型及欧洲付费试点意向。",
"limitation": "付费试点letters-of-intent不是已履约收款,原型成本不是售价/营收。美国试点预约与未来功能不当当前交付,Inc/法国主体和登记沿革仍待核。"
},
{
"id": "TC26PROP-WATAD-HOME",
"companyId": null,
"title": "WatadAridOS与既有采购平台",
"url": "https://www.watad.vip/en/aridos",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "AridOS页称AI语音采购、供应商匹配、融资/跟踪,Q32026早期访问/等候名单;采购和嵌入融资为已有业务。",
"limitation": "材料单价/吨数、信用额度/融资本金及界面订单非自身营收;候补、产品发布时间和新品牌不重置公司年。"
},
{
"id": "TC26PROP-WATAD-YEAR",
"companyId": null,
"title": "Watad原始公司年份与交付状态",
"url": "https://www.linkedin.com/company/watad-vip",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "同域公司页自报2023、AlRiyadh及11—50范围,描述在既有采购/融资数据之上建设AI工作流,称live和有收入。",
"limitation": "原始产品页早期访问与现业务live分列,AI收入未量化/未拆净费;零违约为公司自述非审计或软件收入。"
},
{
"id": "TC26PROP-ZIFFY-HOME",
"companyId": null,
"title": "Ziffy地产分析与相关服务主体",
"url": "https://ziffy.ai/about-us",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "官网讲AI地产检索、租金/ROI估算与经纪、按揭、保险等服务,AmreshSingh和DebjitSaha团队;按揭服务反链ziffymortgage.com。",
"limitation": "房价、示例租金/现金流/投资回报及贷款本金不作Ziffy软件ARR;同团队/域反链不证明全部法人/并表,未申请贷款或提交财务资料。"
},
{
"id": "TC26PROP-ZIFFY-YEAR-GAP",
"companyId": null,
"title": "Ziffy原始公司页成立缺项",
"url": "https://www.linkedin.com/company/ziffyai",
"publishedAt": null,
"accessedAt": "2026-10-31",
"kind": "官方/公司自述:2026房地产组原始资料复核",
"summary": "同域公司页列Buffalo、11—50范围和AmreshSingh,当前可读字段没有Founded。",
"limitation": "原始成立仍缺;现AI品牌、前HomeAbroad/贷款服务与新旧主体沿革未核,不由媒体/域名创建年推成立,也不把关联5账户当员工总数。"
}
],
"reviews": [
@@ -95936,6 +96141,45 @@
"TC26LOG-SSINDEX-OLD-BUSINESS"
],
"handling": "网站对应不等全部注册/合同核验;SSINDEX旧认证业务不补精确公司年或AI核心。2026具名80登记/121待登记、2空锚待对应,整体研究未完成;未执行软件、运行机器人或提交业务资料。"
},
{
"id": "TC26PROP-R-REVENUE",
"type": "房地产流水、硬件月租与软件ARR",
"company": "2026房地产6项",
"scope": "dataset",
"summary": "房价/租金、按揭/建材融资、物业处理付款、融资和专业服务净费不等软件ARR;Vitro合作清洁机器人月租与未来AI检测分开,Blueprints演示/V2定金非订阅。",
"evidenceIds": [
"TC26PROP-BLUEPRINTS-PRICE",
"TC26PROP-BLUEPRINTS-TERMS",
"TC26PROP-BLUEPRINTS-LATKA",
"TC26PROP-PROPRA-HOME",
"TC26PROP-TITL-HOME",
"TC26PROP-VITRO-HOME",
"TC26PROP-VITRO-ABOUT",
"TC26PROP-WATAD-HOME",
"TC26PROP-ZIFFY-HOME"
],
"handling": "未新增收入观测,新公司收入未知。Latka440K明确估算且annualrevenue/标题ARR不一致、成立2022未对齐,不改成公司披露。报价原$未明币种不补USD,credits/客户数/注册数和意向不当收入。"
},
{
"id": "TC26PROP-R-ROSTER",
"type": "2026房地产主体、年份及交付版本差异",
"company": "2026总入口具名201URL",
"scope": "dataset",
"summary": "6原网址有访问记录,1新关联3暂范围外2待年份。Blueprints官网2024、主页缓存2025与聚合2022分列;Vitro自报2025但检测/清洁顺序及13/9类缺陷版本不同。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-BLUEPRINTS-HOME",
"BLUEPRINTS-PROFILE-ACCESS",
"TC26PROP-BLUEPRINTS-LATKA",
"TC26PROP-PROPRA-YEAR",
"TC26PROP-TITL-YEAR",
"TC26PROP-VITRO-YEAR",
"TC26PROP-VITRO-ABOUT",
"TC26PROP-WATAD-YEAR",
"TC26PROP-ZIFFY-YEAR-GAP"
],
"handling": "保留既有发现记录、当前证据和缺项,不据矛盾判造假或重写原始年度快照。当前具名86登记/115待登记,AI新品发布日期不替公司成立;不混Ziffy按揭/旧品牌或Vitro近名设备,整体来源仍未完成。"
}
],
"coverage": {
@@ -106068,6 +106312,111 @@
]
}
]
},
{
"id": "TC-2026-battlefield-proptech-1",
"sourceId": "S02",
"url": "https://techcrunch.com/2026/08/20/the-2026-startup-battlefield-200-is-here-see-who-made-the-cut/",
"accessedAt": "2026-10-31",
"scope": "2026总入口房地产6原网址逐项访问:VitroBOT自报2025新增;Propra/Titl/Watad3旧成立暂范围外;Blueprints自述2024/2025冲突及Ziffy缺成立2待核。Blueprints另与既有TC26-P56-04发现记录相连,不新增主公司;无收入新增。具名86登记/115待登记,空锚分列。",
"complete": false,
"records": [
{
"id": "TC26-PROP-BLUEPRINTS",
"name": "Blueprints AI",
"url": "https://www.blueprints-ai.com/",
"categoryId": "C07",
"kind": "company",
"profileStatus": "readable",
"status": "pending-year",
"note": "复核既有TC26-P56-04发现候选,另登记总入口原网址而不新增主公司。当前官网2024/公司主页缓存2025/Latka2022分列,成立待核;定金、套餐、credits、佣金与估算年收入不作已核ARR。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-BLUEPRINTS-HOME",
"BLUEPRINTS-PROFILE-ACCESS",
"TC26PROP-BLUEPRINTS-TERMS",
"TC26PROP-BLUEPRINTS-PRICE",
"TC26PROP-BLUEPRINTS-LATKA"
]
},
{
"id": "TC26-PROP-PROPRA",
"name": "Propra Technologies Inc.",
"url": "https://propra.tech/",
"categoryId": "C07",
"kind": "company",
"profileStatus": "readable",
"status": "outside-cohort",
"note": "公司自报2021暂范围外;AI辅助会计/物业软件与租金、客户处理付款和物业服务费分开,付款流水不当软件ARR。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-PROPRA-HOME",
"TC26PROP-PROPRA-YEAR"
]
},
{
"id": "TC26-PROP-TITL",
"name": "Titl",
"url": "http://www.titl.co",
"categoryId": "C07",
"kind": "company",
"profileStatus": "readable",
"status": "outside-cohort",
"note": "原始公司页2021暂范围外;当前土地记录AI审查不将地产交易、融资、保险费和创始人旧律所收入当自身ARR。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-TITL-HOME",
"TC26PROP-TITL-YEAR"
]
},
{
"id": "TC26-PROP-VITRO",
"name": "Vitrobot",
"url": "https://vitrobot.site/",
"categoryId": "C10",
"kind": "company",
"profileStatus": "readable",
"status": "linked",
"note": "公司页自报2025关联;清洁合作平台月租与自建AI检测开发分开,原公司页检测优先与现官网顺序不同,13/9类缺陷和试点意向不当已验收能力/收入。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-VITRO-HOME",
"TC26PROP-VITRO-YEAR",
"TC26PROP-VITRO-ABOUT"
],
"companyId": "TC-VITROBOT"
},
{
"id": "TC26-PROP-WATAD",
"name": "Watad",
"url": "https://www.watad.vip/en/aridos",
"categoryId": "C07",
"kind": "company",
"profileStatus": "readable",
"status": "outside-cohort",
"note": "原始公司页2023暂范围外,AridOS2026发布不重置旧采购/融资业务。材料交易、融资余额和平台净服务费/订阅分开,AI早期访问与旧业务live不混。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-WATAD-HOME",
"TC26PROP-WATAD-YEAR"
]
},
{
"id": "TC26-PROP-ZIFFY",
"name": "Ziffy.ai",
"url": "https://ziffy.ai/",
"categoryId": "C07",
"kind": "company",
"profileStatus": "readable",
"status": "pending-year",
"note": "原始公司页无Founded,当前AI地产分析与经纪/按揭服务沿革待核;房价/租金/贷款、佣金净费和软件收入分开,不把示例现金流当自身MRR。",
"evidenceIds": [
"TC26AG-INDEX",
"TC26PROP-ZIFFY-HOME",
"TC26PROP-ZIFFY-YEAR-GAP"
]
}
]
}
],
"directoryRechecks": [
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
{
"sourceVersion": "2026-10-31-tc26-logistics-1",
"sourceVersion": "2026-10-31-tc26-proptech-1",
"asOf": "2026-10-31",
"metric": "platform-mrr-usd",
"sampleUnit": "product-or-business",