大盘
{{ ov.engine_note || '' }}
库内件数(本检索宇宙)
{{ fmt(ov.total) }}
口径:records.zh_term='宠物用品'
申请日覆盖
{{ ov.filing_min }} → {{ ov.filing_max }}
最新公开日 {{ ov.publication_max }}
CR3(前三家份额)
{{ (ov.cr3*100).toFixed(2) }}%
高度分散;名称未归一,实际略高
形态族(标题词标签)
{{ ov.form_count }}
{{ ov.tag_rule_count ? ov.tag_rule_count + ' 条正则打在标题上' : '规则条数未知' }}
申请年序列
口径:`SELECT substr(filing_date,1,4), count(*) FROM records WHERE zh_term='宠物用品' GROUP BY 1`。最新完整年 2024:{{ fmt(ycount(2024)) }} 件;2025 年 {{ fmt(ycount(2025)) }} 件属「未走完」(申请后 6–18 个月才公开),不参与同比结论。
形态标签 Top10
口径:tags × records 聚合,件数为标签命中数(一件可带多个标签)。这是标题词标签,不是图形层形态编码。
缺口清单(如实标,不代填)
图形缺失是来源侧限制(BigQuery 只给元数据;2025 新公开件的图在 Google 图床 403)→ 界面一律显示「图形缺失」,不做批量补图。
前十申请人
口径:records.assignee 字面聚合;同集团不同法人未合并(DOSKOCIL MFG 与 Petmate 未合并),集中度被低估。全部 →
口径自我陈述
{{ ov.coverage_note }}
{{ ov.provenance_note }}
检索台
同一个搜索框里查的是「专利库里已存在的形态」,不是货架。
{{ s.engine_note }}
{{ s.caliber }}
记录详情
{{ route.id }}
{{ rec.source_note }}
形态族
谁挤在哪一块 —— 按标题词标签聚合,点族看该族全部记录(申请日倒序)。
族清单({{ fm.rows.length }})
{{ fm.caliber }}
{{ curForm ? ('族明细:' + curForm) : '族明细' }}
左侧点一个族。
申请人
谁在场、有多散 —— 共 {{ fmt(as.assignee_count) }} 个申请人名(未归一)。
{{ as.caliber }}
点任一行 → 到检索台看该申请人的全部记录。
口径与方法
这些数字凭什么可信 —— 来源、准入规则、成本、覆盖度与缺口,全部如实写。
来源 · 准入 · 成本
口径:能算的一律现场算(库内直查/归档清单的原话);只有外部事实才声明,并写明是哪一家的什么额度。归档不可变 —— 改口径只重跑解析层,不重跑查询。
准入规则:USPC 分类 D30*(动物养护与处理制品)或标题按词边界命中宠物用品词表。词边界是硬要求 —— cat 曾命中 communi(cat)ions、pet 曾命中 com(pet)e,把电子产品混进来;剔除量见上表「被准入规则剔除」。
覆盖度与缺口(自我陈述)
{{ mf.coverage_note }}
分析单元与出处行
{{ un.caliber }}
〈{{ u.name }} · v{{ u.version }}〉
归档于 outputs/{{ u.slug }}/v{{ u.version }}/
{{ u.provenance }}
口径:只读留档件(不在界面里重算);界面改不了数据 —— 后端以 `mode=ro` 打开库,写入被数据库直接拒绝。
分类体系
预留页 —— 等「宠物产业四级分类」接入后填。
本轮不含任何内容:库内 `records` 表没有分类号字段(USPC D30 只用在准入规则里,未落库),因此现在挂接不上分类体系。等外部四级分类文件到位,先做「分类体系 vs 库内 {{ fmt(ov.total) }} 件」的可挂接性核对(哪些层级能对上、哪些挂不上),再定这一页怎么落。