Google Places APIを使って地図上の口コミを分析する方法
目次[非表示]
店舗検索にGoogleマップが頻繁に使われるようになり、地図情報を最適化するMEO(Map Engine Optimization)の重要性が高まっています。
このGoogle Mapには、日々様々な口コミやレビューが投稿されており、SNSデータと同様重要な分析対象となります。
特に飲食店のレビューでは、少し前までは食べログが強かったものの、コロナ禍でライフスタイルが大きく変わったことやレビューの信頼性などから、投稿トレンドがGoogle Mapに移行している傾向も見て取れます。
このような動きから、Google Mapの分析は今後ますます重要となると考えられます。このGoogle Mapのデータを効率的に入手できるのがGoogle Places APIです。
今回はこのAPIで取得できる情報や取得方法を解説し、さらに具体的な飲食店データを落としてきて分析してみたいと思います。
Google Places APIとは
Google Places APIはGoogle Maps Platformの一つで、Google Map上のデータを取得できるAPIで、テキストで店舗を抽出したり、緯度経度情報から店舗を抽出したり、店舗の詳細情報などを取得したりすることができます。
料金は1リクエストごとの従量課金制(1,000リクエスト$32~)となっていますが、月$200の無料クレジットが付与されるため無料で始めることができます。
また利用するには事前にGoogle Cloud Platformより、事前にAPI登録が必要となります。
取得できる情報
Google Place APIで取得できる情報は色々と複数ありますが、すぐに分析に使えそうなものは下記の4種類です。
名称 |
エンドポイント(Jsonで取得する場合) |
用途 |
---|---|---|
Find Place requests |
https://maps.googleapis.com/maps/api/place/findplacefromtext/json |
名前、住所、電話番号など特定の1店舗を検索 |
Nearby Search requests |
https://maps.googleapis.com/maps/api/place/nearbysearch/json |
緯度・経度・半径などから特定の場所に近いスポットを検索 |
Text Search requests |
https://maps.googleapis.com/maps/api/place/textsearch/json |
テキストでスポットを検索 |
Place Details |
https://maps.googleapis.com/maps/api/place/details/json |
特定の1店舗の口コミやレビューを取得 |
Text Search requestsで得られる情報が、Google Mapで検索した際に返ってくるデータに近いかと思います。
ここからはText Search requestsとPlace Detailsを利用して、実際の口コミを取得・分析してみたいと思います。
東京23区内のうなぎ屋のデータを抽出してみる
ここからはPythonを使って実際にAPIで店舗情報を取得し、取得したデータを分析してみたいと思います。
テキスト検索の「Text Search requests」では、残念ながら1クエリあたり60件しか情報を取得できないようです。
また検索クエリと近い場所(いらないデータ)も候補に上がってしまうので、23区それぞれクエリをかけて、最後に重複と不要データを除きます(うなぎ屋のGoogleの表記が「うなぎ料理店」なのでそちらに合わせておきます)。
取得したデータ
取得できるデータは下記のような情報となります。
検索結果はMAX60件で1クエリあたり20件ずつ表示されるため、TwitterAPIなどと同様next_page_tokenを新規パラメーターpagetokenに加えて2ページ目と3ページ目を取得します。
Place Detailsで口コミを取得
レビューの内容に関しては「Place Details」で取得します。
ここでは例として、食べログうなぎカテゴリーでランキング1位のかぶとさんのデータを抽出してみます。
1店舗ごとにplace_idが当てられているため、Text Search requestsなどで予め取得し、パラメーターに追加します。
実際に得られたデータは下記となります。
取れるレビュー投稿は5件のみ
非常に残念なことに各店舗のレビューは5件しか取れないようです。レビューのテキストデータを全量取得するにはスクレイピングなどで別途取得する必要があるかもしれません。
取得したデータを可視化
重複データや23区外のデータも取れてしまうため、余分なデータを除外したところ全598件のうなぎ屋のデータを取ることができました。こんなにも存在することに驚きです。
Google Mapは1~5までの0.1刻みの評価(レビュー)が存在します。これをまずヒストグラムにかけてみます。
平均値は4.04、中央値は4.1、標準偏差0.34と食べログと比べても付けられる点数が比較的高いことが分かります。
続いて各店舗ごとのレビュー数を見ていきます。
レビュー数に関しては、平均値124、中央値64、標準偏差184と店舗ごとに大きな差があり、1000件以上のレビューを付けられている外れ値店舗が存在することが分かります。
データには店舗の緯度経度が含まれているため、地図上でレビューなどに合わせてプロットすると店舗ごとの傾向などが分かりやすくなります。
また面白いことに緯度と経度の2つの情報をk-meansを使い4つにクラスタリングすると、赤坂御所(皇居ではない)を中心に城北・城南・城西・城東と綺麗に分割されました。
うなぎ食べるなら文京区!?
住所データも取得できるため、区別のレビュー比較することも可能です。
中央値は名店が集まる江戸川橋や、後楽園の名店わたべなどが位置する文京区が一番高い結果となりました。
以上うなぎ店のマップ分析でした。カフェやコンビニなどの位置情報を分析しても面白いと思いますし、自社のMEOや競合分析に活かすのも良いかと思います。
今回使ったグラフマップなどは下記からも見ることができます。
※当社ではTwitterやInstagramなどのデータ抽出や、ダッシュボード作成、データスクレイピングの代行なども行っています。ご依頼の際は、お問い合せフォームよりお気軽にお問い合せください。
▼合わせて読みたい