レイフロンティア株式会社では、SilentLogを介して蓄積されたユーザのライフログを用いて、ユーザの睡眠時間や利用路線、旅行回数を推定する機能を開発しています。この推定結果はペルソナの設定に活用でき、顧客像をより理解することに役立ちます。
では、どのようなロジックで機能を開発しているか、具体例を挙げて紹介します。
国内旅行回数の推定
★ 旅行回数の定義
皆さんはどの程度の頻度で、日本国内を旅行されるでしょうか?人によって、年に数回と少なめであったり、月に3回と多めであったりするかもしれません。
改めて「旅行」という言葉の定義を考えてみます。旅行とは一時的に家を離れて他の土地へ行くこと、旅行回数はその頻度です。
ここで、旅行回数=旅行日数ではないことに注意して下さい。例えば、3日連続で旅行しても、それは1回の旅行としてカウントします。
以上の前提から、当社では推定すべき旅行回数を以下のように定義しました。
-----------------------------------
・生活圏(自宅と職場の距離)を超えて移動すれば、旅行したとみなす
・旅行した日が連続していれば、その複数日を1回の旅行としてカウントする
-----------------------------------
職業や働き方によっては、生活圏が狭いユーザも存在します。例えば、生活圏が3km未満のユーザの場合、5km移動すれば旅行したとみなされます。旅行の定義にそぐわない、違和感を感じませんか?
この違和感を解消するために、生活圏に係数をかけた距離を超えて移動すれば、旅行したとみなすようにします。この係数は、アンケート回答ユーザの職業別平均距離を計算し、その平均距離ごとに決定します。
★ 旅行回数推定の仕組み
機械学習モデルを使って、ある月の旅行回数を推定します。このモデルには、次のデータを入力として投入します。
-----------------------------------
・推定したい月の1ヶ月〜3ヶ月前の旅行回数
・推定したい月の3ヶ月前の歩数
-----------------------------------
そして、このモデルは、ある月の旅行回数を0回または1回以上として出力します。0回または1回以上という数字は、一般的な旅行回数の感覚と合わせています。以下のグラフをご覧下さい。
これは、ユーザアンケート「1年間に何回旅行したか?」の回答結果です。最もユーザ数の多い旅行回数は1回、続けて0回です。旅行回数0回から4回までのユーザ数は、全体の80%を超えています。このことから、毎月旅行するユーザは僅かである(=0回)と言えます。
以上から、1年間に複数回旅行しない傾向を読み取れます。ということは、1ヶ月に複数回旅行する可能性も低い、つまり、旅行したか/しなかったか、の2値で考えることができます。
また、モデルは最終的に、SVM(サポートベクタマシン)で作成しました。SVMは機械学習アルゴリズムの一つです。分類と回帰モデルを作成できますが、ここでは分類モデルを作成しました。
SVMはまず、データを分離しやすいようカーネル法で空間を変換します。そして、マージン(分離線の幅)を最大化するようモデルを作成します。マージン最大化は、モデルの汎化能力を高める効果があります。
以上が、当社で開発中のサービスの一つ「国内旅行回数の推定」の概要です。ある月の旅行回数が分かれば、キャンペーンを行う、広告を掲示するなどの具体的な施策へとつなげられます。ぜひ当社のサービスをご利用ください!