データサイエンス ~経営戦略コンサルタントの現場から~

戦略コンサルタント。データサイエンスを活用し、経営戦略やマーケティング戦略、M&A戦略の策定を行っております。

【コンサル事件簿①】差分の差分析(DID)と統計的検定でCMの効果を示せ!

概要

ある赤字の飲食チェーン店とのプロジェクトにおいて、CMの客数増加に対する効果を、差分の差分析(DID)と統計的検定を用いて明らかにした。

 

背景

ある大手飲食チェーンとの話。

当社は日本全国にあるレストランチェーンを経営しているが、コロナ禍で客先が激減し大幅赤字に陥っていた。とはいえ昨今、ワクチンの普及や感染者数の減少により、外出制限が緩和され、少しずつではあるが客先が戻ってきた。しかし、長いコロナでの自粛生活が人々の生活スタイルを一変させ、その影響は外食産業にも及んでいた。というのも、人々は自宅で料理をする、もしくはUber等の宅配サービスを利用することに慣れたために、コロナ前ほど外食をしなくなっていたのである。それゆえ、コロナが落ち着いて以降も、コロナ前ほどの客先が戻らなくなっていた。コロナ前も単年度ベースで赤字と黒字を繰り返し、借入を返済してはまた借入を繰り返してきた当社にとっては、コロナによる大幅赤字の際に借りた資金も底をつく寸前であることから、今すぐに売上を回復させ、財政を立て直さねばならなかった。そこで、弊コンサルファームへ早急な売上回復戦略を策定するよう求めてきたのである。

弊社担当チームはまず当クライアントの売上回復に向け、過去のデータから、当レストランの商品の値上げは可能かどうか、また客単価向上施策の余地はあるか等の検討を行った。しかしその分析から判明したことは、それら施策に売上向上の余地はなく、残された選択肢は客数の増加のみであった。幣チームはテレビCMを大胆に打つことを選択肢の一つとして考えたが、既に赤字を多く抱えている当社にとって、大金のかかるテレビCM利用を了承してくれる見込みは薄かった。そのため担当チームは、テレビCMを打つことが本当に客数増加に繋がるのかどうかを明らかにしようと考えた。

 

解くべき問い

ここで私の出番である。招集された私は以下を言い渡された。

PM「当クライアントにとって、テレビCMに客数増加の効果はあるかを調べてほしい

私「良いでしょう。まずはこの会社の全国の店舗別の客数のデータ、メニューのデータ、それから過去のCMの放映開始日、放映場所のデータをください。」

 

10日後*¹、当社より私が希望したデータが送付された。

(*1:事業会社にはよくあることだが、データをくださいと言ってから実際にデータが届くのには早くても1週間はかかる。特に超大企業ともなれば、データの提供の許可を取るのに上長5人のハンコが必要となり、その稟議が完了するのだけでも1週間はかかる場合がある。その後エンジニアがSQLを叩いてデータを取得するのに数日かかる場合がある。他社へのデータ提供の要求は早目に行っておこう。)

 

分析

今回の分析方法を一言で表すと、「当社CMが流された地域と流されなかった地域で、客数の増減を比較する」である。

さて、実行していこう。

(1)CMが地域別に流されているかを確認する

まず、クライアントから送られた過去のCMに関するデータより、どの地域で、いつ、どのようなCMが流されたのかを整理する。CMは全国で一斉に放送されるものもあれば、地方テレビ局のCM枠等の状況から、地方別に流されない所があったり、放送開始日が異なることがある。クライアントの場合、近畿地方のみに流された新商品宣伝のCMが存在した。私はこれに目を付けた。

(2)似ている2つの都市を選択する

ここで、近畿地方にある大阪府A市をピックアップする。そして政府の各種公開データから、A市と平均年収や人口構成等がよく似た九州のB市をピックアップする。もちろんB市は近畿地方ではないため、このCMは放送されていない。この2つのよく似た市を選んだうえで、CMの放送開始前後でA市とB市の客数の増加状況を比較し、放送日以降の市の客数の増加の方が顕著であれば、「CMにより客数が増加した」ことが証明される。

(3)CM放送前後でDID

この時点で当ブログ読者の中には、「介入の前後の比較なのであれば、A市のみのデータを用いてCM放送前と放送後の客数を比べればよいのでは?」と考える者もいるだろう。実際、このような分析もコンサル会社では時々見かける。しかし、ここでそれを行わない理由がある。それは、「客数の増減にはCM放送以外の要因も大きく左右されるからである。別の表現で言うと、「それ、本当にCMの効果っていえるの?別の要因で増えたんじゃない?」というツッコミをされないようにするためである。例えば、CM放送以外にも、たまたまCM放送前後でクライアントの商品がネットでバズり、客数が一時的に増えた、ということもあり得るだろう。もしくは、コロナ禍の収束による外出人数の増加という要因により客数が一時的に増えるということも考えられる。すなわち、「他の都市では特に客数に変化が無いのに、CMを放送したA市だけが客数が伸びたよ。これってCMの効果としか考えられないよね!」と主張したい場合には、介入以外のマクロ的な要因による効果を除去した上で真にCMの効果を測る必要があり、そのためには、1つのサンプルの前後の比較では不十分なのである。つまり、2つの市を選び、CMが放送された場合と、その市で仮に放送されなかった場合という反実仮想の状況を作ることが必要である。マクロの時間的効果を除去した上で介入の前後における効果を測定する場合、DIDと回帰分析の組み合わせが用いられる。今回はA市とB市のCM放送日前後における客数の差を比較し、その統計的有意性を示すことで、CMによる客数増加の効果を証明する。

 

(4)平行トレンド仮説が適用されるかチェック

DIDを行う場合、対象のデータに平行トレンド仮説(Common Trend Assumption)が適用できるかのチェックが必要である。平行トレンド仮説とは、もし介入を行わなかった場合、介入グループと非介入グループの変化が同じである、という前提条件である。今回の場合、もしCMを流さなかったら、A市とB市の客数の増加は同じである、という前提を立てることである。今回のケースにおいては、過去のデータより、CMが長期間放送されていない期間の両市の客数の波が一致していたことを示した。

A市とB市の過去の客数データ

(5)グラフ化

平行トレンドを確認できたら、あとは介入前後の両市の客数をグラフで表すことではDIDは終了である。グラフ化すると以下のような結果が見られ、CMの効果があることを示していると考えられた。

CM放送による客数の変化

A市の客数増加率は30%、B市は2%であった。A市の増加率の方が圧倒的に大きい。

これで差分の差が可視化できた!はい終了!としたいところだが、これだけではクライアントから「この差は偶然による範囲の差なのか(誤差の範囲内ではないか)」とツッコミを受けてしまう。次からはこの差が誤差の範囲内でないことを示そう。

 

(6)回帰分析で差が統計的に有意であると示す

統計的有意性を示す方針は、以下のステップで行う。

<ア>回帰分析用のデータを用意する

<イ>介入を説明変数、客数を目的変数に持つ回帰式を作成する

<ウ>介入の係数が0ではないという検定を行う

 

<ア>データの用意

(5)で差分の差を可視化した際はA市とB市にある店舗ごとの客数を市ごとに集計していたが、ここではサンプル数を増やすために店舗ごとのデータを使う。以下のようなデータを用意した。

用意したデータ


「介入」の列は、CMが放送された地域なら1、されなかった地域なら0。

「時期」の列は、CM放送前が0、放送後は1。

「DID」の列は、「介入」と「時期」の積である。このDIDは、A市かつCM放送後を示すため、これが実際の「介入あり」を意味する項である。

 

<イ>回帰式の作成

以下の回帰式の係数を、上記に示した実際のデータを用いて求める。

上記のデータで言うと、Areaは「介入」、Timeは「時期」、DIDは「DID」であり、β₀は切片を示す。

介入と非介入グループで、他に調整すべき共変量がある場合、この回帰式に新たな項を追加する場合がある。今回はA市とB市の類似性を事前に示したため、これらの項のみで十分である。

 

<ウ>介入の係数が0でないことの検定

回帰モデルを作成後に係数を求める際、データ容量が多い場合にはpythonの使用をおすすめするが、今回はエクセルを例に用いる。エクセルで回帰分析を行うと、以下の表が自動で出現する。

 

 

オレンジ色のセルにある数値は、β₃=0を帰無仮説としたときに、β₃≠0である時のp値である。実データを投入して係数を求め、仮にβ₃=0であった場合、それは介入が客数に対する効果が0であることを示す。そのため、行われるべき検定はβ₃=0を否定するものでなければならない。それゆえ、この検定で帰無仮説を棄却することができれば、介入による効果に統計的有意性があると主張することができるのである。さて今回は介入が客数に正の効果があると示したいため、β₃>0を片側検定で示したい。有意水準を5%とした場合、p値は0.0025(0.05の半分)以下であれば良く、実際のp値は約0.002(0.0037の半分)であるため、帰無仮説を棄却できる。ゆえにβ₃>0であることが明らかにされた。

 

終わりに

この結果を資料にまとめ、幣チームはCMの効果をクライアントへ伝え、実際にクライアントはコロナ禍でおいてもCMを大々的に打つこととした。

今回は回帰式の目的変数(y)は「数」を対象にしていたが、「割合」を対象にしたい場合なども考えられる。今後は「割合」への効果を求めたい場合の方法も記事としたい。

kaggleなどのコンペとは異なり、コンサルティングの現場では「どのようなデータが必要か」から考える必要があり、いわゆる実験デザインへの知見も求められる。ここを誤ると分析を一からやり直すことになってしまうため、非常に慎重に進めなければならないが、企業の戦略の根幹にかかわることが出来るのが、この分野の醍醐味であると言えよう。

*可能な限り事実に基づきますが、内容や企業情報は変えております。