広告費の月末着地をPythonで予測する3手順

複数アカウントの予算を回していると、月末着地の読み違いは避けにくい。目視の「なんとなく足りている」という判断は、月末の予算¥18,000の残しや、逆に数日前の枠切れによる配信停止を招く。ここで示すのは、月初から昨日までの実消化からPythonで着地額を機械的に予測し、ズレを月中盤で検知する手順だ。計算式とコードの骨格は、そのまま自分のアカウントに移植できる形でまとめた。

なぜ月末着地はズレるのか

消化ペースは月内で一定にならない。土日の消化が平日の6〜7割に落ちる媒体もあれば、自動入札の学習が進む月後半で急に伸びるアカウントもある。目視だと「累計消化÷経過日数」の暗算すら曖昧になり、残り10日で微調整が効かない段階まで放置されやすい。

目視運用だった頃は、月末の消化率が94〜108%の幅でばらつき、松竹梅の予算区分ごとに¥10,000超の残し・超過が月1〜2件は出ていた。この幅を数値で先に潰すのが着地予測の役割だ。予算管理の前提はアナグラムの解説にも整理がある。

月末着地を予測する計算式

基本の式は単純だ。ブックマークして、自分の月予算に置き換えて使ってほしい。1行で書くとこうなる。着地予測額 = 月初〜昨日の累計消化 ÷ 経過日数 × 当月の総日数。

経過日数は「昨日まで」を数える点に注意する。当日は消化の途中なので分母から外す。消化率の予測は、着地予測額 ÷ 月予算 で出す。105%を超えたら枠切れリスク、95%を下回れば残しリスク、と閾値を先に決めておくと判断が速い。

具体例で確かめる。月予算¥300,000のアカウントで、経過10日の累計消化が¥110,000だったとする。着地予測額は 110,000 ÷ 10 × 30 = ¥330,000、消化率は 330,000 ÷ 300,000 = 110%になる。この時点で枠切れ側に振れているとわかり、残り20日で日予算を約9,500円まで絞れば着地を100%近くへ戻せる。経過10日で気づけば打ち手は多いが、残り3日では効かない。早期に数値化する価値はここにある。

土日で消化が偏る媒体は、経過日数と総日数を「平日換算」に置き換えると精度が上がる。土日消化を平日の0.65倍として重み付けした日数で割ればよい。Google公式のペース管理ヘルプでも、均等配信の考え方が土台になっている。

Pythonで着地予測を自動化する3手順

実装は、Google Ads APIとMeta Graph APIから日次コストを取得し、標準ライブラリだけで計算する構成にした(Python 3.12・pandas不要)。核になる流れは次の3手順だ。

  • (1)当月1日から昨日までの日次コストをAPIで取得し、合計値を出す。
  • (2)経過日数(今日の日付マイナス1)と、当月の総日数をカレンダーから取得する。
  • (3)累計 ÷ 経過日数 × 総日数で着地額、÷ 月予算で消化率を計算し、閾値を外れたアカウントだけをSlackへ通知する。

日次コスト合計をtotal、経過日数をd、総日数をD、月予算をbudgetとすれば、核心は1行に収まる。forecast = total / d * D と rate = forecast / budget の2式だ。閾値判定を足すだけで通知まで繋がる。この通知連携は、消化異常を検知する仕組みと同じレールに乗せられる(広告の消化異常をSlackに自動通知する実装を参照)。

予測が外れる3つの落とし穴

着地予測はあくまで早期警報であり、万能ではない。実運用で外した原因は、次の3つに集約された。

  • 月前半のデータで予測を過信する。経過5日未満は、1日のブレが着地額を大きく振る。最初の1週間は参考値として扱う。
  • 日予算の上限に張り付いている。上限で頭打ちのアカウントは実需要より低く着地する。均等ペース前提の式は、この上振れを読めない。
  • 自動入札の学習が途中。tCPA変更の直後は消化が乱れ、月後半で伸びやすい。学習リセット直後は予測を1日据え置く。

ズレを検知したら、残予算 ÷ 残日数で翌日以降の日予算を引き直す。この日次の予算計算の実装は、別記事の広告の日予算を自動計算するPython実装にまとめている。着地予測で「気づく」、日予算再計算で「直す」の二段構えにすると運用が安定する。

この着地予測から日予算再計算までの完全版は、noteの実践ガイドにコードごとまとめている。

予測結果を運用メモや社内報告に落とし込むなら、AIツールで下地を作ると速い。

AIスライド作成ツール「イルシル」を試してみる

まとめ

月末着地の予測は、累計消化 ÷ 経過日数 × 総日数という1行の式から始められる。目視の勘を数値の早期警報に置き換えるだけで、月末の残し・超過は着実に減る。まずは今月の自分のアカウントで、昨日までの累計から着地額を出してみることを勧める。閾値を95〜105%に置き、外れたものから手を打てばよい。

実務でそのまま使いたい人へ

本記事の手法の完全版(実際のコード・テンプレート・つまずき対処つき)は、運営者のnote(note.com/ryo_ai_hack)で公開している。実データに基づく実践ガイドをまとめて読める。

DMM 生成AI CAMP

コメント

このブログの人気の投稿

Claude Skills販売で月5万稼ぐ3ステップ実践

Claude CodeでExcel自動化副業を月5万にする手順

Difyの使い方|初心者でも10分で作れるAIアプリ入門