メインコンテンツへスキップ
実践ガイドBasic

テレビCM・オフラインメディアのMMM計測:GRPからインクリメンタルROIへ

テレビCM、OOH、ラジオなどオフラインメディアのMMM計測方法を解説。GRPデータの前処理、クロスメディアシナジー、TV最適化の実践例を紹介します。

2026/2/16分で読める7

テレビCM・オフラインメディアのMMM計測

はじめに

デジタル広告はクリックやインプレッションで効果測定が容易ですが、テレビCM・OOH(屋外広告)・ラジオ・新聞などのオフラインメディアは直接的な計測が困難です。MMMは、こうしたオフラインメディアの効果をデジタルと同一基準で評価できる唯一の手法です。

日本の広告市場において、テレビ広告費は依然として年間約1.8兆円(電通「日本の広告費2024」)を占めています。この巨額の投資の効果を正確に測定することは、マーケティングROI改善の最大の機会です。

MMMの基本は初心者向け完全ガイドを、データ準備はデータ準備ガイドをご参照ください。


テレビCMデータの準備

GRP(Gross Rating Point)とは

GRPは「延べ視聴率」で、テレビCMの出稿量を測る標準指標です:

指標定義用途
GRP番組視聴率 × スポット本数 の合計出稿量の指標
TRPターゲット視聴率ベースのGRPターゲット層への到達量
リーチ1回以上接触した人の割合到達率の指標
フリークエンシー接触した人の平均接触回数接触頻度の指標

GRPデータの前処理

import pandas as pd
import numpy as np

# ビデオリサーチ等からのGRPデータ読み込み
grp_daily = pd.read_csv("tv_grp_daily.csv", parse_dates=["date"])

# 日次→週次に集約
grp_daily["week"] = grp_daily["date"].dt.to_period("W").apply(
    lambda r: r.start_time
)

# エリア別GRPの場合、加重平均で全国値を算出
# 関東:関西:中部 = 40%:25%:15% (人口比ベース)
area_weights = {"kanto": 0.40, "kansai": 0.25, "chubu": 0.15,
                "other": 0.20}

weekly_grp = grp_daily.groupby("week").agg({
    "grp_kanto": "sum",
    "grp_kansai": "sum",
    "grp_chubu": "sum",
}).reset_index()

weekly_grp["grp_national"] = (
    weekly_grp["grp_kanto"] * area_weights["kanto"] +
    weekly_grp["grp_kansai"] * area_weights["kansai"] +
    weekly_grp["grp_chubu"] * area_weights["chubu"]
)

print(f"週次GRP統計:\n{weekly_grp['grp_national'].describe()}")

GRP vs 費用:どちらをMMMに入力すべきか

入力メリットデメリット推奨
GRP実際の到達量を反映費用→ROI変換に追加ステップ推奨
費用ROI算出が容易枠の質差を反映しない次善
TRPターゲット到達を反映データ取得コスト高理想的

実務上の推奨: 可能であればGRP(またはTRP)をメディア変数として使用し、費用データは別途保持してROI算出時に使います。これにより、「高単価・高視聴率枠」と「低単価・低視聴率枠」の効果差を正確に反映できます。


続きはBasicプランで読めます

この先の内容(詳細な分析結果・具体的な数値・施策の全容)はBasicプラン以上のメンバー限定です。

関連記事