プロダクト分析 (IT)プロダクトアナリスト

リファラルプログラムの因果効果が長期的なLTVに与える影響を、自己選択の内因性と招待されたユーザーのコンバージョンの遅延を考慮して説明してください。

Hintsage AIアシスタントで面接を突破

質問への回答

リファラルプログラムの評価の主要な問題は、自己選択の内因性です。エンゲージメントの高いユーザーはもともとLTVが高く、友人を招待する頻度も多く、そのため、このチャネルの効果が高いという錯覚を生み出しています。正確な評価を行うために因果推論の手法を用います:Propensity Score Matching (PSM)を使用して観測された特徴によるバイアスを除去するか、ランダム化されたインストゥルメントがある場合(例えば、バナーのランダム表示)にはInstrumental Variables (IV)を使用します。

招待を送信してからリファラルのコンバージョンまでの時間的遅れを考慮するため、単純なコホート分析の代わりにSurvival Analysis(カプラン・マイヤーのモデルまたはCox Proportional Hazards)を使用します。これにより、ライフサイクルがまだ終了していないユーザーがいる場合の打ち切りデータ(right-censoring)を正しく処理できます。LTVは、リテンション曲線を割引やBTYD(Pareto/NBD)手法を使って積分することで計算します。

実生活の状況

コンテキスト: モバイルフードデリバリーアプリで、二重ボーナスのあるリファラルプログラムが開始されました。四半期後のTableauでの報告では、リファラルリンクをアクティベートしたユーザーのLTVはプラットフォーム全体の平均より40%高いことが示されました。プロダクトマネージャーは予算の拡大を要求しましたが、分析チームはこの違いがプログラムによるものではなく、スーパーユーザーの基礎特性によるものであると疑っていました。

問題: 真のインクリメンタル効果をエンゲージメントとの相関から分離することは不可能でした。単純なSQLクエリを使用してグループを比較すると、コンファウンダー(注文頻度、プロダクト内での時間)によるバイアスがかかった評価が得られました。正確な評価がなければ、ビジネスはマイナスまたはゼロに近いマージンのチャネルに対して過剰支払いするリスクを抱えていました。

解決策1: SQLを用いたコホートの直接比較

"招待した"(treatment)と"招待しなかった"(control)のコホートを比較して、BigQueryでARPUと90日目のリテンションを計算しました。

プラス: 即時実施、ステークホルダーへのわかりやすいビジュアリゼーション、リソース要件が低い。

マイナス: 自己選択バイアスと生存者バイアスの重大な問題。もともとプロダクトに残ることを計画していたユーザーは、より頻繁にリファラルを利用します。この結果は過大評価されており、意思決定には不適切です。

解決策2: 歴史データに基づくPropensity Score Matching

Pythonscikit-learn)でロジスティック回帰モデルを構築し、プログラム参加の確率(pre-treatment特徴に基づく)を評価します(アカウントの年齢、注文履歴、平均クレジットなど)。次に、Nearest Neighborsを用いて1:1マッチングを行い、比較可能なサブグループ内でのみLTVを比較しました。

プラス: 観測可能な変数によるバイアスを除去し、実験の必要がなく回顧的データで機能します。ATT(平均治療効果)を迅速に取得できます。

マイナス: 観測されていない特徴(unobserved confounders)を除去できません。データが不均衡な場合(招待した人数が少ない)、共通サポートの問題が発生し、サンプルの一部が除外され、パワーが低下します。

解決策3: Instrumental VariablesとSurvival Analysis

自然実験を見つけました:50%のユーザーがリファラルプログラムのバナーをホームスクリーンでランダムに見た(ツールZ)、これは参加の確率(X)に影響を与えますが、LTV(Y)には直接影響しません。2SLS(Two-Stage Least Squares)を使用して効果を評価しました。Pythonlinearmodelsライブラリを使用し、LATE(局所平均治療効果)を取得しました。遅延を考慮するために、Survival Analysisを使用しました:リファラルの最初の注文までの時間のリスクモデルを構築し、各時点でのコンバージョン確率に基づいてLTVを補正しました。

プラス: IV手法は、観測可能な及び観測できないコンファウンダーの両方を排除し、因果効果の評価を提供します。サバイバル分析は不完全なデータを適切に処理し、時間の動態をモデル化できます。

マイナス: 有効なインストゥルメント(関連性と外因性)が必要であり、これは証明が難しいです。IV評価の統計的パワーが低下(広い信頼区間)。LATEの解釈はATE("compliers"のみの平均効果)とは異なります。

選択した解決策:

ハイブリッドアプローチを選択しました:バナーのランダム化を使用して参加の純粋な効果をIV評価し、その後、期待されるLTVを算出するためにSurvival Analysisの非線形モデル(Cox、時間変動共変量に基づく)を適用し、リファラルのコンバージョン時間を考慮しました。これにより、プログラムの効果と自己選択の効果を分離できました。

結果:

真のインクリメンタル効果は、compliersグループのLTVに+12%であり、元の報告の+40%ではありませんでした。遅延分析では、85%のリファラルのコンバージョンがクリック後の最初の14日間に発生することが示され、効果の評価期間を90日から30日に短縮することが可能となりました。ビジネスはユニットエコノミクスを見直し、リテンションの長期的な待機を放棄することで、顧客獲得コスト(CAC)を18%削減しました。

候補者から見落とされがちな点

質問1: リファラルプログラムでのSUTVA(ユニット間の干渉の不在)の仮定をどのように確認しますか、招待した人の間でネットワーク効果がある場合は?

SUTVAは、ソーシャルサークル内の招待の密度がコンバージョンの確率に影響を与える場合(例えば、過剰招待やウイルス効果)に破られます。確認のためにクラスタリングを使用し、ユーザーを地理的クラスタやソーシャルグラフによるセグメントに分けます。

次に、Difference-in-Differencesを適用して、リファラルリンクのペネトレーションが高いクラスタと低いクラスタを比較します。密なクラスタでの効果が有意に異なる場合(過剰招待のために低い、または社会的証明のために高い)、SUTVAが破られ、グループ間相互作用を持つモデル(空間モデル)を使用する必要があります。または、分析を孤立したセグメントに制限する必要があります。

質問2: コンバージョンしていないユーザーがいる条件で、センサードデータのLTVを予測するために通常の線形回帰(OLS)を使用できない理由は何ですか?

OLSは、対象者がキャンセルした事実(right-censoring)を無視し、現在のLTVを最終値として扱うため、"若い"ユーザーの評価が系統的に過小評価されます。これに代わって、リテンション曲線( S(t) )を評価するためにSurvival Analysisを利用し、その後それを積分して期待されるライフタイムを得ます。

代わりに、BTYDという反復購入の確率モデルを使用します。このモデルは、Pareto/NBDGamma-Gammaなど、Pythonlifetimesライブラリに実装されており、頻度や購入の間の時間に関する確率分布を通じて、まだ見えていないトランザクションを考慮に入れ、アクティブなユーザーのために未来のLTVを無偏に評価します。

質問3: インクリメンタル招待(プログラムのおかげでのみ発生した招待)をオーガニック招待(インセンティブなしでも発生した招待)とどのように区別しますか?

Principal Stratificationフレームワークを使用し、対象者を四つのグループ(strata)に分けます:Always-takers(必ず招待する人)、Compliers(プログラムのおかげで招待する人)、Never-takers、Defiers。IV分析を用いて、バイナリーツール(例えば、バナーを見た/見なかった)を使ってLATEを評価し、Compliersの効果を得ます。

より詳細なセグメンテーションを行うために、Causal Machine Learningの手法(EconMLCausalML in Python)を使用し、Causal ForestMeta-learners(S-Learner、T-Learner)を用いて条件付き平均治療効果(CATE)を評価します。これにより、プログラムがインクリメンタルな招待を生成するユーザー(例えば、低・高チェック)と、オーガニックシェアを単に記録するユーザーを理解できます。