본문 바로가기
카테고리 없음

예산 페이싱(Pacing) 알고리즘 설계: 일/주 단위 목표 달성 로직

by essay72110 2026. 2. 13.
반응형

예산 페이싱은 “돈을 균등하게 쓰는 기술”이 아니라, 목표(ROAS, CPA, 매출, 신규)를 달성하기 위해 지출 타이밍과 강도를 조절하는 제어 문제입니다. 특히 플랫폼의 학습/탐색, 요일·시간대 편차, 리포트 지연, 재고/프로모션 같은 외생 변수 때문에 단순히 ‘하루 예산=월 예산/일수’로 나누면 목표 달성률이 흔들립니다. 아래는 일/주 단위로 목표를 맞추는 페이싱 로직을 “설계 가능한 알고리즘” 형태로 정리한 실무 가이드입니다.

목표를 먼저 “제어 변수”로 번역하기
페이싱 알고리즘을 만들기 전에 목표를 명확히 분류해야 합니다. 목표에 따라 제어 방식이 달라집니다.

  1. Spend 캡 목표: “이번 주 1,000만원을 소진”
  2. 효율 목표: “CPA 2만원 이하 유지” 또는 “ROAS 120% 이상”
  3. 볼륨 목표: “신규 5,000명” 또는 “매출 3,000만원”
    실무에서는 1)과 2)를 동시에 걸고, 3)는 추정치로 관리하는 경우가 많습니다. 즉 “최대 예산 범위 내에서, 효율이 기준 이상일 때만 더 쓰고, 기준 이하이면 쓰지 않는” 형태가 기본입니다.

필수 입력값: 알고리즘이 ‘현실’을 반영하려면
페이싱은 지출을 조절하지만, 판단은 신호에 의해 이뤄집니다. 최소한 아래 신호는 필요합니다.

  • 계획 예산: 일/주/월 총액, 채널·캠페인별 최소/최대
  • 실적 지출: 당일 누적, 전일/전주, 예산 대비 진행률
  • 성과 지표: CPA/ROAS(가능하면 iROAS), 전환수, 매출
  • 신뢰도: 표본 수(클릭/전환), 리포트 지연 정도, 변동성
  • 요일/시간 가중치: “월~일, 시간대별 기댓값 곡선”
  • 운영 제약: 캠페인 학습, 최소 예산, 크리에이티브/재고 제한

이 중 요일/시간 가중치와 신뢰도(표본/지연) 없이 페이싱을 하면, 성과가 흔들릴 때마다 예산을 과도하게 흔들어 학습을 깨뜨리는 문제가 자주 발생합니다.

핵심 구조: “목표 진행률”과 “성능 게이트”의 2층 로직
실무에서 가장 안정적인 구조는 두 레이어로 나누는 것입니다.

레이어 A: 진행률 기반 Pacing(얼마나 써야 하는가)
레이어 B: 성능 기반 Gating(써도 되는가)

A는 ‘수학적으로’ 목표를 맞추고, B는 ‘비즈니스적으로’ 손실을 막습니다.

  1. 레이어 A: 일/주 목표 진행률 계산
    가장 단순한 진행률은:
  • spend_rate = 현재지출 / 목표지출
  • time_rate = 경과시간 / 총시간
  • pacing_gap = time_rate - spend_rate (양수면 뒤쳐짐, 음수면 앞섬)

하지만 모든 시간이 동일한 가치가 아니므로, 시간 대신 “기대 성과 가중치”로 경과율을 계산하는 편이 낫습니다.

요일 가중치를 적용한 예:

  • expected_weight[d] = 과거 n주 기준 요일 d의 전환 비중(또는 매출 비중)
  • expected_elapsed = Σ(오늘까지의 weight) / Σ(전체 week weight)
  • pacing_gap = expected_elapsed - spend_rate

이렇게 하면 “토/일에 성과가 잘 나오는 업종”에서 월~금에 과도하게 밀어 넣는 일을 줄일 수 있습니다.

  1. 레이어 B: 성능 게이트(효율/리스크)
    진행률만으로 밀어 넣으면 목표 소진은 되지만 효율이 망가질 수 있습니다. 그래서 ‘게이트’를 둡니다.

대표적인 게이트 조건(예시):

  • CPA 목표형: CPA_posterior_P90 ≤ CPA_target (보수적으로)
  • ROAS 목표형: P(ROAS ≥ target) ≥ 0.8 또는 최근 3일 가중 ROAS ≥ target
  • 최소 볼륨: 전환수가 너무 적으면(예: <10) 판단 보류 → 예산 변화 폭 제한

여기서 중요한 실무 포인트는 “단기 성과를 곧이곧대로 믿지 않는다”는 것입니다. 표본이 작으면 최근값의 분산이 커서 과도한 예산 스로틀링을 유발합니다. 그래서 신뢰도 기반으로 반응을 둔화시키는 장치가 필요합니다.

예산 조정 공식: 제어 문제로 보면 더 단순해진다
페이싱을 PID 제어처럼 생각하면 실무 구현이 깔끔합니다. 복잡한 수학이 아니라 구조만 가져오면 됩니다.

  • error = pacing_gap (뒤쳐짐 정도)
  • adjustment = k * error (비례 제어)
  • next_budget = base_budget * (1 + adjustment)

여기에 안전장치를 추가합니다.

  • 변화율 캡: 하루 예산 증감은 ±20% 이내
  • 최소/최대 예산: platform learning 보호(최소 집행 유지)
  • 스무딩: 최근 3일 EMA로 성과 지표 스무딩
  • 게이트 실패 시 감액 강제: 성과가 기준 이하이면 next_budget 상한을 낮춤

일 단위 예시(개념)

  • base_budget = 주간 잔여 예산 / 잔여 “가중 시간” 합
  • adjustment = 0.6 * pacing_gap (뒤쳐질수록 더)
  • if 게이트 통과: next_budget = base_budget*(1+adjustment)
  • if 게이트 실패: next_budget = min(base_budget, current_budget*0.9)

이 구조는 단순하지만, “시간 대비 뒤쳐짐”과 “성능 리스크”를 분리했기 때문에 운영이 안정적입니다.

주 단위 목표 달성 로직: 리밸런싱과 회복 전략
주간 목표는 ‘월~일’이 아니라 ‘성과가 좋은 날에 더 쓰는’ 방향으로 설계해야 합니다.

권장 패턴

  • 월~화: 탐색/학습 유지(급격한 증액 금지), 신호 수집
  • 수~목: 성능 확인 후 리밸런싱(상위 캠페인 증액)
  • 금~일: 회복/소진 구간(가중치 기반으로 집중), 단 성능 게이트 강화

회복 전략(recovery)은 “뒤쳐졌을 때 어떻게 따라잡을 것인가”입니다.

  • 뒤쳐짐이 큰데 게이트가 통과하면: 상위 성과 캠페인에 집중 증액(롱테일 증액 금지)
  • 뒤쳐짐이 큰데 게이트가 실패하면: 소진 목표를 일부 포기하고 효율 목표를 우선(손실 방지)
    이 룰을 사전에 합의하지 않으면, 주말에 무리한 소진으로 ROAS가 무너지는 일이 반복됩니다.

리포트 지연과 환불/정정(backfill) 처리
페이싱 알고리즘은 “오늘 성과”를 바로 믿으면 망합니다. 특히 SKAN, 결제 정산, 광고 플랫폼 리포트는 지연/정정이 발생합니다.

실무 대응 3가지

  1. 지연 반영 윈도우: ROAS/CPA 판단은 T-1 또는 T-2까지의 확정 구간 중심으로
  2. 추정치와 확정치 분리: 실시간 지표는 참고, 게이트는 확정치 기반
  3. backfill 재처리: 비용/매출이 정정되면 주간 잔여 예산과 pacing_gap을 재계산

캠페인 구조 관점: 페이싱은 “배분”과 붙어야 한다
전체 예산을 맞추는 것만으로는 부족합니다. 캠페인 군별로 최소/최대와 우선순위를 둬야 합니다.

권장 3계층

  • Tier 1(검증된 주력): 예산 회복/증액의 70~90%가 여기로
  • Tier 2(성장 후보): 제한된 범위 내에서 증액, 성과 안정 시 Tier 1 승격
  • Tier 3(실험): 고정 소액, 페이싱의 회복 수단으로 쓰지 않음
    이렇게 해두면 “뒤쳐질 때 아무 캠페인이나 올리다가 학습을 깨는” 문제가 줄어듭니다.

운영 체크리스트(바로 적용용)

  • 목표 우선순위 확정: 소진 vs 효율 vs 볼륨 중 무엇을 절대값으로 둘지
  • 요일/시간 가중치 산출: 최근 8~12주 전환 비중으로 시작
  • 성능 게이트 정의: 표본 최소치 + 스무딩 + 보수적 판단(P90 등)
  • 변화율 캡 적용: 하루 ±20%(또는 네 채널 특성에 맞게)
  • 리포트 지연 룰: 게이트는 T-1/T-2 확정치 중심
  • 주간 회복 전략 문서화: 뒤쳐짐/게이트 실패 시 행동 규칙

마지막으로, 좋은 페이싱 알고리즘의 기준은 “목표를 맞춘다”가 아니라 “목표를 맞추면서 학습을 깨지 않는다”입니다. 진행률(얼마나 써야 하는가)과 성능 게이트(써도 되는가)를 분리하고, 가중 시간·신뢰도·변화율 캡을 넣으면, 일/주 단위 목표 달성률과 효율 안정성이 같이 올라갑니다.

반응형