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. 小売吸引力モデル
    (ハフモデル分析)
    による商圏分析
    マーケティングリサーチ分野の統計分析手法
    (専門家ではありません。調査した内容をまとめた資料です)
    一色 政彦

    View full-size slide

  2. 商圏分析とは
    商圏とは、あるビジネス(店舗や、製品/サービスの販売など)が顧客を獲得できる地理
    的な範囲となる「特定の地域」のこと。
    商圏分析とは、特定の地域の、
    ● 地理的な条件: 人口密度、通勤/通学の流れ、地域の商業活動など
    ● 顧客層: 年齢、性別、収入、ライフスタイルなど
    ● 競争環境: 同業種の他のビジネスの存在、その規模、売り場面積など
    について調査・分析することで、その地域でのビジネスの可能性(潜在的なビジネスチャ
    ンスや、ビジネスの継続性・将来性・発展性など)を探ること。
    これにより、
    ● 商品のマーケティング戦略策定:「どの地域にどんな商品が最も効果的か」
    ● 商業施設の立地選定:「新規店舗をオープンするなら、どこが最適か」
    といった事業者の意思決定をサポートする。

    View full-size slide

  3. さまざまな商圏分析の手法
    例えば以下のような多種多様な手法があり、ビジネスの特性や目的に応じて使い分ける。
    ● エリアマーケティング: 特定の地域(街)や地理的区画についての統計情報(人口など)や調査結果
    から、その地域の市場環境や顧客の特性(つまり商圏)を把握して、マーケティング戦略を立案する
    こと。(自分が調査した範囲では)最も良く使われている手法
    ● ハフモデル分析: 店舗の魅力度(基本的に面積)と移動コスト(基本的に距離)のデータから、「ある
    店舗がどれくらいの集客が見込めるか」といった
    集客力(=吸引力)を算出すること。今回紹介する
    手法
    ● 店舗クラスター分析: AI・機械学習の手法であるクラスタリングにより、類似した特性やパターンを持
    つ店舗をグループ化すること
    ● 顧客クラスター分析: 同じくクラスタリングにより顧客をグループ化すること
    ● 来店予測AI: AI・機械学習の手法であるランダムフォレストなどで「顧客が特定の店舗を訪れるかど
    うか」を分類予測すること
    ● 人口統計学的分析:特定の地域の人口統計情報(年齢、性別、所得、教育水準など)を分析するこ

    ● 地理情報システム(GIS)分析: 地理的な統計データなどを地図上でビジュアル化して、地理別の特
    徴を把握しやすくすること

    View full-size slide

  4. 小売吸引力モデル(ハフモデルの場合)とは
    万有引力の法則のように、各店舗の「魅力」が顧客を引き寄せていると想定するなら、
    顧客が行き先を選ぶ状況では、店舗の
    「魅力度」(=魅力の大きさ)が大事になる。
    「ある店舗の魅力度」×「移動のコスト(面倒さ、抵抗度)」で計算される
    吸引力に基づき、
    「複数の店舗の中から特定の店舗を顧客が
    選択する確率」(=選択確率)を算出するための
    確率モデルを「(小売)吸引力モデル」(重力モデル、引力モデル)と呼ぶ。
    (「魅力度」「コスト」「ハフモデル」は、9ページ以降で詳しく説明する。)
    ある「顧客」が居る場所
    ||
    仮に「ある地域の中心地」とする
    2km
    10km
    5km
    店舗 A
    (選択確率:65.8%)
    店舗 B
    (選択確率:21.0%)
    店舗 C
    (選択確率:13.2%)

    View full-size slide

  5. 選択確率×人口数で「集客力」が計算できる
    選択確率(=顧客が選択する確率)は「顧客」ごとに計算する必要がある。
    各「顧客」の住所を使うのが理想だが、プライバシー問題もあり難しいので、
    「顧客」を「地域(の中心地)」に置き換え、地域の顧客を代表させるとよい。
    例えば「杉並区」「中野区」といった市区町村の中心地を「顧客」と見なす。
    もしくは駅などの特定の地点を「顧客(の出発点)」と見なすとよい。
    小売吸引力モデルで比較対象となる「複数の店舗」は通常、全ての店舗が対象。
    ただし「複数の店舗」を「ある店舗から20km圏内」などの条件で絞ってもよい。
    各店舗の集客力を計算したい場合は、まず、店舗ごとに、
    「各地域(の中心地)における選択確率」×「人口数」=「期待集客数」
    をそれぞれの地域に対して計算する。例えば「地域1(杉並区)」「地域2(中野区)」
    といった地域ごとに、選択確率×人口数=「期待集客数」を計算する。
    次に、店舗ごとに、全地域分の期待集客数を合計=「集客力」の値を計算する。
    (次のページに具体的な計算例を示す。「選択確率」の計算方法は 9ページ以降で説明。)

    View full-size slide

  6. 店舗ごとの「集客力」の計算例
    まず、各店舗に対し、地域ごとに、
    期待集客数(=選択確率×人口数)を計算する。
    例えば「店舗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人
    %表記の値は「選択確率」

    View full-size slide

  7. 「集客力」計算の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
    期待集客数(=店舗ごとの選択確率 ×人口数)
    集客力(=全地域分の「期待集客数」を合計)

    View full-size slide

  8. 小売吸引力モデルの代表的な手法
    小売吸引力モデルの有名な手法には、以下の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&
    機械学習の技術が併用されることがある。

    View full-size slide

  9. ハフモデル /修正ハフモデル
    各店舗の魅力度と移動コストのバランスから「選択確率」を計算する手法。
    魅力度には「面積」を使うが、営業時間など複数要素を加味する場合もある。
    また、移動コストとして「距離」または「(移動にかかる)時間」を使う。
    遠いほど(もしくは時間がかかるほど)魅力度が減るようにするため、
    「距離(もしくは時間)のべき乗(変数λ:ラムダ)」を逆数にして掛け算する。
    日本では、「λ=2」つまり「距離を二乗する」計算方式を修正ハフモデルと呼ぶ。
    1973年に通産省が大規模小売店舗法に導入した際に(2000年廃止)、
    「λ=2」で計算し、それが商圏分析の手法として普及した。
    (計算方法は次のページ。)
    移動コスト:距離もしくは時間
    店舗
    魅力度:面積など
    地域(の中心地)

    View full-size slide

  10. ハフモデルの計算例
    小売吸引力モデルの選択確率の計算は、
     「各店舗の魅力度×移動コスト」=吸引力の値で、「各店舗
    ÷全店舗」の確率を計算する。
    修正ハフモデルの選択確率の計算
    は、
     「面積×距離の二乗の逆数」=吸引力の値
    で、「各店舗÷全店舗」の確率を計算すればよい。
    例えば店舗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%)

    View full-size slide

  11. 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%
    選択確率(=各吸引力の値を使って
    「各店舗÷全店舗」の確率を計算)

    View full-size slide

  12. ライリーの小売吸引力の法則
    「魅力度と移動コスト」で2つの街の吸引力を計算する手法。
    魅力度には「人口」を使う。人口なので「店舗」ではなく「街」となる。
    「面積」が「人口」に変わるだけで吸引力の計算方法は先ほどと同じ。
    λは「2」で2乗する。「人口×距離の二乗の逆数」=吸引力という計算式になる。
    これを応用して、2つの街の間でちょうど釣り合う距離を求めるのが、
    「ライリー&コンバースの法則」で、つまり商圏分岐点を算出できる。
    街Aの距離をxと置くことで、街Bの距離は「街A~Bの距離-x」となり、
    両街の吸引力が等しくなればよいので=で結んで方程式が解ける。
    移動コスト:距離
    街 B
    魅力度:人口
    商圏分岐点
    街 A
    魅力度:人口
    移動コスト
    「街A~Bの距離」- x
    x
    顧客の街(の中心地)

    View full-size slide

  13. コンバースの小売吸引力の法則
    「魅力度と移動コスト」で2つの街の吸引力を計算する手法。
    魅力度には「人口」を使う。人口なので「店舗」ではなく「街」となる。
    ただし、「顧客の街」は片方の街と同じ街となるのが先ほどと異なる。
    「顧客」がいる街への距離は0なので、便宜的に固定値で4などとする。
    吸引力の計算方法は先ほどと同じ、つまり「人口×距離の二乗の逆数」=吸引力
    という計算式になる。
    移動コスト:距離
    街 B
    魅力度:人口
    街 A
    魅力度:人口
    顧客の街

    View full-size slide