広告代理店の業務をPythonで自動化してみた|CVR・CPM・CV単価を一括処理

広告代理店の業務をPythonで自動化してみた|CVR・CPM・CV単価を一括処理 メディアプランニング×データ分析

はじめに:Pythonは“覚えるもの”ではなく、“繰り返す作業を減らす道具”

広告やマーケティングの現場では、
日々の配信結果を集計し、レポートをまとめる作業がつきものですよね。

  • 日別のCVR(成果率)やCPM(表示単価)
  • コンバージョン単価の集計や曜日別の傾向出し

これを毎回Excelで関数を入れて…やっている方も多いと思います。
正直、それでも“なんとかなる”のも事実です。

でも、同じ作業を毎週やっていませんか?
もし、一度Pythonで自動化できれば、以降はCSVを差し替えるだけ。

「このコードさえあれば、毎回やってた集計が3秒で終わる」

そんな未来を現実にする方法を、広告代理店での実務をもとに紹介します。

今回扱うCSVデータの中身

レポートデータということで、元データの構成は非常にシンプルです。

▼ Pythonに取り込むcsvの中身👇

これだけの情報があれば、あとはPythonが全部やってくれます。

では、早速以下のコードをPythonに打ち込みcsvデータを読み取っていきます。

import pandas as pd
df = pd.read_csv("daily_ad.csv")
print(df.head())

広告指標をPythonで自動化する

csvデータのPythonへの読み込みが完了したら、次に、

  1. 日ごとの「CVR/CPM/CV単価」
  2. 週ごとの「CV合計/CV平均/CV単価平均」


を自動集計できるように、コードを追加していきます。

1. 日ごとの「CVR/CPM/CV単価」を自動集計する

打ち込むコードはこれだけ👇

# CVR(成果率)を追加
df['CVR'] = df['コンバージョン数'] / df['インプレッション数']

# CPM(表示単価)を追加
df['CPM'] = df['費用(円)'] / df['インプレッション数'] * 1000

# CV単価(成果単価)を追加
df['CV単価'] = df['費用(円)'] / df['コンバージョン数']

🔍このコードでやっていること:

指標意味
CVR成果数 ÷ インプレッション数 = 成果率
CPM費用 ÷ インプレッション × 1000 = 表示単価
CV単価費用 ÷ 成果数 = 1件あたりの獲得コスト

📌 Excelだと列追加 → 数式 → オートフィル…の手間が、Pandasだとたった3行。

2. 週ごとの「CV合計/CV平均/CV単価平均」を自動計算する

打ち込むコードはこれだけ👇

# 日付から週番号を追加
df['週'] = pd.to_datetime(df['日付']).dt.isocalendar().week

# 週ごとのCV合計・平均・CV単価平均を出す
weekly_summary = df.groupby('週').agg({
    'コンバージョン数': ['sum', 'mean'],
    'CV単価': 'mean'
}).reset_index()

🔍このコードでやっていること:

  • 各行に「何週目か」の情報をつけて、
  • groupby週単位のCV合計・平均・CV単価の傾向を算出

これにより、「CVが落ちやすい週」「CPAが急騰する傾向」など、
曜日別や週別の戦略判断の材料が一発で見えてきます。

集計後のデータをCSVで書き出す(結果保存)

ここまで集計したデータは以下のコードを打ち込むことで、
簡単に再度csvファイルとして出力することが可能です。

df.to_csv("output.csv", index=False)

フォルダ内に「output.csv」というファイルが新たに作成されているはずです。

編集長
編集長

E列以降はPythonで自動集計した数値が反映されてるね!

→ 結果をExcelに戻したり、クライアント共有用データとして活用できます。

実務でどう活きたか?代理店業務での使い方

僕が実際にこの手法を使ったのは、
ある大規模キャンペーンの日別・媒体別の効果測定をしていたとき。

Excelでの単純作業極まりない集計・分析に正直嫌気がさしていましたが、
結果的に、

  • 自動化できたので、集計が一瞬で終わる
  • 土日のCPA高騰を把握し、出稿調整でCVR改善に成功

「分析して終わり」ではなく、
“改善に直結する示唆”を作り出すためにPythonは非常に心強いツールでした。

まとめ:Excel派にこそ勧めたい、Pythonという“業務テンプレ”

  • Pythonは「覚えるもの」ではなく「一度書けばずっと使える定型処理」
  • 毎回同じ集計作業をしているなら、一度コードに落としてみる価値あり
  • あとはデータを入れ替えるだけで、集計・比較・示唆出しまで一発で完了

あなたの分析力をもっと「考える」に集中させるために
Pythonは最高のアシスタントになります。

次に読む:このあと分析を“見せる力”に変えよう

👉 Pandasでできるマーケティングデータの可視化
👉 CSVから集計・抽出する7つのPandas基本スキル
👉 CSVが読み込めないときの原因と対処法

コメント

タイトルとURLをコピーしました