プロダクト分析 (IT)プロダクトアナリスト / モバイルプロダクトアナリスト

強制的な古いバージョンのモバイルアプリケーションのサポート停止(forced sunset)が、アクティブユーザーの保持およびウェブチャネルへのトラフィックの移行に与える因果効果を評価するために、どのような方法を用いるべきか?この停止はOSのバージョンごとに段階的に行われ、ユーザーはデバイスの技術的な装備によって自己選択を示し、観察されたMAUの減少は実際の流出だけでなく、進化的ウェブアプリケーション(PWA)への移行による可能性もある。

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

質問への回答

歴史的背景
2010年から2015年の間、企業はnativeアプリケーションをiOSAndroidの両方で完全に互換性を持たせるアプローチをとっており、OSのバージョンで95%の市場をカバーしていました。しかし、機能の複雑さが増すにつれて、現代的なAPI(例えば、Biometric APICamera2Jetpack Compose)への移行に伴い、legacyコードのサポートコストが保持されるユーザーのマージンを超えました。2020年代には、標準として"n-2"のポリシーが定着し、単なる相関分析ではなく、停止の真の効果を評価する方法論の開発が求められるようになりました。

問題の明確化
強制的な停止は自己選択の内生性を生み出します:古いデバイスを持つユーザーは物理的に必要なバージョンのiOSまたはAndroidにアップデートできず、現代のスマートフォンを持つアクティブユーザーは迅速にアップデートを行います。観察されたMAUの減少は、実際の流出(churn)の結果か、PWAやモバイルウェブへの移行の結果かもしれません。従来のA/Bテストは不可能で、停止は技術的な性格を持ち、特定のOSバージョンの全ユーザーに同時に適用されるため、ネイティブアプリとウェブバージョン間のアイデンティティの追跡はSafariChromecookiesに関する制限により困難です。

詳細な解決策
最適な方法論は、断絶回帰(RDD)合成コントロール法(Synthetic Control Method)の組み合わせに基づいています。まず、OSバージョンのしきい値(例えば、Android 8.0Android 9.0)に基づいてRDDを使用し、しきい値よりもわずかに低いバージョンを持つユーザーがしきい値を超えたユーザーのコントロールグループとして機能し、デバイスの特性や使用頻度の履歴の補正を行います。

次に、ウェブチャンネルへの移行を評価するために、停止前の行動パターンで比較可能なユーザーコホートの歴史的DAUデータに基づいて合成コントロールが構築されます。その影響を受けていないコホート(例えば、類似のデバイス構造を持つ他の地域のユーザー)の加重されたコホートの組み合わせを作成し、反実仮想的なメトリックの経路をモデル化します。

第三に、アップデートする可能性があったが実際にはしなかったユーザーとアップデートしたユーザーを技術的特性の補正を行い比較するためにdifference-in-differencesPropensity Score Matchingを適用します。Customer Data PlatformCDP)を介してcross-deviceの移行を追跡することが重要で、モバイルアプリケーションのdevice_idをウェブバージョンのcookie_idと接続して単一のuser_idによって認証される必要があります。さらに、OSバージョンやウェブ代替の可用性に応じて流出までの時間を評価するためにsurvival analysis(コックスモデル)が使用されます。

生活の中の状況

コンテキスト: 大手マーケットプレイスが安全な支払いのためにBiometric APIを導入するためにAndroid 7.0およびそれ以下のバージョンのサポートを中止することを決定しました(約8%のベース)。プロジェクトの予算は、アクティブなユーザーの3%以下の損失を想定し、新しいバージョンでのコンバージョンの増加で補うことを目的としています。

選択肢1: 停止前後の日付によるMAUの単純比較と損失パーセントの計算。利点: 計算の単純さ、結果の迅速な取得、複雑なインフラストラクチャを必要としない。欠点: 季節性、ウェブへの移行、デバイスによる自己選択を完全に無視する;ユーザーが単にm.siteに移行しただけの場合の誤った流出のリスクが高い。

**選択肢2:**Android 8.0(残る可能性があったが更新された)を持つデバイスとのデバイスマッチングでのコホート分析の実施、Android 7.0(更新できなかったデバイス)との比較。利点: 技術的な制約を考慮し、更新できないことの効果を分離できます。欠点: OEMメーカー(SamsungXiaomi)の断片化による純粋なデータの取得の困難さ、異なるブランドのユーザー行動の違い、地理的なヘテロジニティの問題があります。

選択肢3: 古いデバイスの割合が高い地理的地域でのSynthetic Controlに基づく総合的なアプローチ(地域A、30%がAndroid 7、地域B、5%がそれより低いバージョンの比較)を行い、市場の全体的なトレンドに対して補正を行います。利点: マクロ経済的な要因と季節性を考慮し、ビジネスへの全体的な効果を評価できる。欠点: 大規模なサンプルが必要で、地域内で他の同時介入が存在しないことが前提となります。

選択したソリューション: 認証されたユーザーのコホート分析と組み合わせた選択肢3が実施され、ウェブへの移行を追跡するためにSSOログインを通じて実施されました。この選択は、流出の真の要因をウェブトラフィックの捕食から分離する必要があったため、unit-economicsの評価において重要です(ウェブユーザーはAOVが15%低い)。

結果: 分析は、失われたMAUの40%のみが実際に流出し、35%がPWAに移行し、25%が四半期内にデバイスを更新したことを示しました。実際の負の効果は予想よりも2.5倍少なく、残りの92%のユーザーに対するAPIの更新戦略を継続でき、GMVが新しい支払い機能の導入によって8%向上しました。

候補者が見逃すことが多いポイント

古いバージョンのアプリを使用している両グループが存在する場合、技術的な更新の不可能性と行動的な更新拒否を区別する方法は?
回答は、CDPでのdevice_change eventsの分析に基づく必要があります。行動的な拒否(lazy updaters)を示すユーザーは、通常、更新をスキップするパターンを持っており(例えば、いくつかのマイナーなバージョンをスキップし、セキュリティパッチをインストールする)、技術的に制約されたユーザーはデバイスのライフサイクル全体にわたってOS versionを変更しません。さらに、ウェブバージョンでのhardware fingerprintWebGLCanvasを通じて分析します:ユーザーが元のアプリからPWAに同じデバイス(User-Agentと画面解像度)で登場した場合、これは流出ではなく移行を確認します。また、app_versionの履歴でセグメント化することも重要です:ユーザーがAndroid 7内で定期的に更新されていた場合(7.0から7.1のパッチの間)でも、8.0に移行しなかった場合、これは技術的な制限を示しており、拒否を意味しません。

強制アップグレードの効果を評価する際、ユーザーの収入とデバイスモデル間の強い相関関係がある場合、標準的なPropensity Score Matchingが偏った評価を提供する理由は?
標準的なPSMは条件付独立性に基づいており、観察された共変量が自己選択を完全に説明することを前提としています。しかし、サンセットポリシーの場合、隠れた変数(disposable income)が存在し、これはスマートフォンのモデル(フラッグシップ対バジェット)と、ユーザーのLTVと同時に相関しています。バジェットデバイスはOSのアップデートを受けにくく、その所有者は支払い能力が低いことが多いです。標準的なPSMは、豊かな新しいデバイス所有者と貧しい古いデバイス所有者を「重み付けし」、彼らの行動パターンが根本的に異なるため、実際の負の効果を過小評価します。解決策としては、デバイスの価格セグメント(low-end、mid-range、flagship)に基づく正確な層別化を伴う**Coarsened Exact Matching (CEM)**を用いてからPSMを適用することや、OEMメーカーのアップデートポリシーを外的ショックとして使用した計量経済学的手法(Instrumental Variables, IV)を使用します。

異なるアプリバージョンのユーザー間のネットワーク効果を評価する際、"商品を共有する"機能が古いバージョンと新しいバージョンで異なる場合、流出をどのように考慮すべきか?
ネットワーク効果が強制活動グループとコントロールグループの間にspilloverを生じさせます:新しいバージョンのアクティブユーザー(treatment)が、友人と古いバージョンの内容を共有できない場合、両者の体験が悪化し、流出のコントロールグループがサンセットポリシーの影響によらず加速するかもしれません。修正のためには、ネットワークベースの差分の差分法(network-based DID)を適用する必要があります。ソーシャルネットワークのグラフを構築し(referral codes、共同注文またはアプリ内チャットのメッセージを通じた分析)、メトリックの「感染」を評価します:もしコントロールグループ(古いバージョン)のユーザーが、treatmentグループ(新しいバージョン)との多くの関係を持っている場合、その行動は歪む可能性があります。モデルには、Treatment x Network_Exposureの相互作用項を追加し、Network_Exposureは新しいバージョンを使用している関係の割合です。高いネットワーク効果がある場合、サンセットポリシーの真の効果は過小評価され、コントロールユーザーの一部が実際には間接的な影響を受けているため、これに対する**intention-to-treat (ITT)**の補正が必要です。