今回はKaggleの
マーケティング用データを
覗いてみました。
解説動画はこちら
kaggle のサンプルデータを用いて分析をしてみよう
生成AI系の登場で、単純なプログラマーや
開発系エンジニアの需要が急落しています。
でも、マーケターの需要はまだ有ると思うので
ということで、早速マーケティング用の
分析手法を体験するコードを動かしてみましょう。
ここから先は
Google Colab で実行する事ができます。
試したい方は、colabでコードをコピペして
試してみてください。
データセットのダウンロード先
Kaggleのリンク
こちらのサイトからダウンロードできます
Google アカウントなどでログインが必要ですが
ダウンロードしてCSVファイルを手元に保存してください。
配置できたら次のコードで
データを読み込みしましょう。
CSVファイルを読み込みしてPandasデータフレームにする
データのプレビューは次のコードです
pandasデータフレームでは
数値型の統計量を見るメソッド describe があります。
これで数値カラムの統計量を算出してみてみましょう。
1.数値データをヒストグラムにする
Seabornライブラリの histplot でヒストグラムを描画する
もっとマーケティング X プログラミング を学びたい方は
この先の講座を検討中につき、それをお待ちください!!!
それでは。
マーケティング用データを
覗いてみました。
解説動画はこちら
マーケティングデータを使ってデータ分析してみよう
kaggle のサンプルデータを用いて分析をしてみよう
生成AI系の登場で、単純なプログラマーや
開発系エンジニアの需要が急落しています。
でも、マーケターの需要はまだ有ると思うので
データ分析とかが出来るようになった方が
仕事の幅が増えるんじゃ無い?
仕事の幅が増えるんじゃ無い?
ということで、早速マーケティング用の
分析手法を体験するコードを動かしてみましょう。
ここから先は
Google Colab で実行する事ができます。
試したい方は、colabでコードをコピペして
試してみてください。
データセットのダウンロード先
Kaggleのリンク
こちらのサイトからダウンロードできます
Google アカウントなどでログインが必要ですが
ダウンロードしてCSVファイルを手元に保存してください。
サンプルデータの概要
架空の企業による
架空の広告キャンペーンの出稿データのようです
架空の広告キャンペーンの出稿データのようです
企業情報: 複数の架空企業
• キャンペーン形式: メール・SNS・インフルエンサー・ディスプレイ広告・検索広告など
• ターゲット層: 年齢・性別で区分されたオーディエンス
• チャネル利用: SNS、YouTube、Google Ads、メールなど複数可
• 成果指標:
• Conversion Rate(CVR):成果への転換率
• Clicks , Impressions(CTR):クリック・表示回数
• Acquisition Cost , ROI:獲得単価・投資利益率
• Engagement Score:1〜10段階のエンゲージメントスコア
• 時系列データ: キャンペーン実施日あり
• 地理情報・言語: 主要都市と多言語対応(英・西・仏・独・中)
ライブラリのインポート
データを読み込みするには以下のライブラリを
先に読み込みする必要があります。
データを読み込みするには以下のライブラリを
先に読み込みする必要があります。
pandas : データフレームというデータ型を扱うためのライブラリ
seaborn : 詳細な可視化をするためのライブラリ
matplotlib : 可視化用の基本ライブラリ
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt
データの読み込み
ライブラリを読み込みできたら
次はデータの配置です。
ダウンロードしたファイルをデータ置き場に置く
colabのメニューの左側に
「フォルダ」マークがあるので
フォルダを開いて、その中にドラッグで
データを配置できます。
ライブラリを読み込みできたら
次はデータの配置です。
ダウンロードしたファイルをデータ置き場に置く
colabのメニューの左側に
「フォルダ」マークがあるので
フォルダを開いて、その中にドラッグで
データを配置できます。
配置できたら次のコードで
データを読み込みしましょう。
CSVファイルを読み込みしてPandasデータフレームにする
import pandas as pd
データフレーム変数名 = pd.read_csv(ファイルパス)
# サンプルデータの読み込み import pandas as pd file_path = "marketing_campaign_dataset.csv" df = pd.read_csv(file_path)
データのプレビューは次のコードです
# データのプレビュー df.head(3)
データを加工する
データ分析では正しい形にデータを補正する必要があります。
今回は下記のデータ加工を行います。
データ分析では正しい形にデータを補正する必要があります。
今回は下記のデータ加工を行います。
1.数値になっていないカラムを数値に変換
2.不要な数値IDカラムを文字列に変換
.astype(データ型)
.replace("正規表現検索" "変換後の文字列", regex=True)
.str.replace("変換前の文字列","変換後の文字列")
・顧客獲得単価(Cost Per Acquisition)
# データの加工を行う df["Campaign_ID"] = df["Campaign_ID"].astype(str) df["Acquisition_Cost"] = df["Acquisition_Cost"].replace("[\$,]", "", regex=True).astype(float) df["Duration"] = df["Duration"].str.replace(" days","").astype(float)
今データに無い指標を作る
データから、別のデータを作成することもできます。
今回のデータにはCTR,CPAの項目がないので
新たに作成してみましょう。
データから、別のデータを作成することもできます。
今回のデータにはCTR,CPAの項目がないので
新たに作成してみましょう。
・クリックレート(CTR)
クリック数 / インプレッション数
・顧客獲得単価(Cost Per Acquisition)
獲得コスト / クリック数
# 新しい指標カラムを作成する df["CTR"] = df["Clicks"] / df["Impressions"] df["CPA"] = df["Acquisition_Cost"] / df["Clicks"]
数値データの統計量を見る
pandasデータフレームでは
数値型の統計量を見るメソッド describe があります。
これで数値カラムの統計量を算出してみてみましょう。
# 統計量を算出する df.describe()
ここから、データ分析用のサンプルコードを見ていきましょう
(おさわりだけが)
(おさわりだけが)
1.数値データをヒストグラムにする
Seabornライブラリの histplot でヒストグラムを描画する
# 数値型のカラムのみ抽出 numeric_cols = df.select_dtypes(include='number').columns # カラムごとに個別プロット for col in numeric_cols: plt.figure(figsize=(8, 4)) sns.histplot(df[col], bins=30, kde=True) plt.title(f"Histogram of {col}") plt.xlabel(col) plt.ylabel("Frequency") plt.tight_layout() plt.show()
2.チャネル別パフォーマンス分析
チャネル別でConversion_Rate,ROI,Acquisition_Costを集計して
matplotlob で棒グラフで描画する
# チャネルごとの平均CVR・ROI・Acquisition_Costを集計 channel_stats = df.groupby("Channel_Used")[["Conversion_Rate", "ROI", "Acquisition_Cost"]].mean().reset_index() # 可視化(棒グラフ) plt.figure(figsize=(12, 5)) sns.barplot(data=channel_stats, x="Channel_Used", y="Conversion_Rate") plt.title("Chanel AVG Conversion Rate") plt.xticks(rotation=45) plt.tight_layout() plt.show()
3.キャンペーンタイプ別のROI比較(箱ひげ図)
Seabornライブラリの boxplot で箱ひげ図を描画する
# ROIの分布をキャンペーンタイプごとに比較 plt.figure(figsize=(10, 6)) sns.boxplot(data=df, x="Campaign_Type", y="ROI") plt.title("Campaign_Type ROI distribution") plt.xticks(rotation=45) plt.tight_layout() plt.show()
4.ターゲット × セグメントごとのCVR比較
Seabornライブラリの heatmap でヒートマップを描画する
# ピボットテーブルで平均CVRを可視化 pivot = df.pivot_table(values="Conversion_Rate", index="Target_Audience", columns="Customer_Segment", aggfunc="mean") # ヒートマップで表示 plt.figure(figsize=(12, 6)) sns.heatmap(pivot, annot=True, fmt=".2f", cmap="Blues") plt.title("Target ×Segment Conversion Rate") plt.tight_layout() plt.show()
5.CTR・CVR・CPAの統合評価
Seabornライブラリの scatterplot で
散布図を描画する
# 散布図でCTRとCVRの相関を視覚化(CPAでサイズ分け) plt.figure(figsize=(10, 6)) sns.scatterplot(data=df, x="CTR", y="Conversion_Rate", size="CPA", hue="Channel_Used", sizes=(20, 200), alpha=0.7) plt.title("CTR vs Conversion Rate(dots=CPA)") plt.tight_layout() plt.show()
おわりに
マーケティング活動もプログラミングができると
より大量のデータ量を扱え、もっと多彩な分析手法も
取り入れる事ができるようになります。
より大量のデータ量を扱え、もっと多彩な分析手法も
取り入れる事ができるようになります。
もっとマーケティング X プログラミング を学びたい方は
この先の講座を検討中につき、それをお待ちください!!!
それでは。
コメントする