这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
留存曲线:找平坦段,而不是追高数字
D1、D7、D30 三个数字不足以判断留存好坏:区分指数衰减、幂律与带平台三种曲线的诊断与处方,读平台高度而不是单周高点,并复算 300 人与 120 人两组样本的 4 个百分点差异是否只是抽样噪声,再倒推所需样本量,避免把噪声当成结论。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
D1、D7、D30 三个数字不足以判断留存好坏:区分指数衰减、幂律与带平台三种曲线的诊断与处方,读平台高度而不是单周高点,并复算 300 人与 120 人两组样本的 4 个百分点差异是否只是抽样噪声,再倒推所需样本量,避免把噪声当成结论。
把空白页改成 60 秒内看得到成品的入口:对照引导式、模板式、示例数据与导入四种写法,说明示例数据可一键清空、明确标注、不混入真实数据的三条边界,再按用户手头材料给三条导入路径排序,并用 200 个注册复算首次成功率从 35% 到 55% 能多留下多少人。
100 个注册里只有 22 个在 W1 内第二次回来,而开发者只看得见「注册了 100 个」。本文把首次使用拆成注册、空状态、第一步、第一次成功、第二次回来五个节点,给出每格掉队原因与当天可做的干预,用乘法复算每节点改善 10% 的真实增益。
两款产品注册量相同,一款 W4 留存 12%,另一款 31%,差距却主要来自分母:前者把注册当激活,后者把导出第一份报表当激活。本文给出三个候选激活事件的对照表、用「做过 X 的人是否更常留下」反推的方法与相关性陷阱,并用同一批 1,000 个注册复算两种定义下的有效用户。
一位开发者看着注册总数从 420 涨到 1,860,以为增长还在继续,直到按同队列重算才发现每周真正完成核心动作的只有 30 人。本文对照四种活跃定义的虚高幅度,给出四周队列表的读法,说明新增、W1、W4 与周活为什么不能相加,并用两种口径复算同一批用户。
同一批用户会被三条渠道同时认领,归因口径不写死就无法复盘。给出首次触点、最后触点与自报来源三种口径、小样本的比例区间、渠道退出判据,以及区分渠道问题与产品问题的判别表,结论必须能被另一人按同样规则复现。
平台流量不属于你,订阅关系属于你:讲清邮件列表的三条底线、订阅入口该放在哪里、双周更新日志的节奏,以及推荐与邀请为什么不该用奖励去买,最后给出不重复计算老订阅者、按打开与点击两步折算的年度增长复算方法。
落地页只做一件事:让人完成第一个动作。给出五屏结构、可用的证据位、UTM 来源记录口径、六个常见泄漏点,并用两组样本说明为什么同样的转化率不能得出同样的结论,并且在改页面之前先确认全页只有一个主按钮。
单元、持久化和 Web 测试都绿,并不代表 libraryd 能启动。本节用随机端口启动完整 LibraryApplication,走一遍借阅、续借、归还、健康检查和指标,并把 mvn verify 接进 GitHub Actions,给出 33 个测试的真实耗时。
把代码仓库当成获客入口而不是文档仓库:给出 README 的六段结构、一条命令跑起来的门槛、示例与截图的取舍、issue 回复如何带来访问,以及 open core 的最小边界与收录路径,并说明 star 为什么不能直接换算成用户。
搜索不是写文章碰运气,而是把「用户会怎么描述问题」映射成三类页面:问题页、模板页与对比页。给出每类页面的结构、单人每周一页的产能预算与长尾复算,并明确本文不涉及关键词工具与技术 SEO,只做可长期累积的那条渠道。
《群岛纪元》全球同服后,欧洲舰队跨区行军要穿过三个地图分片,王城战又把单个分片压到过载。本节把“一格一个权威分片”写成可运行的矩形路由,给出边界实体迁移的 epoch 与序列号协议,并对比按玩家、按格子、按区块三种切法的延迟、热区与合规代价。
支付结果不是成功与失败两态:超时、回跳丢失与查询未决都会落入 unknown。本节用一个五态状态机表达 pending、unknown、succeeded、failed、cancelled,规定 unknown 的进入与退出、查询结果的序号与同序号优先级、成功吸收与重试条件,并附可运行的 TypeScript 模块与真实测试输出。
中文渠道不是一个整体:拆开开发者节点、短动态、图文种草与长文投稿四种形态,给出各平台的调性、禁忌、发帖结构与每周节奏,说明为什么「先成为一个人」比文案更影响结果,并附单帖成本、回访率与工时折算的复算方法。
英文社区不是投放位而是讨论场:讲清 Show HN 的四个要素、Reddit 子版规则差异、作者在场与评论区的三种错误,给出被删后的处理方式,并用一次发帖的四数复算说明为什么它只能算事件、不能算渠道。
手工 docker run 的数据库会随开发机和 CI 漂移,H2 又撑不起 libraryd 的部分索引和 pg_trgm。本节用 Testcontainers 1.21.4 启动 postgres:17-alpine,讲清静态容器、连接注入、Flyway 迁移、容器复用与清理的真实行为。
把发布日当成一次有准备的事件,而不是渠道本身:给出发布前两周到发布后一周的动作表、素材与首评写法,说明目录站、替代品站与精选列表为什么在发布日之后仍在持续带来访问,并列出三种常见失败形态与一组教学复算。
把个人产品能用的十二条站外渠道放进同一张表,用人群密度、单人成本、见效周期、可重复性与规则风险五个维度打分,说明权重如何改变排序,并给出三种产品的渠道组合示例与五种常见误判,帮助你先选三条、再逐条谈执行。
把获客拆成曝光、访问、注册、激活四个数与四个分母,给出按周按渠道记账的模板、每周六小时的渠道预算、1主1备1自有的结构,以及判断一条渠道是否成立的四周判据与三种常见记账错误,并用两组数据说明峰值为什么不能代表渠道。
支付编排不是把用户送去渠道就结束:拉起成功只说明参数被接收,回跳参数只是一句口信,真正结果必须由服务端查询确认。本节把支付单号、幂等键、回跳解析、指数退避轮询与页面可见性处理写成一个可假时钟验证的 TypeScript 模块,并复盘一次把回跳当成功导致的重复扣款。