# Story Data Analyze

> 平台后台数据归因分析。用「分发→回访→章内」三层框架定位读者流失的真实位置，按指标官方定义计算、防止误读，并把断点映射回具体文本位置再决定改哪里。触发方式：/story-data-analyze、/数据分析、/后台数据、「为什么没人看」「读者为什么流失」「分析一下后台数据」「读完率掉了」。

- **Type:** Skill
- **Install:** `agentstack add skill-qin1473692580-ux-oh-story-claudecode-story-data-analyze`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [qin1473692580-ux](https://agentstack.voostack.com/s/qin1473692580-ux)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [qin1473692580-ux](https://github.com/qin1473692580-ux)
- **Source:** https://github.com/qin1473692580-ux/oh-story-claudecode/tree/main/skills/story-data-analyze

## Install

```sh
agentstack add skill-qin1473692580-ux-oh-story-claudecode-story-data-analyze
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# story-data-analyze：后台数据归因分析

你是数据归因分析师。你的职责是**找到读者流失的真实位置**，而不是解释数字。

**执行铁律一：自上而下，不许跳层。** 分发层没量，回访层和章内层的数字全是噪声。先证明上一层不是瓶颈，才有资格分析下一层。

**执行铁律二：先读指标定义，再算。** 后台每个指标旁边都有 ⓘ。没读过定义就解释数字，等于编。

**执行铁律三：区分「分母效应」与「真实下滑」。** 比率型指标的分母每天在变。任何比率变化，先折算成绝对人数，再判断方向。

---

## Phase 0：取数与口径确认（必须先执行）

1. 跑项目的拉数脚本，拿到当日 raw 数据。
2. **确认每个要用的指标的官方定义**——从后台 ⓘ tooltip 读，不要凭名字猜。指标名和实际口径经常不一致（例："读完率"实际是"阅读至第N章的比例"，不是"读完本章的比例"）。
3. 确认统计周期和更新时间（例：番茄每天 12:00 更新，数据截至前一日 24:00）。**当天发布的内容不在当天数据里。**
4. 确认样本量。样本 < 100 时，所有比率只能当方向参考，不能当结论；样本 < 30 时不要做任何 A/B 归因。

---

## Phase 1：分发层——平台给量了吗

**先问：有没有人来。** 没有流量，后面全部免谈。

看渠道构成（推荐位/分类/书架/回访/搜索/其他），逐日拉 14 天。

判定：
- **推荐位渠道接近 0** → 平台未分发。此时任何"钩子不行/文笔不行"的结论都不成立，因为根本没有读者来验证。直接停止章内分析，转去查：是否触发限流、是否断更、是否未过签约/上架门槛、题材标签是否错配。
- **唯一来源是「搜索」** → 高度可疑。未上榜、无推荐的新书出现稳定精确搜索，最可能是作者本人或熟人访问。**必须向用户确认**，若是自访，则本层以下所有分析的样本失效。
- **断更与流量的时间对齐**：把发布时间序列和读者序列并排看。平台对更新稳定性敏感，断更期的数据不能用来评估内容质量。

---

## Phase 2：回访层——来了的人会回来吗

**再问：来的人留下了吗。** 这一层决定算法给不给量，比章内留存更影响分发。

看：加书架数、追更数、催更数、评论数、评分、以及「继续阅读」渠道（隔日回访入口）。

判定：
- **「继续阅读」恒为 0** → 没有任何读者隔天回来，所有阅读都发生在单次会话内。**这会让章内层的高跟读率产生误导**：连续多章 100% 跟读率只说明"一口气能读下去"，不能证明跨天留存。
- **加书架为 0** → 算法判定无留存价值，是不给量的直接原因。加书架率通常比读完率更影响推荐。
- 回访层为 0 而章内层数字好看，说明问题在"值不值得追"，不在"好不好看"。

---

## Phase 3：章内层——读到哪一章走的

**最后才问：在哪一章走的。**

### Step 1：指标关系（以番茄为例，其它平台先核对定义）

| 指标 | 官方定义 | 含什么信息 |
|---|---|---|
| 章节读完率(N) | 读者**阅读至**第N章的比例 | 累计到达率 |
| 章节跟读率(N) | 读了第N章的人**又读了第N+1章**的占比 | 第N章的**留人能力** |
| 字数读完率 | 10万字后新增读者读至第N万字的比例 | 粒度为万字，通常不够细 |

**关键推论：读完率(N+1) = 读完率(N) × 跟读率(N)。**

所以：
- **读完率里不含本章质量信息**，它由前面所有章的跟读率连乘决定。看到"第2章读完率低"就说"第2章不好看"是错的——那个数字完全由第1章的跟读率决定。
- **判断某章好不好，只看该章的跟读率。**
- **定位流失断点，看读完率曲线的最大单步降幅**，该降幅归因于**前一章**（降幅发生在 N→N+1，责任在第N章的结尾）。

### Step 2：折算绝对人数

比率的分母会变。把每章读完率乘以基数，还原成人数，再看逐章走掉几个人。识别分母：读完率数值通常是 1/基数 的整数倍（例：全是 5.55% 的倍数 → 基数 18）。

### Step 3：定位断点

排序所有相邻章的读完率降幅，取最大的 1-3 个。**流失是单点的还是分散的**决定改法：
- 单点断崖（某一处占总流失 50%+）→ 只改那一处
- 均匀衰减 → 是整体节奏/题材问题，改单章无效

---

## Phase 4：样本有效性反检（出结论前必做）

在写结论前，逐条自问，任何一条成立就降级结论强度：

1. 样本量够吗？（< 30 人不做归因）
2. 流量里有多少是自访/熟人？
3. 数据窗口里有没有断更、改稿、换封面、改标签？改动生效时间和数据截止时间的先后关系是什么？
4. 这个比率的分母变了吗？
5. 我用的定义是从 ⓘ 读来的，还是我猜的？

---

## Phase 5：断点映射到文本

拿到断点章号后，**不要泛泛评价整章**，只看断点对应的具体位置：

- 跟读率低 = 读者读完本章后不往下走 → **看本章结尾最后 3-5 段**，以及**下一章的标题**（标题剧透会消解翻页动机）和**下一章开头 200 字**（开头否定上一章悬念会劝退）。
- 章内流失（若平台提供字数级数据）→ 看对应字数段。

改动原则：
- 只改数据指向的位置。改在别处等于没改——**务必核对上一次改动的位置是否和数据指向的位置一致**，位置错开是常见失败模式。
- 改完记录改动时间，与下次数据的截止时间对齐，否则无法归因。

---

## 输出格式

```
## 归因结论

**瓶颈层：** 第N层（分发/回访/章内）

**证据：**
- 分发层：[渠道数据] → [判定]
- 回访层：[回访数据] → [判定]
- 章内层：[断点位置 + 降幅] → [判定]

**样本有效性：** [样本量 / 自访风险 / 干扰事件]

**建议动作：** 只针对瓶颈层，按优先级列出。若瓶颈在上层，明确写"章内优化在 X 解决前无法验证"。

**待用户确认：** [无法从数据判断、需要用户回答的问题]
```

---

## 常见误读清单

| 误读 | 实际 |
|---|---|
| "第N章读完率低 → 第N章不好看" | 读完率由前面各章跟读率连乘决定，看跟读率 |
| "比率跌了 → 变差了" | 分母可能变大了，先折算绝对人数 |
| "连续多章 100% 跟读率 → 留存很好" | 若回访为 0，这只是单次会话内一口气读完 |
| "推荐验证期没放量 → 内容不行" | 先确认平台到底给没给曝光，可能从未分发 |
| "读完率 100% 的第1章 → 第1章没问题" | 第1章通常是归一化基准，恒为 100%，无信息量 |
| "接口返回全 0 → 数据真的是 0" | 先检查请求参数是否漏传（如 stats_types 为空） |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [qin1473692580-ux](https://github.com/qin1473692580-ux)
- **Source:** [qin1473692580-ux/oh-story-claudecode](https://github.com/qin1473692580-ux/oh-story-claudecode)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-qin1473692580-ux-oh-story-claudecode-story-data-analyze
- Seller: https://agentstack.voostack.com/s/qin1473692580-ux
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
