これは ドリコム Advent Calendar 2017 の25日目です。
24日目は YuyaUsami さんによる、 Rails Developers Meetup 2017に弊社エンジニアが登壇しました! です。
本記事の概要
- 目黒駅近辺のランチ店を把握しよう
- A社とB社の評価の違い
- A社とB社の評価から総合評価点を出して今日のランチ店を選ぶ参考にする
分析の動機と目的
筆者の在籍している新目黒東急ビル周辺には飲食店が沢山あり、空腹に困ることはありません。
しかし、それゆえにランチ店選びは困ってしまいます。
また、オフィスが最近移転したため、ビル周辺(ほぼ目黒駅周辺)のお店をあまり知りません。通常ですとインターネットでの評価や口コミなどを参考にして探してみるのが定番かと思います。
ですが、せっかくこのような記事を書く機会をいただいたので、データ分析部の人間らしく周辺のランチ店をいろいろと調査・分析してみようと思います。
”良いランチ店がわかる”ということを目的達成とします。
データは?
インターネットでランチ店を探してみたところ某A社とB社のWEBサイトから以下のデータを集めることができました。
- 口コミ、コメント数(以下コメント数)
- 5段階評価点
- 料理ジャンル
- 価格帯
- 目黒駅からの距離(500m以内)
取得してきたデータは約210件です。
まずデータを把握する(データの整理)
ジャンルごとに目黒駅周辺500mのランチ店を把握する
分析をするためには、まず分析しやすい形にデータを整理する必要があります。取得してきた生データのジャンルは数が多く(数十個)であるため、まずはまとめていく地道な作業を行います。
そして以下が10ジャンルにまとめたものの集計結果です。
縦軸:店舗数 横軸:ジャンル
洋食、居酒屋・バー、カフェ・ファミレスが多そうです。
オフィス街としても発展しつつある目黒駅周辺の雰囲気が感じ取れそうな気がします。
お店の価格帯分布
価格帯でも見てみましょう。
縦軸:店舗数 横軸:価格帯
1000円前後のお店が大半のようです。
2017年の調査によると男性サラリーマンの平均ランチ代金が590円*1ですので、「~¥999」が最も多くなっているのもわかります。
平均価格帯
価格帯の中央の値を予算として、平均予算をジャンルごとに出してみます。
縦軸:平均予算 横軸:ジャンル
ラーメンやエスニックが低く、洋食 / 和食 / 肉・ステーキがとびぬけていますね。
データの可視化
A社とB社の評価点の違い
A社とB社の点数を見ていたら何か面白そうな結果になっていることに気が付きました。
縦軸:B社評価点(5段階) 横軸:A社評価点(5段階)
あれ?A社とB社の評価点違いありすぎじゃない?
同じ5段階評価なのに・・・これは面白そうだ。
評価項目と分析手法
- A社とB社の評価点の違い
➡ 散布図による評価を記述
- A社とB社の評価点の総合評価点を算出して今日のランチ店を選ぶ参考にする
➡ 主成分分析による総合評価点の算出
分析
A社とB社の評価の違い
縦軸:B社評価点(5段階) 横軸:A社評価点(5段階)
中心の赤直線はA社とB社の評価点が一致する線、外側は0.5ずつずれている線
ひとつ前の図と合わせて以下のことに気が付きました。
- A社評価点は3.0未満と4.0以上がない
- A社とB社の評価点に差(1.0以上)があるお店が存在する
➡ 5段階評価の点数は単純な平均点ではないということが調査してみるとわかりました。
それぞれで評価の方法が違うようです。
そういう意味では,
評価点差1.0以上(一番外側の点線の外、紫の△)でコメント数が一定数投稿されているお店は隠れた名店である可能性がありそうです(逆もまたしかり)。
A社とB社の評価を合わせて総合評価してみる
A社とB社の評価点の付け方がそれぞれで異なり、点数にも差があることがわかりました。
それではなおさらA社とB社のどちらを参考にしてよいかわかりません。
そのため今回は主成分分析という分析手法を用いてA社とB社の評価点から総合評価をしてみました。
主成分分析は「データの要約」「総合力トップの選出」のための分析手法と言われています。
複数の変数を集約して新しい変数(主成分)で評価する手法です。
以下のデータ(A社とB社の)を用いました。
- コメント数
- 5段階評価点
これら変数間の相関関係が強いほど変数が集約しやすいため、まずは相関関係を確認します。
相関関係とは二つの値の関係性を、相関係数とはその強弱を数値で表すものです。
相関係数のヒートマップ 黒 → 赤で相関が強い 弱 強
特徴的な部分を抜き出すと
- A社評価点とA社コメント数には中程度の相関があるが、B社評価点とB社コメント数には相関がない
- A者のコメント数とB社のコメント数には強い相関がある
- A社の評価点とB社の評価点には弱い相関がある
➡ A社の評価点にはコメント数が重要であることがわかります。
次に主成分分析の結果です。
集約した変数(第一主成分 = PC1)で全データの約55%を説明できるとの結果になりました。
大体50%はないと厳しいといわれているので、まあ大丈夫でしょう。
プロットすると以下のようになります。
変数が総合評価点に与える影響度 横軸:第一主成分 縦軸:第二主成分
総合評価点でのお店の評価 横軸:第一主成分(総合評価点と定義) 縦軸:第二主成分
第一主成分の得点を総合評価点と定義して、わかりやすくするため偏差値に置き換えて集計します。
偏差値ごとの店舗数 縦軸:店舗数 横軸:偏差値
偏差値60以上のお店をジャンルごとに集計すると…
偏差値60以上の店舗数 縦軸:店舗数 横軸:ジャンル
最初に店舗数の多いジャンルごとに集計した結果と同様にジャンルを並べてあります。
特に洋食とラーメンが多くなっています。
結果・考察
洋食は全体の店舗数が一番多いので、偏差値60以上の店舗数が多くなる理由もわかりますが、同様の店舗数である居酒屋・バーには一店舗もありません。
やはりジャンルが得点に与える影響はありそうです。ラーメンは最も多い店舗数になっています。ラーメンは国民食ともいうべき人気ジャンルですね。
総合評価点への影響はコメント数が最も強く反映されています。ラーメンのように人気ジャンルで、一人でも入りやすく平均予算も低いと気軽に来店できるためコメント数が多くなるのかもしれません。また、目黒では価格帯”~¥999”の最低価格帯のお店が最も多く、サラリーマンの平均ランチ予算も同価格帯であるため、大多数の人が利用しやすくコメントが集まりやすいジャンルでもあると推察できます。
コメント数の補正をして再分析してみるとより良い結果になるかもしれません。
一方で、中華は料理ジャンルとして一般的にもかかわらず偏差値60以上が一店だけです。ラーメンと同じように低予算で大衆向けといえるようなジャンルにも関わらず評価はあまり高くありません。
エスニックは好みのわかれるジャンルであるゆえ、評価が難しいのかもしれません。
おわりに
A社とB社の評価点とコメント数を元に総合評価点したお店のリストを作成しました。
これらのお店を順に行ってみて検証してみようと思います。
なぜなら分析とはただ数値を分析しただけで終わりではないからです。
「いや、どんな大企業の偉いデータサイエンティストでも、間違えた状況分析と実行をしてしまうことはあります。重要なのは、ここで検証をして次につなげることです。つまり『改善(Action)』が次に課題になります」*2
リストを見てみたいと考えているそこの方、ぜひ株式会社ドリコムのデータ分析職採用に応募してみてください。
謝辞
末筆ながら、このような記事を書く機会を下さいました上司、
データ取得にご協力いただきました松尾氏、チームメンバー、運営の皆様に対し深く御礼申し上げます。
出典
1)新生銀行 -「2017 年サラリーマンのお小遣い調査」結果について
http://www.shinseibank.com/corporate/news/pdf/pdf2017/170626okozukai_j.pdf
2)石田基広 (2013) とある弁当屋の統計技師 -データ分析のはじめかた p.200 共立出版