huny.log

기술 포스트 · 퍼포먼스 마케팅

MMM 입문 — 쿠키 종말 시대, 채널 기여도를 다시 측정하는 법

iOS 14.5와 서드파티 쿠키 종말 이후 MTA가 흔들립니다. 마케터가 알아야 할 Marketing Mix Modeling의 기본 개념(adstock·saturation), 그리고 보고서에서 MMM 결과를 읽는 법.

“Meta 픽셀 ROAS가 진짜 5라고요?” — 어느 순간부터 이 질문이 회의실의 단골이 됐습니다. iOS 14.5, ITP, 그리고 서드파티 쿠키 종말 이후 우리가 익숙하게 봐오던 last-click·view-through 어트리뷰션은 자꾸 어긋나기 시작했어요. 그 자리를 다시 차지하고 있는 게 MMM(Marketing Mix Modeling)입니다. 1960년대에 태어난 이 노장이 2026년 회의실에 다시 등장하는 이유와, 마케터가 결과를 읽기 위한 최소한의 개념을 정리해봅니다.

채널별 adstock 잔여 효과와 saturation 수확체감이 함께 표현된 인포그래픽
광고비를 늘려도 효과가 무한히 늘지 않고(saturation), 광고를 끊어도 효과가 며칠 더 가는(adstock) — MMM은 이 두 개의 곡선을 채널마다 따로 학습한다.

MTA가 흔들리는 이유 — 그리고 MMM이 답하는 질문

먼저 헷갈리는 둘부터 정리해요. MTA(Multi-Touch Attribution)는 사용자 한 명의 여정을 따라가며 “이 전환의 공은 어느 터치포인트에 줄까”를 묻습니다. MMM은 그보다 한 단계 위, “이번 분기 매출의 몇 %가 어떤 채널에서 왔을까”를 묻습니다.

MTA는 사용자 식별(쿠키, IDFA, hashed email)이 있어야 작동해요. 그런데 iOS 14.5(2021)에서 ATT가 도입되고, Chrome도 서드파티 쿠키를 단계적으로 죽이면서 MTA의 입력 데이터 자체가 망가졌습니다. Meta 광고 매니저의 ROAS가 갑자기 부풀어보이거나 줄어든 경험, 한 번쯤은 다 있을 거예요.

MMM은 사용자 식별이 필요 없습니다. 채널별 주간 광고비주간 매출만 있으면 모델이 돌아가요. 입력이 가벼우니 쿠키 종말의 영향을 거의 받지 않습니다. 대신 일별·캠페인별 의사결정 같은 세밀한 질문에는 약합니다. “어제 신규 캠페인 끄지 말지” 같은 결정에는 부적합해요. MTA가 망원경, MMM은 광각 렌즈라고 생각하면 편합니다.

마케터가 알아야 할 두 개념 — adstock과 saturation

MMM은 결국 회귀모델인데, 그냥 광고비를 매출에 회귀하면 안 됩니다. 광고에는 두 가지 비선형성이 있기 때문이에요. 마케터가 결과를 읽으려면 이 두 단어만 머리에 박아두면 됩니다.

adstock — 광고는 끄자마자 사라지지 않는다

오늘 100만 원짜리 유튜브 광고를 켰다가 내일 끈다고, 효과가 0이 되지는 않잖아요? 본 사람이 며칠 뒤 검색해서 들어오기도 합니다. 이 잔여 효과를 모델링하는 게 adstock(또는 carryover)입니다.

가장 단순한 모델은 기하급수적 감쇠(geometric decay)예요.

  • = 그 주에 새로 집행한 광고비
  • = decay 계수 (0~1 사이). 매주 광고 효과가 몇 %나 다음 주로 넘어가는지

decay=0.5인 캠페인이 1주차에 100을 쓰고 그 뒤 0이라면:

주차spendadstock
1주100100
2주050
3주025
4주012.5
5주06.25

광고를 끊었어도 효과가 한참 더 가는 게 보이죠. 채널별로 decay 값이 다르다는 점이 중요해요. 검색광고는 누른 그 주에 거의 끝나지만, 유튜브 브랜딩은 한 달 뒤까지 영향이 남습니다. MMM 보고서에서 “TV adstock=0.7”이라는 숫자를 보면, “TV 광고비의 70%가 다음 주에도 남아 매출을 만든다”는 뜻으로 읽으면 됩니다.

saturation — 광고비를 두 배로 써도 매출이 두 배가 되지는 않는다

100만 원 쓰다가 200만 원으로 늘리면 매출이 정확히 2배가 될까요? 절대 아니죠. 처음에는 효율이 좋지만, 점점 “이미 본 사람”한테 다시 보여지는 비율이 커지면서 수확체감이 옵니다. 이게 saturation입니다.

가장 흔히 쓰는 모델은 Hill 함수예요.

  • = (adstocked) 광고비
  • = 반응이 50%에 이르는 임계점 (반포화점)
  • = 곡선의 가파름

수식이 어렵게 보이면 한 줄 직관으로: “광고비를 처음에는 잘 받아먹다가, 어느 시점부터 무뎌진다.” 이게 전부예요.

곡선을 머리에 그려보면 세 구간이 있어요. , 인 채널을 예로 들면:

주간 광고비한계 효과의사결정
0 ~ 500만원거의 비례해서 매출 증가부어도 좋음 (좋은 구간)
500 ~ 1,000만원효율 떨어지기 시작보수적으로 증가
1,000만원 이상더 써도 거의 안 늘어남깎거나 다른 채널로

마케터가 MMM 결과로 가장 많이 보는 건 사실 이 포화점(saturation point, 곡선의 elbow)입니다. 보고서에 “saturation point ≈ 700만원”이라고 나오면, “주간 700만 이상부터는 그 채널 더 부어봤자 ROAS가 빠르게 빠진다”는 뜻으로 읽으면 돼요. “이번 분기 Meta 광고에 얼마까지 더 넣을 수 있을까?”의 답이 여기 있어요.

베이지안 MMM이 표준이 된 이유

2010년대 중반까지의 MMM은 빈도주의 OLS 회귀가 주류였는데, 2020년대에는 거의 베이지안 MMM이 표준이 됐습니다. PyMC-Marketing(파이썬), LightweightMMM(구글, JAX 기반), Robyn(Meta, R) 모두 베이지안 또는 베이지안 친화적이에요.

이유는 데이터의 본질적 한계 때문입니다. 한 회사가 가진 채널별 주간 광고비는 보통 2-3년 × 6-8개 채널 = 100-150 row 수준이에요. 변수에 비해 데이터가 너무 적습니다(저차원 회귀의 적). 여기에 OLS를 박으면 채널 간 상관관계 때문에 계수가 마구 흔들려요.

베이지안은 사전(prior)을 깔아서 이 흔들림을 잡습니다. 사전이라는 건 “우리가 이미 알고 있는 도메인 지식을 모델 입력에 끼얹는 것”이에요. 마케터 언어로 옮기면:

사전(prior)도메인 지식
채널별 효과는 양수 (HalfNormal)“광고가 매출을 깎지는 않는다”는 상식
Search adstock ~ 0.2~0.3”검색광고는 누른 그 주에 거의 끝난다”
TV adstock ~ 0.6~0.8”TV는 한 달 뒤까지 효과가 남는다”
신규 채널의 ROAS 평균은 다른 채널들 평균과 비슷hierarchical 사전

OLS는 이 모든 도메인 지식을 “데이터로만 알아내야 한다”고 가정하지만, 베이지안은 사전을 통해 “이 정도는 미리 알고 시작한다”고 모델에 알려줘요. 그래서 데이터가 적을 때도 추정치가 광기로 튀지 않습니다.

마케터가 MMM 보고서를 읽는 법

데이터팀에서 MMM 결과를 1장짜리 슬라이드로 가져왔다고 합시다. 거기에 보통 4가지가 있어요. 마케터가 각각을 어떻게 해석할지 정리합니다.

1) 채널별 기여도 (decomposition)

매출 100억 중 30억이 검색, 25억이 Meta, 20억이 유튜브, 25억이 base(자연 매출)라는 식의 막대 그래프. base 비중부터 보세요. 60% 넘으면 마케팅 기여 자체가 적은 상황(브랜드 강세 또는 광고가 안 먹히는 중)이라 더 깊이 볼 가치가 있습니다.

2) 채널별 ROAS와 신뢰구간

채널ROAS (median)90% CI비고
검색5.8[4.9, 6.7]좁은 구간 — 신뢰 가능
Meta3.2[2.1, 4.5]넓은 구간 — 분산 큼
유튜브2.4[0.8, 4.1]매우 넓음 — 데이터 부족
신규 틱톡1.9[0.3, 5.6]사전에 너무 의존, 더 봐야 함

신뢰구간이 좁을수록 그 추정을 믿을 수 있다는 게 핵심. ROAS가 높아도 구간이 0을 가로지르면 사실상 “모름”입니다.

3) Saturation 곡선 + 현재 위치

각 채널의 곡선 위에 “지금 우리는 여기 있어요” 점이 찍혀 있을 거예요.

  • 곡선의 가파른 구간에 있으면 → 더 부어도 됨
  • 무뎌지는 구간(elbow)에 있으면 → 한계 ROAS 빠르게 떨어지는 중. 신규 채널 발굴 검토.
  • 평평한 구간이면 → 광고비 깎아도 매출 거의 안 줄어듦. 깎을 후보.

4) 시뮬레이션 — “내년 예산 +10%면 매출 얼마나?”

MMM의 진짜 가치는 여기서 나옵니다. 채널별 광고비를 어떻게 재배분할 때 매출이 가장 큰지 시뮬레이션해서 권장 배분을 보여주는 표.

실무에서 부딪히는 4가지 함정

1) 입력 데이터 정합성

광고 채널별 spend는 의외로 들쭉날쭉합니다. Meta는 결제 기준, 구글은 노출 기준 spend가 다르고, 환불·캐시백·할인 쿠폰도 매출에서 빠져야 해요. MMM 결과 이상 → 99% 입력 데이터 문제라고 생각하면 거의 맞습니다.

2) 외부 변수 빠뜨리기

블랙프라이데이, 명절, 경쟁사 캠페인, 날씨 — 매출에 영향을 주는데 광고비가 아닌 변수가 빠지면 그 효과가 다른 채널에 잘못 귀속됩니다. 시즌더미·휴일 플래그·검색 트렌드 정도는 기본으로 넣어주세요.

3) 단기 의사결정에 쓰려는 시도

MMM은 주간·월간용입니다. “어제 시작한 캠페인 ROAS가 1.2인데 끌까?”는 MMM이 답할 질문이 아니에요. 그건 in-platform 측정 + 자체 incrementality test의 영역.

4) “MMM이 말하니까 맞다”의 함정

MMM은 모델일 뿐, 진실이 아니에요. 결과가 직관에 너무 어긋나면 사전을 의심하고, 입력 데이터를 의심하고, 모델 가정을 의심하세요. 베이지안 MMM이 좋은 점은 이 의심을 코드로 곧장 반영해 다시 돌려볼 수 있다는 거예요.

마치며

MMM은 새로운 도구가 아니에요. 1960년대 P&G에서 출발한, 60년 묵은 방법론이 쿠키 종말로 다시 무대에 올라온 거죠. 마케터가 직접 모델을 돌릴 필요는 없지만, adstock·saturation·신뢰구간 이 세 단어를 보고서에서 읽을 줄만 알면 의사결정의 차원이 한 단계 올라갑니다.

다음 글에서는 MMM과 짝지어 자주 쓰는 incrementality test(광고를 끄고 비교하는 실험)와, 그 결과로 MMM 사전을 보정하는 방법을 다뤄볼게요.

참고

퍼포먼스 마케팅 카테고리의 다른 글

전체 보기 →