PostHog 如何把 ClickHouse 变成自己的事件数据大厦
PostHog 在 OSA Con 2021 分享了从 Postgres 迁移到 ClickHouse 的经历:早期 MVP 跑在 Heroku Postgres 上,随着事件量增长性能下滑,团队评估 Pinot、Presto、Druid、TimescaleDB、CitusDB 后选定 ClickHouse。
PostHog 在 OSA Con 2021 分享了从 Postgres 迁移到 ClickHouse 的经历:早期 MVP 跑在 Heroku Postgres 上,随着事件量增长性能下滑,团队评估 Pinot、Presto、Druid、TimescaleDB、CitusDB 后选定 ClickHouse。
PostHog 在 PostHog Academy 系列中解释产品分析:通过收集产品使用数据辅助改进决策,数据分定量(如漏斗分析)与定性(如会话录制)两类,NPS 和 CSAT 可在两者间转换。
PostHog 1.29.0 发布,Paths 功能全面改版,支持最多选择 20 个步骤、细粒度路径控制和通配符分组路径,部分新功能需 PostHog Scale 或 Enterprise 许可。
PostHog 移除了 Sessions 页面,用 Recordings 标签页取而代之,原因是该页面引发大量困惑且价值有限——上月未开启录制的用户中,Sessions 页面浏览量占比不足 3%。
PureSkill.gg 是面向 CS:GO 的自动教练,不只展示数据,还会指出玩家的失误并教其改进,联合创始人兼 CTO Evan Sosenko 负责其自动教练系统的全部技术。团队用 PostHog 收集量化洞察,同时直接在 Discord 社区获取定性反馈,一位用户从报 bug 变成了公司天使投资人。与高级匹配平台 FaceIt 的集成已在 beta 阶段可试用。
PostHog 发布 1.28.0,在 OSS ClickHouse 上自动为事件和用户属性预建列,慢查询提速 2-25 倍。该版本新增高级参与度分群、SAML 认证与自动用户开通(需 Scale 许可),并支持自定义漏斗步骤排序、事件排除和转化时间窗口。1.28.1 补丁于 9 月 22 日上线,修复仪表盘刷新导致服务器过载及 Docker 环境下 SAML 失效等问题。
用 Google Analytics 计算 SEO ROI 需跟踪两类数据:KPIs 与当前 SEO 活动的成本,并按月复盘以优化策略。GA 的页面价值(Page Value)把一次会话中产生交易的页面平均分配金额,例如 Page B 单次浏览带来 $100 电商收入加 $10 目标价值即 $110,随数据增多会重算。
Google 表示计划在 2023 年弃用第三方 cookie,届时网站和 App 中用于分析或营销的外部追踪工具将无法正确识别回访用户,每次访问都会被当作新用户,广告归因和用户活跃度判断都会受影响。
PostHog 宣布其开源自托管版本的后端从 PostgreSQL 迁移到 ClickHouse,与 PostHog Cloud 使用同一数据库,自托管用户不再受 1 万月活用户上限限制。
PostHog 1.27.0 发布,带来全新漏斗体验,支持按步骤或整体查看转化率、按用户与事件属性拆分,并可下钻查看流失用户会话。ClickHouse 后端不再需要 Enterprise 许可、取消 3 名团队成员限制,完全免费使用。本次更新还包含 400+ 项改进与修复,并预告 /api/user 端点将在 1.28.0 移除。
PostHog 宣布 Cloud 免费额度从每月 1 万 ingested events 提高到 100 万,需绑定银行卡才能解锁。官方称此举主要面向因成本而自托管的小型初创、业余项目和慈善机构,并建议这类用户改用 Cloud 以省去更新和托管成本。现有按事件付费的 Cloud 客户已同步获得该额度提升,自托管用户迁移可先并行发送事件约 3 个月再关停旧实例。
Railway 推出 Ackee 和 Umami 两款可一键部署的自托管网站分析工具。Ackee 基于 Node.js,部署时自动配置 MongoDB;Umami 使用 Postgres,默认账号 admin、密码 umami,首次登录需改密码。自托管方案脚本约 2kb,比 Google Analytics 的 ~45kb 小 10-20 倍,可绕过广告拦截器并保持 GDPR 合规。
PostHog 发布 1.26.0,为 posthog-node 和 posthog-go 新增功能开关(feature flags)支持,Ruby 和 PHP 版本随后跟进。
PostHog 发布 1.25.0 版本,将 PostHog Cloud 的免费额度从每月 1 万事件提升到 100 万事件,官方称这能让用户每月账单最多省下 225 美元,且该调整对现有用户追溯生效。本次更新还新增了 Trends 图表图例、应用日志、生命周期图表开关、表格列宽可调、应用任务队列,以及属性模糊搜索等功能。
PostHog 1.22.0 发布,新增按值(Value)柱状图、UTM 标签自动设为用户属性、Equality Filters 多值选择,以及 Event Sequence Timer 和 Property Flattener 两个新应用。
PostHog 发布 Array 1.20.0,新增 Apps 库,可浏览官方与社区构建的应用,并支持从 GitHub、GitLab 取数及向 BigQuery、Hubspot 发送数据。
PostHog 发布 Array 1.17.0,新增 Sentry 双向集成(Sentry 中直达用户档案、向 PostHog 发送 $exception 事件)和 RudderStack 集成,PostHog 成为其事件目的地。
PostHog 发文讨论开源项目追踪用户的伦理边界,提出以义务论和功利主义两套框架来判断。它主张只采集构建有用技术所需的最少数据、不与第三方共享,并在文档中透明说明而非让人翻代码。追踪分四档:不追踪、聚合追踪、匿名用户追踪、完整用户追踪,其中完整追踪应事先征得同意,且不建议默认开启。
PostHog 发布 Array 1.13.0,正式作为目的地接入 Segment,并把趋势、会话、漏斗、留存和用户路径合并到一个页面。工具栏结束 Beta 后对新用户默认开启,注释默认全局可见,Slack / Microsoft Teams 消息格式可直接在 UI 编辑。
PostHog 发布 Array 1.12.0,新增公开共享仪表盘、全局注释和聚合函数(Sum/Max/Min/Avg),留存表不再只认 $pageview,可选任意事件或操作衡量留存。自托管用户需更新 PostHog,通过 NPM 安装的需将 posthog-js 升级到至少 1.3.5。
PostHog 现已作为目的地(destination)上线 Segment,用户可把现有数据工作流中的数据无缝接入 PostHog。Segment 作为统一的数据管道,把各数据源(source)采集的数据分发给对应的产品分析工具,省去逐个对接的麻烦。PostHog 是自托管开源平台,官方同步上线了与 Segment 集成的 Docs 页面。
PostHog 发布 Array 1.8.0,新增累积图表(cumulative graphs),并支持路径从指定页面开始、按属性筛选路径。创建 action 时也可按属性筛选事件,事件处理速度提升 40ms(快 25%),缓存 SQL 与参数后再提速 40%。自托管用户可更新 PostHog 获取这些功能。
PostHog 发布 Array 1.6.0,仪表盘支持缩放、拖拽重排和移动端操作,并新增演示模式与侧边栏固定仪表盘。该版本加入 Microsoft Teams 集成,可按应用内动作设置告警;路径页面现可可视化页面浏览与事件的任意组合。性能方面,漏斗渲染提速一个数量级,并完成事件分区等优化。
PostHog 发布 Array 1.4.0,新增会话时长(Session times)功能,可查看应用平均停留时间随时间的变化。趋势和漏斗现支持按单个事件分别添加过滤器,任意属性可在图表中拆分展示,cohort 可导出为 CSV。此外支持在 PostHog 内编辑前端选择器、按 IP 限制实例访问,并重新设计了设置页。
PostHog 发布 Array 1.2.0,新增 iOS 库,可在 iOS 应用中捕获事件并自动记录屏幕切换。该版本加入 Session 信息,提供“平均会话时长”和“分布”两种模式,并支持按属性筛选漏斗。性能上新增索引加速 /trends 加载,事件存储移至 workers,事件 API 调用改为非阻塞。
PostHog 发布 Array 1.1.0,引入基于推送的集成,可在 Action 触发时向 Slack 发送通知。漏斗现支持按日期和事件筛选,James 借此发现更新首页后转化指标提升 300%;Trends 新增分钟、小时、天、周、月时间间隔,并为新部署默认添加 DAU 仪表盘。
PostHog 发布 Array 1.0.10,趋势图(Trend Graphs)现可识别执行操作的具体独立用户,不再只显示聚合数据。自托管实例在 /demo 路径下会加入演示数据,可通过 /setup 移除;同时新增 Helm Chart,方便在 Kubernetes 上打包部署 PostHog。
PostHog 发布 Array 1.0.9,新增 Stickiness 功能,可按日查看唯一用户重复执行某动作的情况,用于判断应用粘性。新版 Funnel Builder 重做后更简单高效,事件属性过滤器新增 'isnot' 和 'does not contain',并将构建工具从 Parcel 升级到 Webpack。自托管用户可直接更新实例。
Shopify 用协同过滤(CF)为商家推荐商业洞察、App、主题和博客等内容,把用户-物品交互(如 App Store 安装记为 1、未观测记为 0)作为偏好向量,并常采用 LRec 等线性模型学习物品-物品相似度矩阵来预测相关性。由于每个物品单独训练一个模型,训练可任务并行,兼顾可扩展性与可解释性。
Google 介绍如何用 Firebase Predictions(beta)预测应用内购买与流失概率,其基于 TensorFlow 深度学习模型,结合 Google Analytics for Firebase SDK 的事件数据,每天动态更新预测分群。
Shopify 数据团队提出用 BG/NBD(Beta Geometric / Negative Binomial Distribution)模型衡量非合约型业务的客户留存,替代“N 天无购买即流失”的二元判定。该模型只需每位客户的 Age、Recency、Frequency 三项统计量,即可估算其仍活跃的概率,帮助商家做定向广告、折扣码和客户生命周期价值预测。
Google AdMob 建议在应用内实现激励视频时做 A/B 测试,并给出四步流程:先设定单一假设与目标,再每次只测一个变量,然后随机向 50% 用户展示原版作为对照组、另 50% 展示新版本,最后依据数据决定是否采用。可测试的变量包括字体大小、广告尺寸、奖励设置和广告位置,需关注点击率、广告收入和退出率。
Replit 发布实时文件更新功能,程序创建的任何文件(从文本文件到 gif)都会直接显示在 REPL 中,文件变化时编辑器内实时更新。同时为 Python3 加入 matplotlib 支持,可实时观看图表更新,还允许程序重写自身源文件,例如自修改的计数 quine。
Shopify 工程团队在博客中复盘了 churn rate(流失率)的定义难题:用「期初客户数」作分母会被新增客户扭曲,同一行为在 7 月算出 6.25%、8 月算出 5.87%,相差 38 个基点。改用期初加新增作分母后,单月稳定在 5.1%,但季度值会跳到 15.5%,除以 3 又因流失并非均匀分布而失真。团队最终给出的定义可直接跳读原文答案。
Shopify 研究科学家 Ben Doyle 提出用「状态与事件」两种基本元素来厘清客户数、churn(流失率)、LTV(用户生命周期价值)等电商指标的计算方式:状态是带起止时间戳的区间,事件是带时间戳的点,前者对应资产负债表式的快照计数,后者对应利润表式的区间计数。