サロン経営ラボRefine
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー
サロン経営ラボRefine
より良い経営を探求する
データ分析実装経営ブログ

顧客の来店頻度をベースとしたキャンペーン効果分析

【一般化線形モデル(ポアソン回帰)】

by Yoshinori Inoue 2024年4月11日
written by Yoshinori Inoue 2024年4月11日
3.7K

目次

  • 1.はじめに
    • データの定義
    • データ生成
  • 2.モデル説明
    • 一般化線形モデル
    • ポアソン分布とポアソン回帰モデル
  • 3.実装
    • statsmodelsで実装
    • 分析の問題点
    • ベイジアンポアソン回帰モデルの実装
  • 参考文献
    • マーケティング・モデル 第2版 (Rで学ぶデータサイエンス 13) 
    • Bayesian Modeling and Computation in Python (Chapman & Hall/CRC Texts in Statistical Science) 

3.実装

statsmodelsで実装

pythonのstatsmodelsを使用して上記の美容室データ(仮)のポアソン回帰を実行したいと思います。

コードは以下です。

import statsmodels.api as sm
import statsmodels.formula.api as smf

# ポアソン回帰モデルの構築
formula = 'visits ~ campaign + age + gender'
poisson_model = smf.glm(formula=formula, data=data, family=sm.families.Poisson()).fit()

かなりあっさりですね。(笑)

以下で、分析の結果からキャンペーンの効果があったと言えるのかどうか、表示しています。


# 結果の表示
print(poisson_model.summary())

# キャンペーンの効果(β1)の抽出と解釈
beta_1 = poisson_model.params['campaign']
p_value = poisson_model.pvalues['campaign']

print(f"キャンペーンの効果 (β1): {beta_1}")
if p_value < 0.05:
    print(f"キャンペーンは統計的に有意な効果があります (p値={p_value})。")
else:
    print(f"キャンペーンの効果は統計的に有意ではありません (p値={p_value})。")

# クライアントに提供する示唆
if beta_1 > 0:
    insight = "キャンペーンは顧客の来店回数を増加させる効果があると示されています。"
elif beta_1 < 0:
    insight = "キャンペーンは顧客の来店回数を減少させる効果があると示されています。"
else:
    insight = "キャンペーンによる明確な効果は見られません。"

print(f"クライアントへの示唆: {insight}")

キャンペーンが来店回数に対して効果ありという結果になりました!

つまり、キャンペーンをやっている方がその期間の顧客の来店を促進した、ということですね。

分析の問題点

今回の分析を実践で使用するには、データが少なかったり、いろいろ問題があります。

例えば、キャンペーンバイナリデータ以外の説明変数で目的変数である来店が完全に近い状態で説明できていない限り、このキャンペーン効果を”うのみ”にするのは危険である、と言えます。

この問題は、省略変数バイアス(Omitted Variable Bias)と言われます。

省略変数バイアスは、モデルが重要な説明変数を省略しているときに生じ、推定されたパラメータが真の値から偏ってしまう原因となります。

省略された変数がモデルの他の説明変数と相関している場合、このバイアスは特に顕著になります。

したがって、キャンペーンの効果を分析する際には、以下の点を考慮する必要があります

  1. 重要な説明変数の特定:来店頻度に影響を与える可能性があるすべての変数を特定し、モデルに含める。例えば、顧客の属性、季節や曜日の効果、過去のマーケティング活動、経済状況などが含まれる場合がある。
  2. 統計的手法の利用:省略変数バイアスの影響を緩和するために、手法の選択やモデルの仕様を慎重に検討。たとえば、固定効果モデルやランダム効果モデルを用いて、時間にわたる個々の変動や不観測の要因を捉えることができる。
  3. 感度分析:異なるモデル仕様で分析を実施し、推定結果がどの程度一貫しているかを確認する。また、重要な変数をモデルから除外した場合の影響を評価することも有用。

キャンペーンの効果を推定する際には、これらの点を考慮して慎重に分析を行い、モデルの結果を解釈する際には潜在的な限界や仮定を明確にすることが重要です。

また、このような効果検証には因果推論などの手法を用いるのも良いと思います。

でも今回はとりあえず使ってみようということで、ポアソン回帰を使って分析してみました。

ここでついでに、今回のモデルのベイズ版も実装してみようと思います。

ベイジアンポアソン回帰モデルの実装

モデルの定義とMCMCによるサンプリングを行います。

with pm.Model() as model:
    # 切片と傾斜の事前分布
    intercept = pm.Normal('intercept', mu=0, sigma=10)
    beta_campaign = pm.Normal('beta_campaign', mu=0, sigma=10)
    beta_age = pm.Normal('beta_age', mu=0, sigma=10)
    beta_gender = pm.Normal('beta_gender', mu=0, sigma=10)
    
    # λの計算
    lambda_ = pm.math.exp(intercept + beta_campaign * df['campaign'] + beta_age * df['age'] + beta_gender * df['gender'])
    
    # 観測データの尤度関数
    observations = pm.Poisson('observations', mu=lambda_, observed=df['visits'])
    
    # MCMCサンプリング
    trace = pm.sample(draws=2000, tune=200, chains=4, return_inferencedata=True)

サンプリングできたので、結果を出力してみましょう。

az.plot_trace(trace, figsize=(13,15))
az.summary(trace)
pm.model_to_graphviz(model)

r-hatも良い感じで、きれいに収束していそうですね。

\(\beta1\)の平均も0.826で来店に正の影響をもたらしていることが確認できます。

以上、美容室経営におけるキャンペーン効果分析(ポアソン回帰偏)でした!

参考文献

マーケティング・モデル 第2版 (Rで学ぶデータサイエンス 13) 

里村卓也(著)


Bayesian Modeling and Computation in Python (Chapman & Hall/CRC Texts in Statistical Science) 

Osvaldo A. Martin (著), Ravin Kumar (著), Junpeng Lao (著)

ページ: 1 2

経営美容室
previous post
売上高の時系列分析(2)
next post
顧客特性をグループ化して適切なアプローチを考える

You may also like

サロン経営ノート...

2024年8月29日

サロン経営ノート...

2024年8月11日

サロン経営ノート...

2024年7月27日

顧客特性をグルー...

2024年4月12日

売上高の時系列分...

2023年11月28日

売上高の時系列分...

2023年11月22日

美容室の新メニュ...

2023年11月18日

美容室の売上高を...

2023年11月14日

美容室の顧客離反...

2023年11月10日

Category search

【Author】

井上 慶典

Yoshinori Inoue


株式会社Nfractal(美容室)代表取締役

経営コンサルタント

専門分野


経営戦略

マーケティング分析

論理思考

興味関心


機械学習

ベイズ統計学

経営全般

保有資格


美容師

管理美容師

統計検定準1級

ビジネス統計スペシャリスト

最近の投稿

  • 「現代数理統計学の基礎」(久保川著) 2章の演習問題を解いてみる
  • サロン経営ノート(ロジカルシンキング編)―論理的思考を深める―
  • サロン経営ノート(経営戦略編)―中小企業の負けないための戦い方―
  • 確率分布(probability distribution)曼荼羅
  • サロン経営ノート(分析編)―データ分析をどう活用できるか―
  • Facebook
  • Linkedin
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー

@2019 - All Right Reserved. Designed and Developed by PenciDesign

サロン経営ラボRefine
  • ホーム
  • 当サイトについて
    • 当サイトの説明
    • 管理人自己紹介
    • 経営とコンサルティングについて
  • 経営ブログ
    • データ分析実装
    • 経営戦略
    • 人事・労務
  • 学習ブログ
    • 経営戦略(学習)
    • データ分析(学習)
    • マーケティング(学習)
    • 財務・会計(学習)
  • 書籍レビュー
    • 経営戦略(書籍)
    • データ分析(書籍)
    • マーケティング(書籍)
    • 財務・会計(書籍)
  • お問い合わせ
    • お問い合わせ
    • プライバシーポリシー