appricot’s diary

日々の勉強のメモ

The Science of Pricing Experimentation at Amazon ==> 読後メモ

Paper

American Economic Association

https://www.aeaweb.org/conference/2023/program/paper/4frnFS39

Joseph Cooprider, Shima Nassiri, "The Science of Pricing Experimentation at Amazon", ASSA 2023 Annual Meeting, 2023

 

Summary

  • 目的
    • 新たに導入するPricing Algorithmの効果(Average Treatment Effect; ATE)を推定したい。具体的には、商品毎・タイミング毎に、Pricing Algorithmを適用する場合・適用しない場合を混ぜて、商品やタイミングの影響を除いたPricing Algorithmそのものの効果を推定しようとしている。
    • 商品の販売には、Pricing Algorithmのみならず、販促、広告、インフルエンサー、Supply Chain、商品そのものの需要など、様々な影響が絡む。その状況下で、Pricing Algorithmの影響のみ推定することが、難しさ。
  • 既存の実験方法
    • Time-bound Experimantal Design
      • 7日目までは、Baseline Priodということで、何もしない。
      • 8日目以降、Control Groupの商品は、何もしない。Treatment groupの商品には、Pricing Algorithmを適用。
    • Trigger-based Experimantal Design
      • 7日目までは、Baseline Priodということで、何もしない。
      • 8日目以降、Treatment groupの商品には、「Trigger条件が発動した日から」Pricing Algorithmを適用。それ以外の商品には、何もしない。
      • Trigger条件とは、例えば、「他の店舗が、対象商品について特別な販促を開始した場合」。
    • Swichbacks
      • 7日目までは、Baseline Priodということで、何もしない。
      • 8日目以降、各商品について、ある日はTreatment Group、またある日はControl Group・・というのを、ランダムに繰り返す。いつがTreatmentで、いつがControl・・というのは、商品によって、バラバラ。
      • Standard errorを60%削減する効果。
      • この方法は、ある日の価格が、翌日以降の需要に影響を与えること(Carry-over Effect)が起きない場合のみに、有効な方法。
  • 改善案1 --> Cross Over
      • 7日目までは、Baseline Priodということで、何もしない。
      • 8, 9日目は、半分の商品がTreatment Group。残り半分の商品がControl Group。
      • 10日目は、Blackout periodということで、何もしない。これは、Carry-over Effectを少なくするのが目的。
      • Standard errorを40-50%削減できる。これは、Swichbacksほどではないが、Carry-over Effectを減らせる効果もあるのが利点。
  • 改善案2 --> HPTE (Heterogeneous Pannel Treatment Effect)
    • 既存の推定手法 --> DID (Difference-in-difference)
      • 1st difference = Before, Afterでの違い
      • 2nd difference = Treatment group, Control groupでの違い
        • T1: Treatment groupの商品のTreatment前の販売個数
        • T2: Treatment groupの商品のTreatment後の販売個数
        • C1: Control groupの商品のTreatment前の販売個数
        • C2: Control groupの商品のTreatment後の販売個数
        • ATE = (T2-T1) - (C2-C1)
          • 1st differenceが、T2-T1
          • 2nd differenceが、(T2-T1) - (C2-C1)
    • 提案手法 --> HPTE
      • Step1: 各Productで、Treatment中のDailyの値 - Treatment前のDailyの値を計算。これを、β(i)とする。iはProduct.
        • 値は、おそらく、販売個数では・・と推測
      • Step2: β(i)の分布を作成し、外れ値であるようなProduct(分布の両側の裾野)を除く。
      • Step3: Causal Forestを用いて、Second differenceを計算。
        • おそらく、以下のようなモデルを構築していると推測
          • β(i) = F(X(i))
          • X(i)は、Productの属性や、Treatment前のBusiness Metricsなど。
      • Step4: Boost strapping
        • Standard errorを計算するために、以下を繰り返す。
          • Randomeに複数のProductsを選択
          • Step1,2,3を実施し、ATEを計算
        • ATEの分布とStandard errorを得る
    • 提案手法の結果 
      • DIDと比べてHPTEの方がStandard errorが30%低くなる 
  • 改善案3 --> 補完財・代替財を考慮
    • Spillover Effect (or Interference)
      • 補完財、代替財でのTreatmentが、Control groupのProductに影響してしまう場合がある。これをSpillover effectと呼ぶ。
    • このSpillover Effectの調整・除去を実施

Impression

  • 今までCausal Forestの適用先として、人を想定した事例ばかり見てきたので、商品が対象となっているのは、新鮮。
  • Amazonでの、実際のPricingの検証方法に触れているという点も、新鮮。
  • 以下の点が、理解できず。
    • Causal Forestを適用する場合の詳細
      • どのような変数が入力変数となったのか
      • 対象となるProduct数は、どれぐらいの数あったのか?
      • どのようにProduct毎のTreatment effect (Heterogenious treatment effect)から、全体でのTreatment effect (Average Treatment effect)を算出するのか?
    • Spillover Effectの調整・除去の方法の詳細
      • 論文には記載があったものの、こちらの知識不足で理解できず。