TT Lab
はじめる
学ぶ 学習パス コース

開発者の起業 — 作る前に検証する

リテンションコホート — 分母を間違えるとすべて間違う

TT Labで続きを見る

一言でいうと

リテンションは、「登録した人のうち、N週間後にも使っている人の割合」です。同じ週に登録した人を1つのまとまり(コホート)として扱い、分母は常にそのコホートの登録者数とし、まだ来ていない週は、0ではなく空欄にします。この2つを守るだけでも、起業の初期に最もよくある3つの錯覚が消えます。

なぜ必要なのか

月間アクティブユーザーは、毎月増えていました。ところが、新しい登録者は、それより速く増えていました。バケツに穴が空いているのに、水をもっと速く注いでいたのです。全体のアクティブ数は、入ってくる水と、漏れる水を、1つの数字に混ぜます。製品が人を引き留めているかどうかは、同じ時期に入ってきた人が、時間が経つにつれてどれだけ残るかを別に見て、初めて見えます。それがコホートです。

広告費を増やすか、機能をもっと作るか、止めて考え直すかは、たいていこの曲線1つで決めます。曲線がどこかで平らになれば(それ以上下がらなければ)、引き留められた人がいるという意味で、最後まで0に向かって下がるなら、まだ製品が誰かの習慣になっていないという意味です。そのため、計算が間違っていれば、決定がまるごと間違います。

どう動くのか

コホートと週: このラボでは、コホートは、登録時刻のソウル基準の週(月曜開始)です。N週目の継続は、「登録週を0週目として、N番目の週にsession_startがあった」です。表に描くと、行がコホート、列がNの三角形になります。遅く登録したコホートほど、右側の欄が空いています。

落とし穴1: 分母: N週目の継続率の分母を、「0週目に活動した人」にすると、登録だけして1回も来なかった人が、静かに抜けて、継続率が上がります。登録ファネルの問題(最初の体験の失敗)を、リテンションの表から消してしまうことになります。分母は、登録者数です。最初の体験を別に見たいなら、それは、アクティベーション率という、別の指標として書きます。

落とし穴2: 観測されていない欄: 11週目に登録したコホートの6週目は、まだ来ていません。その欄を0で埋めて、複数のコホートを平均すると、最近のコホートが多いほど、曲線が偽物のように折れます。複数のコホートを合算して、N週目の継続率を出すときは、N週目まで観測が終わったコホートだけを集め、人数で加重します(コホートの比率の単純平均は、20人のコホートと200人のコホートを、同じ重さで扱います)。生存分析では、このような欄を、「打ち切り(censoring)」と呼びます。

落とし穴3: 生存者バイアス: 「いまも使っている人に聞いてみたら、4週目にもほとんどが使っていた」は、当然です。いま残っている人だけを選んで過去を見ると、去った人は標本にいません。コホートは、登録時点で名簿を固定し、その名簿を最後まで追いかけます。名簿を、後の情報(いまアクティブか、有料か)で選び直してはいけません。

2種類の継続: 「N週目に来たか(bounded)」と、「N週目かその後に1回でも来たか(unbounded)」は、別の問いです。毎週使うツールなら前者、たまに使うツール(税務申告、旅行の予約)なら後者が、製品の性格に合います。どちらを使うかを書いておかなければ、2人が同じ表を見て、違う数字を言います。

曲線が平らになるところ: このラボは、「前の週に比べた継続率の低下が、2%ポイント未満になる最初のN」を、平らになる地点と定義します。基準値の2%ポイントは、このラボの例のルールです。製品と標本サイズに合わせて決めますが、決めたなら、変えません。

どの活動を数えるか: このラボは、「その週にsession_startがあった」を、活動とみなします。指標のモジュールで見たように、活動の定義を、コアな行動(share_doc)に変えると、コホート曲線全体が下がり、曲線が平らになる地点も変わります。どちらの定義が正しいというより、曲線を比べるときは、同じ定義どうしだけで比べなければなりません。定義を変えた月に曲線が良くなったなら、製品ではなく、定義が変わったのです。

現場での姿

間違いに気づく方法

次のラボですること

「モアノート」の12個の週次コホートで、継続率の三角表を作り、3つの落とし穴(分母・空欄・生存者)をわざと犯してみた数字と、正しい数字を並べて書きます。その後、観測が終わったコホートだけを集めた加重継続率、boundedとunboundedの違い、登録経路別の4週目の継続率を計算して、1枚のレポートにまとめます。採点ツールは、あなたの関数を、変形したデータでも再実行します。