0%

最近,我们在公司内部做了一些 Hacking Growth 方向的探索,我们团队俨然成了增长团队,从用户增长、转化的各个环节上尝试不同的策略,拉新、激活、留存、促活、商业化,整个核心流程是一个大漏斗,不同的阶段和渠道又可以拆分成不同的小漏斗,哪个环节损失大就优化哪个。但无论做何种尝试,都绕不开 A/B 测试。

对于一名工程师,我认为 A/B 测试有两个角度值得了解:

  1. 如何搭建一个 A/B 测试平台,支持流量分层、转发,让不同实验共享流量;

  2. 如何动手做一个 A/B 测试,并能合理地解读统计结论,指导后续生产实践;

对于前者,业界已经有许多最佳实践,比如之前引我入门的这篇论文 Overlapping Experiment Infrastructure,以及伴鱼的小伙伴们写的两篇实践总结 [1]、[2];本文想聊的是后者。

1. 一次实验

在互联网场景中,无论是拉新、激活、留存、促活还是商业化,所有的 A/B 测试都可以用一个公式来概括:

💡 方案 A 的转化率比方案 B 的更高吗?

为了后续的讨论能更具体一些,我们先看一个实际的测试场景:假设我们需要给某个用户群体拨打 AI 电话,之前一直在使用家琪的声音拨打电话,现在供应商新推出了小红的声音,我们想知道小红的声音是否有更好的表现。于是,在其它条件相同的情况下,我们分别用小红和家琪的声音给若干用户打了电话,这次的实验现象如下表所示:

实验现象 小红 家琪
接通 3469 2798
意向 98 43
意向率 2.83% 1.54%

套用刚才的公式,这个 A/B 测试就是:

阅读全文 »

在和不同地区的人聊天时,我们常常会有疑惑:为什么有些人说话时分不清 x 和 y?这里的 x 和 y 可能是拼音中的 f 和 h,l 和 n,l 和 r,z 和 zh,ang 和 an。比如,我明明是福建人,为什么别人以为我是胡建人?在最近刚刚读完的一本书《Fluent Forever》中,有两张图片正好能解释这个问题。

阅读全文 »

每个工程师来到新环境,大概率需要从维护老项目开始切入,逐渐熟悉公司的技术栈和效率工具。这时候,老项目的一些习惯,如命名、布局、错误处理等等,不论好坏,都会不自觉地影响新人,形成路径依赖。在这个过程中,如果没有人主动去思考为什么,这些习惯也将被无理由地继承下去。

阅读全文 »

💡 人们常常高估自己一年能成就之事,而低估自己十年能成就之事

尽管我的博客中绝大多数内容都与计算机相关,但实际上我还有另一个身份:经济学学士。在对外经贸大学度过的四年,是我对人生的认识井喷的四年。毕业之后选择计算机,并不是因为我厌恶经济学。相反,在学习经济学的过程中建立起的心智模式,一直对我的学习和实践产生着指导性作用。

在货币银行学中,有一个与金钱的时间价值紧密相关的概念:复利,即本金产生的利息会在下一个计息周期成为本金的一部分,用大白话来描述就是「利滚利」。用经济学的概念去解释生活现象,是我很喜欢做的一种心理实验,甚至有时候我会相信任何一个经济学的概念都对应生活中的某个隐喻。在我看来,复利的隐喻就是坚持。在过去的经历中,坚持在许多层面给到了我奖励,而且这些奖励会随着时间的推移自我增强,就像利息追加进入本金。

阅读全文 »

What I cannot create, I do not understand. -- Richard Feynman

Andrej Karpathy 在 2015 年发表了题为 The Unreasonable Effectiveness of Recurrent Neural Networks 的博客,并配套开源了其中实验所用的 char-rnn 代码仓库,以及用 numpy 手写的 gist: min-char-rnn,阅读过后受益良多。于是最近花了一些时间做了下面这些事情:

  1. 逐行理解 min-char-rnn,即 vanilla RNN

  2. 实现 N 层 vanilla RNN

  3. 实现 LSTM (Long Short-Term Memory) RNN

  4. 探索 RNN 的可能性

    • Paul Graham generator
    • 三国演义
    • 老友记
    • Kubernetes 源码
    • 超级丹的技战术

整个探索过程对我而言充满了趣味和挑战,并且在实践中令人激动地首次使用微积分的知识。尽管这只是深度学习的冰山一角,但足以让一名主营业务为服务端开发的软件工程师感到激动不已,于是便有了这篇博客,将这个过程记录下来。

阅读全文 »

因为平时需要阅读大量的英文资料,翻译对我来说是一个高频需求,但我一直没能找到一个足够趁手的工具。对于一个理想的翻译工具,我有三点期望:

  1. 翻译准确:翻译的结果与原文贴合不显得尴尬
  2. 触发简单:复制到剪贴板后快速触发翻译指令
  3. 响应迅速:发起翻译请求到获得结果小于一秒
阅读全文 »

前阵子无意中发现了一个系列教程:「Let's Build A Simple Interpreter 」,简称 lsbasi。本来只是随便翻翻,但刚看完 Part-1 就发现作者 Ruslan Spivak 不仅是一个出色的软件工程师,文笔也相当不错,更难得的是他对学习这件事本身有着很深入的理解,这些见解甚至反馈到了这套教程的设计上。

阅读全文 »

前段时间,我的朋友「肚子」向我推荐了 Make It Stick: The Science of Successful Learning 这本书 (以下简称 MIS),读毕感觉相见恨晚。该书的讨论主题是学习这件事情本身,即研究人类学习的特点,找到适合人类的高效学习策略。如果用一句话向其它朋友推荐这本书,我想这句话一定是:学习本身是一件值得思考的事情

阅读全文 »

今年 6 月底,由于工作需要,花了两周时间调研对话系统,并在公司内部做了一次调研报告。本文意在将此报告整理成文字版,算是对这段时间付出的一个交代。

阅读全文 »