Upgrade to Pro — share decks privately, control downloads, hide ads and more …

小売吸引力モデル(ハフモデル分析)による商圏分析

 小売吸引力モデル(ハフモデル分析)による商圏分析

学んだ内容をまとめた資料です。専門家ではないので自信ありません。

Masahiko Isshiki

June 23, 2023
Tweet

Other Decks in Marketing & SEO

Transcript

  1. 商圏分析とは 商圏とは、あるビジネス(店舗や、製品/サービスの販売など)が顧客を獲得できる地理 的な範囲となる「特定の地域」のこと。 商圏分析とは、特定の地域の、 • 地理的な条件: 人口密度、通勤/通学の流れ、地域の商業活動など • 顧客層: 年齢、性別、収入、ライフスタイルなど

    • 競争環境: 同業種の他のビジネスの存在、その規模、売り場面積など について調査・分析することで、その地域でのビジネスの可能性(潜在的なビジネスチャ ンスや、ビジネスの継続性・将来性・発展性など)を探ること。 これにより、 • 商品のマーケティング戦略策定:「どの地域にどんな商品が最も効果的か」 • 商業施設の立地選定:「新規店舗をオープンするなら、どこが最適か」 といった事業者の意思決定をサポートする。
  2. さまざまな商圏分析の手法 例えば以下のような多種多様な手法があり、ビジネスの特性や目的に応じて使い分ける。 • エリアマーケティング: 特定の地域(街)や地理的区画についての統計情報(人口など)や調査結果 から、その地域の市場環境や顧客の特性(つまり商圏)を把握して、マーケティング戦略を立案する こと。(自分が調査した範囲では)最も良く使われている手法 • ハフモデル分析: 店舗の魅力度(基本的に面積)と移動コスト(基本的に距離)のデータから、「ある

    店舗がどれくらいの集客が見込めるか」といった 集客力(=吸引力)を算出すること。今回紹介する 手法 • 店舗クラスター分析: AI・機械学習の手法であるクラスタリングにより、類似した特性やパターンを持 つ店舗をグループ化すること • 顧客クラスター分析: 同じくクラスタリングにより顧客をグループ化すること • 来店予測AI: AI・機械学習の手法であるランダムフォレストなどで「顧客が特定の店舗を訪れるかど うか」を分類予測すること • 人口統計学的分析:特定の地域の人口統計情報(年齢、性別、所得、教育水準など)を分析するこ と • 地理情報システム(GIS)分析: 地理的な統計データなどを地図上でビジュアル化して、地理別の特 徴を把握しやすくすること
  3. 店舗ごとの「集客力」の計算例 まず、各店舗に対し、地域ごとに、 期待集客数(=選択確率×人口数)を計算する。 例えば「店舗A」に対する「地域1」の期待集客数は、 「選択確率:29.4%」×「人口数:3000人」=882人。 次に、各店舗に対し、 集客力(=全地域分の期待集客数の合計)を計算する。 例えば「店舗A」の集客力は、 「地域1(の期待集客数):882人」+「地域2:676人」+「地域3:955人」  +「地域4:225人」+「地域5:1089人」+「地域6:558人」=4385人。

    同様に計算すると、「店舗B」=5991人、「店舗C」=9624人となり、 店舗Cは、店舗Aと比べて2.2倍、店舗Bと比べて1.6倍の集客力を持つと分かる。 地域 店舗 A 店舗 B 店舗 C 人口数 地域 1 29.4% 38.3% 32.3% 3000人 地域 2 33.8% 26.2% 40.0% 2000人 地域 3 19.1% 38.9% 42.0% 5000人 地域 4 22.5% 46.5% 31.0% 1000人 地域 5 36.3% 59.2% 4.5% 3000人 地域 6 9.3% 2.2% 88.5% 6000人 %表記の値は「選択確率」
  4. 「集客力」計算のPythonコード例 import pandas as pd df = pd.DataFrame([ [1, 0.294,

    0.383, 0.323, 3000], [2, 0.338, 0.262, 0.400, 2000], [3, 0.191, 0.389, 0.420, 5000], [4, 0.225, 0.465, 0.310, 1000], [5, 0.363, 0.592, 0.045, 3000], [6, 0.093, 0.022, 0.885, 6000] ], columns=['地域', '店舗 A', '店舗 B', '店舗 C', '人口数']) display(df) total_a = (df['店舗 A'] * df['人口数']).sum() total_b = (df['店舗 B'] * df['人口数']).sum() total_c = (df['店舗 C'] * df['人口数']).sum() print(total_a) # 4385.0 print(total_b) # 5991.0 print(total_c) # 9624.0 期待集客数(=店舗ごとの選択確率 ×人口数) 集客力(=全地域分の「期待集客数」を合計)
  5. 小売吸引力モデルの代表的な手法 小売吸引力モデルの有名な手法には、以下の3つがある(有名順)。 1. ハフモデル(Huff model): 以下の各法則の応用版。  1963年にデビッド・ハフ氏が開発。日本では修正ハフモデルが一般的  2. ライリーの小売吸引力の法則(Reilly's law

    of retail gravitation):  1931年にウィリアム・ライリー氏が開発。  応用:商圏分岐点(Breaking point)の「ライリー&コンバースの法則」 3. コンバースの小売吸引力の法則(Converse's law of retail gravitation):  1949年にP.D.コンバース氏が開発。ライリーの法則を修正したもの。 ハフモデルは店舗の商圏分析、ライリーやコンバースは街の商圏分析に使う。 (次のページからそれぞれの意味と計算方法を示す。) 現在でも、小売吸引力モデルは有用だが、クラスタリングで顧客をグループ化したり、ラ ンダムフォレストで「特定の店舗を訪れるか」の分類予測をしたりと、商圏分析でもAI& 機械学習の技術が併用されることがある。
  6. ハフモデルの計算例 小売吸引力モデルの選択確率の計算は、  「各店舗の魅力度×移動コスト」=吸引力の値で、「各店舗 ÷全店舗」の確率を計算する。 修正ハフモデルの選択確率の計算 は、  「面積×距離の二乗の逆数」=吸引力の値 で、「各店舗÷全店舗」の確率を計算すればよい。 例えば店舗Aの場合、「面積:30㎡」で「距離:2km」なので、 「30÷2のλ乗=30÷4=7.5」(※修正ハフモデルの場合は「

    λ=2」)と吸引力の値を計算し、 同様に他の店舗B「60÷5の2乗=2.4」と店舗C「150÷10の2乗=1.5」と吸引力の値を計算する。 あとは、各吸引力の値を使って 「対象の店舗の値÷全店舗の合計値」の確率 を計算すればよい。 店舗Aの選択確率は「7.5÷(7.5+2.4+1.5)=7.5÷11.4=0.658=65.8%」と計算できる。 同様に店舗Bや店舗Cの選択確率も計算でき、全ての選択確率を合計すると 100%になる。 2km 10km 5km 店舗 A(面積:30㎡) 店舗 B (面積:60㎡) (面積:150㎡)店舗 C 地域(の中心地) (選択確率:65.8%) (選択確率:21.0%) (選択確率:13.2%)
  7. import pandas as pd df = pd.DataFrame([ [1, 30.0, 60.0,

    150.0, 2.0, 5.0, 10.0], [2, 190.0, 100.0, 80.0, 10.0, 10.0, 12.0], [3, 100.0, 100.0, 140.0, 17.0, 17.0, 4.0], [4, 140.0, 130.0, 180.0, 13.0, 5.0, 10.0], [5, 170.0, 200.0, 40.0, 12.0, 15.0, 15.0], [6, 50.0, 170.0, 120.0, 3.0, 6.0, 8.0] ], columns=['地域', '面積-店舗A', '面積-店舗B', '面積-店舗C', '距離-店舗A', '距離-店舗B', '距離-店舗C']) display(df) lambda_var = 2 # 修正ハフモデルの場合 gravity_a = df['面積-店舗A'] / (df['距離-店舗A'] ** lambda_var) gravity_b = df['面積-店舗B'] / (df['距離-店舗B'] ** lambda_var) gravity_c = df['面積-店舗C'] / (df['距離-店舗C'] ** lambda_var) # 店舗A/店舗B/店舗Cの選択確率を計算して出力する selection_probability_a = gravity_a / (gravity_a + gravity_b + gravity_c) selection_probability_b = gravity_b / (gravity_a + gravity_b + gravity_c) selection_probability_c = gravity_c / (gravity_a + gravity_b + gravity_c) print(selection_probability_a) print(selection_probability_b) print(selection_probability_c) ハフモデルの「選択確率」計算のPythonコード例 各店舗の吸引力 (=「面積×距離のλ乗の逆数」) 「地域1(インデックス:0)」の選択確率は、 店舗A:65.8%、店舗B:21.0%、店舗C:13.2% 選択確率(=各吸引力の値を使って 「各店舗÷全店舗」の確率を計算)