1から始めるPythonデータ分析 - やりたいこと逆引きリスト ▶︎▶︎

携帯キャリア3社+楽天モバイルをGoogle検索で分析してみた

分析の定義

  • 期間:2020-01-01 ~ 2021-05-19
  • NTTドコモ:「ドコモ」
  • KDDI:「au」
  • ソフトバンク:「ソフトバンク」
  • 楽天:「楽天モバイル」
!pip install pytrends # GoogleTrendを使う
from pytrends.request import TrendReq # GoogleTrendを使う
pytrends = TrendReq(hl='ja-JP', tz=-540) # GoogleTrendを使う
import numpy as np # Numpyを使う
import pandas as pd # Pandasを使う
!pip install japanize-matplotlib # 日本語のmatplotlibを使う
import japanize_matplotlib # 日本語のmatplotlibを使う
import matplotlib.pyplot as plt # matplotlibを使う
%matplotlib inline # matplotlibをjupyterで使う
import seaborn as sns # Seabornを使う
# KWを定義する
kw_list = ['ドコモ',"ソフトバンク","au","楽天モバイル"]
# GoogleTrendにAPI連携
pytrends.build_payload(kw_list=kw_list, timeframe='2020-01-01 2021-05-31', geo='JP')
df = pytrends.interest_over_time().reset_index()

検索数はどのくらい?

検索数
  • ドコモが検索数で1位で想定!
  • ドコモ・au・ソフトバンクの検索数は三つ巴
  • 楽天モバイルはソフトバンクの半分くらい(結構ある!?)
temp = df[["date","ドコモ","au","ソフトバンク","楽天モバイル"]].mean()
temp.plot.bar(color="red",title="検索数")

契約数と比較するとどのくらい?

契約数と検索数の比較

各社の決算資料から抜粋した「契約数」と「検索数」を同じ軸で比較しました

※どちらも最大値(ドコモ)を「1」とし指数化しています

  • ドコモと比較すると他の3社は検索数が多い
  • ソフトバンクと楽天モバイルが飛ぶ抜けて検索が多い

楽天モバイルは期待(検索数)の方が契約数より上回っていそうですね

df_2 = pd.DataFrame()
df_2["検索数"] = temp 
df_2["契約件数"] = [8099,6012,2541,410]
df_2 = df_2 / df_2.max()
df_2[["契約件数","検索数"]].plot.bar(color=("gray","red"),title="契約件数と検索数の比較")

推移はどうなってる?

検索数の推移
  • 日によっては3キャリア(ドコモ・au・ソフトバンク)の順位は前後する
  • 楽天モバイルは2021年に入って検索数を伸ばした
  • 4月に入り、各社検索は落ち着いてきている

楽天モバイルが一時期、急激に検索数を伸ばしていることが分かりますね

df[["date","ドコモ","au","ソフトバンク","楽天モバイル"]].set_index("date").plot(
    color=('red','orange','gray','deeppink'), title="検索数の推移")

ソフトバンクって球団名も入っているのでは!?

先ほど「契約数」との比較で「検索数」との開きが大きかった理由として

野球球団のソフトバンクホークスが入っているのではないかという仮説が立てられます

関連検索

こちらは関連検索の上位5キーワードを抽出した結果です

ドコモ・au・楽天モバイルは「料金」「プラン」「iPhone」などのワードが見られる一方…

ソフトバンクは想像通り「ソフトバンクホークス」が上位に来ています

ただ一位は「ソフトバンク 株価」と出ており、孫正義率いるソフトバンクグループ全体の株価も検索に影響していることが分かりました

kw_list = ['ドコモ',"ソフトバンク","au","楽天モバイル"]
pytrends.build_payload(kw_list=kw_list,timeframe='2021-01-01 2021-05-31,geo='JP')
df_3 = pytrends.related_queries()
dc = df_3['ドコモ']['top'].rename(columns={"query":"ドコモ関連検索","value":"検索数"}).head(5)
au = df_3['au']['top'].rename(columns={"query":"au関連検索","value":"検索数"}).head(5)
sb = df_3['ソフトバンク']['top'].rename(columns={"query":"ソフトバンク関連検索","value":"検索数"}).head(5)
rm = df_3['楽天モバイル']['top'].rename(columns={"query":"楽天モバイル関連検索","value":"検索数"}).head(5)
pd.concat([dc,au,sb,rm],axis=1)[["ドコモ関連検索","au関連検索","ソフトバンク関連検索","楽天モバイル関連検索"]]

やっぱり首都圏の検索が多いの!?

都道府県別に検索数を抽出して、各キャリアの中の最も検索数の大きい県を「1」としています

地域別検索
  • ドコモは「新潟県」で検索が多い
  • ソフトバンクは「福岡県」が多いが、やはりホークスの影響が大きい
  • auは「沖縄県」で検索が多い
  • 楽天モバイルは比較的「都市圏」での検索が多い

楽天モバイルは使える場所も限られているのが影響しているのか

関東・近畿・中部の首都圏で検索が多い

# 都道府県を分かりやすく並び替えるため「エクセル」を読み込んでいます
japan = pd.read_excel('/content/drive/MyDrive/Python/都道府県.xlsx',sheet_name=0)
df_4 = pytrends.interest_by_region(resolution='COUNTRY', inc_low_vol=True)
japan = pd.merge(japan, df_4, left_on='都道府県',right_on='geoName', how='left'
)[["都道府県","ドコモ","ソフトバンク","au","楽天モバイル"]].set_index("都道府県")
japan = japan / japan.max()
plt.figure(figsize=(6,12)) 
sns.heatmap(japan, annot=True, cmap="Reds", linewidths=.5)

まとめ

今回は3第キャリア(ドコモ・au・ソフトバンク)と楽天モバイルを、Google検索で分析してきました

4月に入って各社の検索が落ちているのは、代わりに格安料金プランをしらべているのかな?という仮説が立てられるので、次回は「ahamo・povo・LINEMO」についても調べてみたいと思います

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です