# 爆款视频识别

本版帮助品牌从表现突出的作品发现值得了解的作者，交付“爆款榜单 + 现有模块的筛选与标记”。适用YouTube、TikTok、Instagram；榜单Demo用于确认页面形态，真实计算与数据服务尚未接入。

2026-10-27已与设计、前后端和测试完成页面方案评审，现移交数据组。算法与数仓可先读[数据组交接说明](数据组交接说明.md)，分别审查规则、落实本期计算与更新；后续算法优化另行迭代，不等同于本期生产验收已完成。

## 背景与目标

绝对播放量能说明作品规模，却不能直接回答“这条作品是否突破作者日常表现”。本期通过同作者历史作品建立对照，让品牌从榜单浏览，或在原搜索、频道、监控和品牌分析流程中发现突出作品。

本期只判断已经发生的“账号突破”，不承诺全平台热门、作者持续能力或合作效果。除新增榜单外，沿用原页面布局，增加必要的筛选、标记和依据；原视频分数、监控增长、品牌“爆款制造率”保持原义。

2026-11-02已确认精简榜单：仅保留平台切换、国家/地区和分类，固定近30天发布；此调整不改变90天计算期限及其他模块的原筛选能力。

## 本期规则速览

以下是已确认的产品口径；标为“暂定”的参数后续可校准，具体计算及异常处理以[计算规则SPEC](计算规则_SPEC.md)为准。

| 项目 | 当前口径 |
| --- | --- |
| 如何判断 | 目标视频累计播放量 **≥同作者此前同形态作品累计播放量中位数的10倍**。剔除目标自身；样本不足或基准不可用时不判定。10倍暂定，点赞、评论等不参与本期判定或榜单排序 |
| 最低发布时长 | 暂按YouTube长视频7天，Shorts、TikTok视频、Instagram Reels 3天。目标及历史样本均按**快照实际采集时的发布年龄**判断，不能用今天的年龄代替 |
| 比较的数据 | 使用已有公共累计快照，不要求严格同发布年龄；快照不因采集较早自动失效，仍须满足来源、字段与最低发布时长等条件 |
| 计算期限与历史 | 目标发布超过90天，停止自动首次判定、重算和重试；已有判定与依据保留。更早作品仍可作为新目标的历史参考，不因此触发旧目标重算 |
| 更新方式 | 日更为产品目标，允许公共视频数据更新后触发增量计算；无新数据复用原结果，不承诺每条视频每日采集或每天全量重算 |
| 榜单范围 | 固定展示近30天发布的视频，仅提供国家/地区与分类筛选，保留平台切换；时间按榜单批次截止时刻回推，不提供时间或高级筛选 |
| 榜单排序 | 判定快照累计播放量降序；同播放量较新发布优先，仍相同则按稳定ID顺序。倍数用于说明入选，不决定名次 |
| 榜单国家 | 沿用频道榜的频道国家/地区归属；未知国家只参与全球范围，不用内容市场或受众地区补值 |
| 频道搜索 | “近期有爆款视频”：不限（默认）／近30天／近90天；按作品发布时间至少有一条有效命中。保留原关联视频选取与排序，不新增命中作品入口；爆款不一定与搜索词相关 |
| 统一结果与状态 | 各模块读取同一公共结果，前端不计算阈值、倍数或排名。待观察、数据不足、未达标、未覆盖、受限及请求失败分别处理；停止计算不等于未达标 |

用户界面统一使用“爆款”等结果文案，不展示“账号突破”类型名；内部保留`account_breakout`以便扩展。历史样本“最多20／至少10条”仍是候选，由产品与数据组在接入前确认。

## 本期交付范围

| 范围 | 交付内容 |
| --- | --- |
| 新爆款榜单 | 三平台榜单、国家/地区与分类筛选、行内历史中位数与倍数、口径说明；不设查看依据抽屉，正式版内容链接去源站；批次编号仅供内部使用，页面不展示或提供筛选 |
| 视频搜索 | 爆款筛选、视频标记与依据，保留原搜索和排序 |
| 频道搜索 | 近期有爆款筛选、短计数及条件保存/恢复；不改变关联视频展示 |
| 频道内容、内容监控、品牌资产 | 原列表/卡片增加必要筛选、标记和依据；监控读取公共结果，原增长指标和私有数据链路保持独立 |
| Header / Footer与SEO | 两处各增加三平台全球榜入口。国家沿用页内筛选及对应URL、标题和描述，不新增国家导航条或固定国家数量要求 |
| 不单独开发的零散入口 | 推广视频、合作/商品抽屉、单任务详情、相关推荐、P1单视频分析等，仅随共享组件自然复用；不为覆盖它们新增接口、筛选或统计，不阻塞上线 |

权限：新榜单沿用现有榜单设定；其他模块的新增能力不加权限门槛、独立套餐权益或“爆款次数”，原数据可见范围和既有操作配额保持。

导出：已有导出跟随新筛选，保留原对象、模板、数量与权限配额；本期不新增爆款导出列或新的榜单导出功能。

## 关键取舍及原因

- **选择同作者对照，保持解释直接。** 作品突破自身常态与绝对传播规模分开表达，先提供可核对的播放与历史基准，不引入综合分或因果解释。
- **公共结果统一，监控增长独立。** 公共数据只有更新时的快照，不能承诺发布早期及时发现；监控虽有连续曲线，本期不另建一套增长判定。
- **限制计算对象，保留历史价值。** 90天期限控制存量任务累积；停止重算后仍保留当时结论，旧作品也可继续作为历史参考。
- **先完成核心页面，控制扩展范围。** 只保留榜单Demo，其他模块通过SPEC交付小幅改造；AI推荐关键词本期不做，零散入口不单独开发。

## 交付文档

| 文档 | 阅读用途 |
| --- | --- |
| [数据组交接说明](数据组交接说明.md) | 独立简版：当前公式、数仓计算与更新、算法审查与后续迭代职责 |
| [计算规则SPEC](计算规则_SPEC.md) | 算法输入、比较基准、计算生命周期、更新、状态与统一结果契约 |
| [新增榜单页SPEC](榜单页_SPEC.md) | 页面组织、筛选/排序、行内对照、跳转、Header/Footer追加及国家URL/SEO方案 |
| [其余功能模块修改SPEC](其余功能模块修改_SPEC.md) | 各核心模块改动、频道聚合、书签与导出适配、零散入口边界 |
| [保留结论汇总](保留结论汇总.md) | 数据和旧指标证据、验证限制、Demo差异及后续参考 |

本页说明背景、范围与当前状态；详细行为只在对应SPEC维护。前端按模块对照Demo，后端重点阅读计算规则和其他模块SPEC。

## 生产实现与验收checklist

**上文产品取舍已确认；下面只记录生产实现/验收，当前均未宣称通过。** Demo验证不等于上线验收，详细用例见各SPEC。

- [ ] 公共服务提供三平台统一结果、证据、版本与状态；前端只查询、筛选和展示。
- [ ] 落实采集时最低发布年龄、90天入队/执行检查、停止重试与历史保留；更新触发去重，实际采集、评估及发布时间可追溯。
- [ ] 榜单接入真实判定、排序与覆盖统计；固定近30天，平台/国家/分类恢复、旧参数清理、空态及异常正确。
- [ ] 视频/频道搜索接通服务端筛选、过滤后分页、计数及书签恢复；频道关联视频仍按原规则展示。
- [ ] 频道内容、监控、品牌资产的筛选、标记与依据同源一致，原指标及数据边界保持。
- [ ] Header/Footer新入口与正式路由接通；国家筛选、URL、SSR、标题/描述、规范地址及索引配置一致，旧HOT不被替换。
- [ ] 沿用既有权限/配额；原导出按新筛选和固定上下文输出原对象，不扩列或泄漏不可见内容。
- [ ] 同次查询、分页与返回保持上下文；未覆盖、失败、延迟、撤销等不伪装成未达标或正常空结果。
- [ ] 榜单及相关新增入口不出现AI推荐关键词、禁用占位或旧搜索替代入口，不触发推荐生成或新的搜索承接。
- [ ] 完成平台、站点语言、地区显隐、键盘与窄屏适配验收；零散入口未自然带出标记不阻塞核心交付。

## 评审与研发待确认事项

| 事项 | 当前处理与责任 |
| --- | --- |
| 历史样本量 | 最多20／至少10条仍为候选，由产品与算法、数仓在接入前确认；页面评审通过不代表参数定稿 |
| 数据与服务 | 研发/数据核实三平台形态、播放口径、可信观测、历史样本覆盖及频道国家字段关联；落实服务归属、索引聚合、更新依赖与处理/发布延迟 |
| 正式接入 | 研发核对现有权限配置、导出和导航；新路径与SEO配置需联调。原则已确定，不重新制定一套权限或固定国家清单 |

## 后续版本 TODO（不属于本期交付或评审阻塞项）

单视频AI推荐关键词及相关内容搜索承接本期不做，只保留[历史研究结论](保留结论汇总.md#单视频-ai-推荐关键词的决策依据)供后续评估，不作为开关、排期或验收待定项。既有频道搜索AI能力保持原样。

内容监控近期识别／增长爆发留待后续：研究单视频连续曲线、自身基线及持续确认，不纳入本期算法、标签、筛选、统计或导出。参考[保留结论第3.2节](保留结论汇总.md#32-仅依赖单视频连续观测的增长爆发候选后续版本-todo本期不包含)。其他判定类型、自定义规则、预测、自动预警、AI原因分析、交易爆款及独立视频收藏库均不在本期范围。

## Demo使用与版本状态

[本地榜单Demo](http://127.0.0.1:3323/youtube-video-rank?viralDemo=1)使用固定模拟批次2026-09-16；近30天范围不按今天回推。仅演示榜单、行内中位数/倍数、口径说明、筛选恢复与跳转提示，不执行真实算法或任务调度。其他模块和全站导航改动仅有SPEC。

**当前评审版本已推送，可直接从远端分支获取，无需应用补丁。**

| 版本 | 获取与状态 |
| --- | --- |
| 远端评审版本 | 仓库`Influencer/Client/kol-next`，分支`codex/viral-video-demo`，提交`3ac500453`（2026-11-02已推送）；固定近30天，仅国家/分类筛选及平台切换，旧筛选参数不再生效 |
| 本机工作副本 | [kol-next-viral-video-demo](/Users/yukuangji/Work/NoxInfluencer/pm-workspace/kol-next-viral-video-demo)，与上述提交一致，工作区干净 |

[版本与文件校验信息](assets/榜单Demo_评审版本.json)记录完整提交号及文件摘要。[评审补丁](assets/榜单Demo_评审补丁_2026-11-02.patch)仅保留作离线变更对照，基线为历史提交`0c46b320f`；检出当前提交后不要重复应用。

当前样例共43条，其中13条为有效命中；固定近30天的三平台榜单共10条，另外3条因发布时间超出榜单窗口不入榜，仍可用于保留判定及范围边界验证。已验证列表、行内基准、口径说明、筛选状态与兼容跳转；真实算法效果、数据覆盖、生产权限和性能尚未验收。

### 获取评审代码

在独立、干净的工作副本中操作；先按主仓规范准备依赖和i18n资源。

```bash
git fetch origin codex/viral-video-demo
git switch --detach 3ac500453
```

### 启动本地预览

使用本机已验证的Node 25.8.1，在评审工作副本根目录执行以下命令。它复用当前预览的内存会话/缓存和未登录方式，只适用于模拟榜单，不能用于生产或真实权限验收；不修改仓库服务配置。

```bash
nvm use 25.8.1
NODE_ENV=development KOL_ENV=development KOL_FAST_DEV=true \
node --max-old-space-size=8192 <<'JS'
const session = require('express-session')
require('connect-redis')
require.cache[require.resolve('connect-redis')].exports = () => session.MemoryStore
const cache = new Map()
const redis = require('./server/config/redis')
redis.getAsync = async key => cache.get(key) || null
redis.setAsync = async (key, value) => { cache.set(key, value); return 'OK' }
redis.smembersAsync = async () => []
require('./server/mock').isLogin = false
require('./server/const').BASE_CONFIG.port = 3323
require('./server/app')
JS
```

服务启动后打开上方Demo地址；3323被占用时，以终端实际监听端口为准。启动参数取自当前运行环境，尚未验证全新依赖安装；上述提交固定本次评审代码，不代表生产功能已完成。

更新日期：2026-11-02。
