CadencePro

产品需求文档(PRD)— CadencePro:智能跑步步频训练器

作者: ZStack / 魏琪 日期: 2026-03-24 版本: v1.0 Draft 状态: 待评审


1. 执行摘要

一句话定义

CadencePro 是 Apple Watch 上的无声触觉步频教练,通过实时检测、手腕触觉引导、跑后解释和长期个人步频路径,帮助跑者稳定、舒服、系统地训练节奏。

战略北极星(2026-05-02 更新)

后续产品、设计、研发默认遵循 docs/competitive-moat-analysis.md

北极星: CadencePro 不做另一个跑步记录 App,而要成为 Apple Watch runner 的 haptic cadence coach。

产品闭环:

检测当前步频 -> 判断目标偏差 -> 触觉引导回节奏 -> 跑后解释原因 -> 形成个人步频路径

市场机会

核心差异化

  1. 实时触觉闭环 — 不是只展示步频,而是在跑中检测偏差并用触觉把用户带回节奏
  2. Watch-first 无声体验 — 不盯屏、不外放、不打断音乐,与 Apple 原生体能训练共存
  3. 个人步频路径 — 沉淀自然步频、舒适区间、疲劳漂移和渐进目标,形成长期数据飞轮
  4. 温柔解释型品牌 — 不神化 180 SPM,不制造焦虑,用“稳定、舒服、可持续”的语言教育市场

2. 产品愿景

愿景声明

“你的跑步 App 记录数据。CadencePro 在手腕上把你带回稳定节奏。”

我们不是什么

我们是什么


3. 目标用户

用户画像

主要用户:进阶跑者(~50%)

次要用户:伤后恢复跑者(~20%)

第三用户:新手跑者(~20%)

边缘用户:教练(~10%)


4. 用户旅程

Journey 1:进阶跑者小明的一次训练

1. 小明准备出门跑间歇训练
2. 打开 Apple Watch 上的 CadencePro
3. 选择「间歇训练」→ 选择「亚索 800」模板
4. 设定:800m@178 SPM → 400m 恢复@160 SPM → 重复 5 组
5. 同时启动 Apple 原生体能训练记录
6. 开跑 —— CadencePro 在后台通过触觉震动引导步频
7. 第一个 800m,手表震动节奏 178,小明跟着跑
8. 遇到小上坡,CadencePro 检测到坡度,自动降为 173,震动变慢
9. 下坡时自动恢复到 178
10. 800m 结束,手表震两下长震提示「进入恢复段」
11. 节奏自动切到 160
12. 跑完 5 组,自动进入放松段
13. 训练结束,CadencePro 从 HealthKit 读取原生训练数据
14. 合并显示:每段的实际步频 vs 目标步频、配速变化、步频稳定性评分
15. 小明发现自己后两组步频下降了 5 SPM → CadencePro 建议下次减少到 4 组

Journey 2:伤后恢复跑者小李的安全训练

1. 小李膝盖伤后恢复,医生说步频必须 > 170
2. 打开 CadencePro,选择「安全区间模式」
3. 设定下限 170 SPM,上限 185 SPM
4. 开跑 —— 步频在区间内时只有柔和的节奏引导
5. 步频掉到 168,手表立刻加强震动频率提醒加速
6. 步频超过 185(跑太快),手表切换为减速提醒
7. 训练后看到「安全区间内跑步时间占比 87%」

Journey 3:新手跑者小王的第一次

1. 小王刚买了 Apple Watch,下载了 CadencePro
2. 首次打开,App 问:「你跑步多久了?」→ 选「新手」
3. App 说:「我们先测一下你的自然步频,正常跑 3 分钟就好」
4. 小王跑了 3 分钟,App 检测到自然步频 155 SPM
5. App 建议:「你的目标是 165 SPM,我们每周提高 3 SPM」
6. 第一周训练:节拍器设在 158,温和引导
7. 每周自动提升目标 → 一个月后到 165
8. App 显示进步曲线和配速提升对比

5. 功能需求

5.1 核心功能(MVP — Phase 1)

F1: 自适应智能节拍器 ⭐ Killer Feature

| 属性 | 描述 | |——|——| | 优先级 | P0 — Must Have | | 描述 | 节拍器根据实时步频和地形数据自动微调 | | 输入 | CoreMotion 加速度计数据(实时步频检测)、CoreLocation GPS(坡度) | | 行为 | 1. 用户设定目标 BPM
2. 实时检测当前步频
3. 偏差 ±5 SPM 时通过渐进式触觉反馈引导回来
4. 检测到上坡(>3% 坡度)自动降低目标 5-10 SPM
5. 检测到下坡自动提升 | | 输出 | 触觉震动(WKHapticType)+ 可选声音节拍 | | 验收标准 | 步频偏差检测延迟 < 2 秒;坡度响应延迟 < 3 秒;电池消耗 < 15%/小时 |

F2: Apple Watch 独立运行

| 属性 | 描述 | |——|——| | 优先级 | P0 — Must Have | | 描述 | Watch App 完全独立运行,无需 iPhone | | 行为 | 1. Watch 上直接设定目标/选择训练
2. 独立采集传感器数据
3. 训练数据存储在 Watch 本地
4. 有 iPhone 时自动同步 | | 验收标准 | 无 iPhone 连接时所有核心功能可用 |

F3: 与原生体能训练共存

| 属性 | 描述 | |——|——| | 优先级 | P0 — Must Have | | 描述 | 作为后台节拍器层运行,不干扰原生训练记录 | | 行为 | 1. 用户启动原生「室外跑步」训练
2. CadencePro 以后台模式运行节拍引导
3. 训练结束后从 HealthKit 读取原生数据
4. 叠加步频分析层 | | 技术约束 | 默认 Apple Workout-compatible 模式不启动自己的 HKWorkoutSession;任何 CadencePro-owned high-reliability 模式都必须明确不能与 Apple Workout 同时拥有 workout session | | 验收标准 | 默认兼容模式与原生训练同时运行时无冲突;HealthKit 数据读取成功率 > 99%;高可靠模式上线前必须完成 Apple Watch 真机后台/锁屏/冲突矩阵验证 |

F4: 基础目标 BPM 设置

| 属性 | 描述 | |——|——| | 优先级 | P0 — Must Have | | 描述 | 用户手动设定目标步频 | | 行为 | Digital Crown 旋转调节 BPM(100-220 范围,步长 1);预设快捷值(160/170/175/180) | | 验收标准 | 3 秒内完成 BPM 设定 |

F4.5: Safety Zone 安全区间模式

| 属性 | 描述 | |——|——| | 优先级 | P1 — Should Have | | 描述 | 恢复跑或保守训练时,用户设定 lower / upper SPM 区间,CadencePro 引导其停留在自选范围内 | | 行为 | Watch 设置下限/上限;训练中显示 below / in / above / no signal 状态;结束后汇总区间内比例、偏低比例、偏高比例 | | 商业边界 | Pro 功能;免费版保留基础单目标步频节拍器 | | 验收标准 | 状态切换清晰、触觉语义一致、无医疗化承诺;区间 summary 在 Watch 和 iPhone detail 中一致 |

5.2 重要功能(V1.0 — Phase 2)

F5: 间歇训练步频编排

| 属性 | 描述 | |——|——| | 优先级 | P1 — Should Have | | 描述 | 多段自定义训练,每段不同步频目标 | | 行为 | 1. 创建多段训练:按距离或时间定义每段
2. 每段设定独立 BPM 目标
3. 免费入门模板:Starter 4 x 2;Pro 预设模板:亚索 800、法特莱克、金字塔间歇
4. 段间自动切换,触觉提示切换 | | 商业边界 | 免费用户可运行 Starter 4 x 2 入门间歇;高级预设、自定义训练创建/编辑和完整分段编排属于 Pro | | 验收标准 | 支持 2-20 段;段间切换延迟 < 1 秒 |

F6: 步频区间可视化

| 属性 | 描述 | |——|——| | 优先级 | P1 — Should Have | | 描述 | 类似心率区间,定义步频 Zone 1-5 并实时显示 | | 行为 | 默认区间:Z1(<150) / Z2(150-160) / Z3(160-170) / Z4(170-180) / Z5(>180);可自定义;Watch 表盘用颜色区分当前区间 | | 验收标准 | 区间切换时视觉反馈 < 0.5 秒 |

F7: 步频-配速关联仪表盘

| 属性 | 描述 | |——|——| | 优先级 | P1 — Should Have | | 描述 | 长期追踪步频与配速的关系,给出个性化效率分析 | | 行为 | 1. 每次训练记录步频 + 配速数据对
2. 生成散点图和趋势线
3. 计算「最佳效率步频区间」
4. 周/月报告 | | 验收标准 | 10 次训练后能给出可信的效率区间推荐 |

F8: HealthKit 深度集成

| 属性 | 描述 | |——|——| | 优先级 | P1 — Should Have | | 描述 | 读写 HealthKit 步频和训练数据 | | 行为 | 读取:HKQuantityType.stepCount, walkingStepLength, runningStrideLength, HKWorkout
写入:步频分析结果作为 metadata 附加到训练记录;将 Apple running workout 与 CadencePro 本地训练按标识/时间/时长/距离保守关联;无 CadencePro 样本的 Apple workout 只作为 context-only 记录展示 | | 验收标准 | HealthKit 授权流程一次完成;重复同步不生成重复记录;context-only 记录不展示虚假的 CadencePro 步频分析;数据同步延迟 < 5 秒 |

5.3 增值功能(V1.5 — Phase 3)

F9: Personal Cadence Path Engine(个人步频路径引擎)⭐ Strategic Moat

| 属性 | 描述 | |——|——| | 优先级 | P1 — Strategic Must | | 描述 | 沉淀用户的自然步频、舒适区间、疲劳漂移和渐进目标,形成长期个性化护城河 | | 行为 | 1. 首次使用进行 3 分钟自然步频测试
2. 生成个人舒适步频区间与初始训练目标
3. 结合历史训练计算最佳效率区间和后段漂移模式
4. 生成 4-8 周渐进提升计划(每周 +2-3 SPM 或更保守)
5. 训练前显示今日建议,跑后给出下一次训练微调 | | 商业边界 | 免费用户看到 Personal Cadence Path Lite(今日目标 + 舒适区间);Pro 解锁多周递进、疲劳漂移、效率区间和长期路径解释 | | 验收标准 | 至少 3 次训练后能给出个人化趋势;10 次训练后能给出可信的舒适区间/效率区间;所有建议用温和、非医疗化语言表达 |

F10: Strava 洞察分享

| 属性 | 描述 | |——|——| | 优先级 | P3 — Growth Experiment | | 描述 | 将 CadencePro 的步频洞察作为传播内容分享到 Strava,而不是做普通跑步记录同步 | | 行为 | OAuth 授权 → 训练完成后可选择添加步频稳定性、舒适区间占比、下一次建议到 Strava 活动评论 |

F11: 音乐 BPM 匹配

| 属性 | 描述 | |——|——| | 优先级 | P3 — Future | | 描述 | 根据目标步频推荐音乐节奏,但只能作为辅助体验,不能替代触觉引导 |

F12: 教练模式

| 属性 | 描述 | |——|——| | 优先级 | P2 — Strategic Expansion | | 描述 | 教练为学员设定步频作业、查看执行摘要和节奏漂移,形成教练/跑团工作流护城河 |


6. 非功能需求

6.1 性能

| 指标 | 要求 | |——|——| | 步频检测延迟 | < 2 秒(从步态变化到节拍器调整) | | Watch App 启动时间 | < 1.5 秒 | | 后台运行内存占用 | < 30 MB | | 电池消耗(1 小时训练) | < 15%(仅节拍器);< 20%(节拍器 + GPS 坡度) |

6.2 兼容性

| 维度 | 要求 | |——|——| | Apple Watch | Series 6 及以上(需要常亮显示 + 足够 CPU) | | watchOS | 10.0+ | | iPhone 配套 App | iOS 17.0+ | | 无 iPhone 独立模式 | 完全支持 |

6.3 数据与隐私

| 维度 | 要求 | |——|——| | 数据存储 | 训练数据存 Watch 本地 + iCloud 同步(CloudKit) | | 隐私 | 不收集个人数据到服务器;所有分析在设备端完成 | | HealthKit | 严格按 Apple 要求使用,仅请求必要权限 | | 无账号要求 | 核心功能无需注册/登录 |

6.4 可靠性

| 维度 | 要求 | |——|——| | 崩溃率 | < 0.1%(训练过程中零崩溃目标) | | 离线可用 | 100% 核心功能离线可用 | | 数据丢失 | 训练数据零丢失(本地持久化 + 同步) |


7. 技术架构概述

技术栈

| 层 | 技术选型 | 理由 | |—-|———|——| | Watch App | SwiftUI + WatchKit | 原生性能最优,触觉反馈延迟最低 | | iPhone App | SwiftUI | 数据仪表盘和训练计划编辑 | | 传感器 | CoreMotion (加速度计) + CoreLocation (GPS/高度) | 实时步频检测 + 坡度计算 | | 健康数据 | HealthKit | 读写步频/训练/心率数据 | | 触觉反馈 | WKHapticType | 精准节拍引导 | | 存储 | SwiftData (本地) + CloudKit (同步) | 零服务器成本,Apple 原生 | | 后台运行 | HKWorkoutSession background mode | 与原生训练共存的关键 |

关键技术挑战

  1. 实时步频检测精度 — CoreMotion 加速度计数据需要快速傅里叶变换或峰值检测算法
  2. 后台运行与原生训练共存 — 需要仔细处理 HKWorkoutSession 的生命周期
  3. 电池优化 — 传感器采样频率需要在精度和功耗之间取舍
  4. 触觉反馈节奏精准度 — WKHapticType 的时序控制需要高精度定时器

8. 商业模式

定价策略

层级 功能 价格
免费版 Watch 核心自适应节拍器 + 基础步频反馈 + 最近 5 次 CadencePro 训练基础完整详情 + Personal Cadence Path Lite + Starter 4 x 2 入门间歇 免费
Pro 完整历史归档与趋势 + 高级/自定义间歇编排 + Safety Zone + 步频区间 + 完整个人步频路径 + 高级仪表盘 + 成就与深度洞察 ¥68/年 或 ¥12/月
教练版 步频作业模板 + 训练计划分发 + 学员执行摘要 ¥198/年

变现策略


9. 成功指标

用户指标(Phase 1 — 前 3 个月)

| 指标 | 目标 | |——|——| | 下载量 | > 5,000 | | 日活跃用户(DAU) | > 500 | | 训练完成率 | > 70%(启动训练后完成的比例) | | 用户留存(7 日) | > 40% | | App Store 评分 | > 4.5 |

业务指标(Phase 2 — 6 个月后)

| 指标 | 目标 | |——|——| | Pro 转化率 | > 5% | | MRR(月经常性收入) | > ¥5,000 | | 用户 NPS | > 50 |

技术指标

| 指标 | 目标 | |——|——| | 崩溃率 | < 0.1% | | 步频检测准确率 | > 95%(与 Apple Watch 原生数据对比) | | 电池消耗满意度 | > 80% 用户觉得可接受 |


10. 里程碑路线图

Phase 时间 交付物 关键功能
MVP 第 1-6 周 Watch App + iPhone 基础版 F1 自适应节拍器 + F2 独立运行 + F3 原生共存 + F4 BPM 设置
V1.0 第 7-10 周 Pro 功能 + 订阅 F5 间歇编排 + F6 步频区间 + F7 仪表盘 + F8 HealthKit
V1.5 第 11-14 周 个人步频路径 F9 Personal Cadence Path Engine + 跑后洞察分享
V2.0 第 15-20 周 教练工作流 F12 教练模式 + F11 音乐 BPM 辅助 + F10 Strava 洞察分享

MVP 里程碑细化

任务
W1 项目搭建 + CoreMotion 步频检测原型 + 触觉反馈原型
W2 自适应算法实现 + Watch UI 基础框架
W3 GPS 坡度检测 + 自适应逻辑完善 + 后台运行模式
W4 与原生训练共存测试 + iPhone 配套 App 基础
W5 集成测试 + 电池优化 + 真机跑步测试
W6 Bug 修复 + App Store 审核准备 + TestFlight 内测

11. 风险评估

风险 概率 影响 缓解措施
Apple Watch 后台运行限制导致无法与原生训练共存 调研 HKWorkoutSession API 限制;备选方案:作为独立训练模式
步频检测算法精度不够 早期原型验证;可降级为读取 HealthKit 延迟数据
电池消耗过高被用户吐槽 提供「低功耗模式」(降低采样频率)
App Store 审核被拒(后台运行权限) 严格按 Apple 文档申请权限,准备详细说明
市场教育成本 — 用户不理解步频训练的价值 App 内教育内容 + 首次使用引导

12. 竞品定位总结

                    功能丰富度
                        ↑
                        |
         PaceBeat ●     |      Strava/NRC ●
          (节拍器+GPS+   |      (全能跑步平台
           力量训练)      |       但无节拍器)
                        |
    -------- CadencePro ● --------→ 步频训练深度
          (步频训练专家)  |
                        |
         RunTempo ●     |
          (纯节拍器)     |
                        |
                Apple 原生 ●
                (有数据无引导)

CadencePro 的独特位置:不做 GPS 记录和泛社交,而是占住 Apple Watch 上“无声触觉步频教练 + 个人步频路径”的窄而深位置。


附录

A. 参考研究

B. 术语表

| 术语 | 定义 | |——|——| | SPM | Steps Per Minute,每分钟步数,即步频 | | BPM | Beats Per Minute,节拍器每分钟节拍数,在跑步场景中等同于 SPM | | Cadence | 步频,跑步时每分钟的步数 | | HealthKit | Apple 的健康数据框架 | | CoreMotion | Apple 的运动传感器框架 |


文档完成日期: 2026-03-24 下一步: 技术架构设计 → UX 设计 → MVP 开发