02

3년의 감을 구조로 바꾸는 방법

ROAS를 4개 변수로 분해하고, 7단계 진단 흐름을 만들다.

2026.04.15

퍼포먼스 마케터로 3년을 일했다. 구매 CPA가 오르면 지출과 구매 횟수를 보고, CVR을 확인하고, 소재별·세그먼트별로 내려가면서 가설을 세우고 대응해왔다. 경험이 쌓이면서 어디를 봐야 하는지 무엇을 해야 하는지 감이 생겼다.

그러면서 이런 생각이 들었다. 이 감을 보다 규격화된 무엇으로 만들 수 있지 않을까? 감에 의존한 나의 지금까지의 최적화가 놓친 부분이 분명히 있었을 것이다. 내가 생각하는 방식을 엄격하게 검증하고, 지금껏 생각지도 못한 시각을 결합한다면 성과 개선을 위한 더 나은 프레임워크를 만들 수 있지 않을까?

그래서 만들기로 했다.

// 시작은 AI 에이전트였다

광고 성과를 분석하는 AI 에이전트를 개선하고 있었다. 플랫폼 데이터를 통째로 넣고 해석을 맡겼는데, 해석이 매번 달랐다. 같은 숫자를 매번 다른 식으로 읽어냈다.

몇 번의 시행착오 끝에 알게 됐다. AI 해석의 앞단에 확정적으로 계산할 수 있는 것을 먼저 처리해서 넘기면, 출력이 일관되고 유용해진다는 것.

그러면서 궁금증이 생겼다. 두 기간 사이에 ROAS 또는 CPA가 변했을 때, 무엇이 얼마만큼의 영향을 주었는지 정확히 알 수 있는 방법은 없을까?

있었다. Logarithmic decomposition. 곱셈 구조의 지표를 로그로 분해하면, 각 변수의 기여도를 수치로 산출할 수 있다. 금융과 에너지 경제학에서 오래전부터 쓰이던 방법이었다.

ROAS를 예로 들면, 네 개의 변수로 분해된다.

ROAS = (AOV × CTR × CVR) / CPM × 1,000

두 기간의 ROAS를 위 식의 형태로 전개한 뒤, 각 요소의 비율에 로그를 취하면 곱셈이 덧셈으로 바뀐다. 전체 변화에 대한 각 변수의 영향을 수치로 나누어 볼 수 있다.

이전에는 "CPM 상승이 성과 하락의 주요인인 것 같다"였다면, 이제는 가령 "ROAS 하락의 42.9%는 CVR, 42.5%는 CPM이 영향을 주었다"와 같이 말할 수 있게 됐다.

이 발견으로 어렴풋이 생각만 해왔던 프레임워크가 더 분명히 보이기 시작했다. 이젠 정말 만들어볼 수 있겠다는 확신이 생겼다.

// 프레임워크를 만들기 시작했다

우선 나의 감을 정리했다.

CPA가 오르면 무엇을 확인해야 하는지. CVR이 떨어지면 어떤 가설을 세워야 하는지. 소재 피로도가 의심되면 어떤 액션을 취해야 하는지. 오디언스가 포화되면 어디를 봐야 하는지. CPM이 치솟으면 무엇이 원인인지. 3년간의 감을 표로 만들었다. 문제, 근거, 행동의 표. 문제는 "무엇이 잘못됐는가", 근거는 "왜 그렇게 판단하는가", 행동은 "무엇을 하는가."

그 다음 다시 이 표를 두 가지 기준으로 정리했다.

하나는, 각 행동이 어떤 변수를 움직이는가. ROAS는 AOV, CTR, CVR, CPM 네 변수로 구성되고, CPA는 그중 CTR, CVR, CPM 세 변수로 구성된다. 성과 개선을 위한 대부분의 행동은 결국 이 변수들 중 하나 이상을 움직이는 것이다. 그렇기에 어떤 행동이 어떤 변수에 영향을 주는지를 아는 것은 효과를 정량적으로 측정하는 데 필수적이다.

다른 하나는, 어디서 하는 행동인가. 매체 안에서 할 수 있는 것 — 예산, 입찰, 오디언스, 소재, 지면, 캠페인 구조. 매체 밖에서 하는 것 — 랜딩페이지, 상품 구성, 가격, 페이지 UX, 재고. 이걸 나눈 이유는 실행 비용이 다르기 때문이다. 매체 안은 마케터가 대시보드에서 바로 실행할 수 있다. 매체 밖은 다른 조직의 협력이 필요하고, 시간과 비용이 더 든다.

표가 정리되니 부족한 부분이 보이기 시작했다.

광고 데이터는 결국 정형 데이터(tabular data)다. 다른 분야에서는 이런 데이터를 어떻게 다루는가? AI와 함께 여러 세션에 걸쳐 다양한 분야의 분석 방법을 탐색했고, 실제 과거 광고 데이터에 적용해보며 걸러냈다. 효과가 있으면 채택했고, 맞지 않으면 왜 맞지 않는지 다시 파고들었다. 금융, 역학, 통계학에서 가져온 몇 가지 방법이 표의 근거 칸에 자리를 잡았다.

"소재 피로도가 높아진 것 같다"에는 빈도와 CTR의 관계를 수치로 확인하는 수식이 더해졌고, "예산을 줄여야 할 것 같다"에는 한계 수익률 곡선에서 현재 위치를 산출하는 근거가 더해졌다.

표가 보강되니 이제 남은 건 하나였다. 이 내용들을 체계적으로 적용하기 위한 일종의 순차적 흐름.

// 개선의 흐름

앞에서 만든 표가 문제, 근거, 행동의 목록이라면, 이 흐름은 그 목록을 실제 상황에 적용하는 순서다.

측정 점검 → 신호 감지 → 위치 특정 → 원인 진단 → 의사결정 → 실행 → 검증

이 흐름은 코드가 실행하고, 마케터는 해석하고 판단하는 구조를 염두에 두고 설계했다. 그래서 각 단계마다 필요하다면 수치적 검증을 빈틈 없이 넣었다. 그 과정에서 표만으로는 답할 수 없는 질문들이 생겨났다.

측정 점검 — 분석 전에 데이터의 정합성부터 확인한다. 정합성이 어긋난 케이스들, 즉 픽셀이 작동하지 않았거나 어트리뷰션 윈도우가 변경되었다면, 확신에 찬 오답에 도달하기 때문이다.

신호 감지 — 무엇이, 얼마나, 어떤 형태로 변했는가. 갑자기 꺾였는지, 서서히 빠지는지, 주기적인지. 형태가 다르면 원인이 다를 수 있다. 또, 여기서 새로운 개념을 도입해야 했다. 이 하락이 단순한 노이즈인지, 진짜 대응이 필요한 상황인지? 표본 크기와 과거 패턴을 결합해서 이를 판별하는 구조를 넣었다.1 예를 들어 어제 CVR이 3.0%에서 2.7%로 떨어졌더라도, 과거 변동폭과 표본 크기를 함께 보면 실제 하락이 아니라 노이즈일 수 있다.

위치 특정 — Logarithmic decomposition을 활용해 어떤 변수가 얼마나 영향을 주었는지 산출한다. 캠페인 → 광고세트 → 광고 단위로 좁혀간다. 여기서도 새로운 개념을 도입해야 했다. 개별 캠페인의 성과가 떨어진 건지, 캠페인 간 예산 비중이 바뀌어서 전체 평균이 내려간 건지. 이 둘은 숫자만 보면 똑같지만 완전히 다른 문제다. 예를 들어 A 캠페인의 CVR은 5%, B 캠페인의 CVR은 2%라고 하자. 두 캠페인의 CVR이 각각 그대로여도, 예산이 A에서 B로 이동하면 계정 전체 CVR은 떨어진다. 캠페인 자체의 효율이 변한 게 아니라 예산 구성이 바뀌어서 평균이 나빠 보이는 상황이다. 이를 판별할 수 있는 구조를 넣었다.2

원인 진단 — "어디"를 알았으니 "왜"를 찾는다. 이 단계가 가장 어려웠다. "소재 피로도가 높아진 것 같다"는 감이지, 근거가 아니다. 진단, 즉 문제의 원인을 찾는 과정 자체를 검증하는 체크리스트를 만들었다. 여기서 앞에서 만든 표의 근거들이 실제로 쓰였다. 원인이 결과보다 먼저 발생했는가. 원인의 정도가 커질수록 영향도 커지는가. 원인을 제거하면 결과도 사라지는가. 알려진 메커니즘인가. 네 가지 중 3개 이상 통과해야 근거 있는 진단으로 인정한다.3

또한 원인은 보통 하나가 아니다. 소재 피로가 주 원인이어도, 오디언스 포화와 시즌 CPM 상승이 동시에 겹쳐 있을 수 있다. 주 원인만 고치면 일부만 회복된다.4

의사결정 — 원인을 알았다고 바로 행동하지 않는다. 확신이 높아도, 되돌릴 수 없는 변경이라면 테스트가 선행되어야 한다. 원인 진단의 확신 수준, 되돌릴 수 있는지, 영향 범위, 비용. 네 가지를 교차해서 지금 실행할지, 소액으로 테스트할지, 더 조사할지, 기다릴지를 정한다.

실행 — 행동 전에 기록한다. 뭘 하는지, 왜 하는지, 효과가 언제쯤 나와야 하는지. 그리고 중단 기준을 미리 정한다. "이 지표가 N일 안에 개선되지 않으면 되돌린다." 기준 없이 실행하면, "좀 더 기다려보자"를 끝없이 반복하게 된다.

검증 — 성과가 개선되었거나 더 하락했다면, 행동과 변화 사이의 인과를 검증한다. 가장 중요한 건 재현 가능한 성장이다. 그래서 정말 내가 한 행동이 영향을 미쳤는지 확인해야 한다. 어쩌면 개선이 시즈널리티의 영향일 수도 있고, 경쟁사가 광고 시장에서 일시적으로 철수했기 때문일 수도 있다. 이상적으로는 A/B 테스트, 그게 어렵다면 전/후 비교로라도. 행동과 변화의 인과를 검증하지 않으면, 확신에 찬 오답을 얻게 되는 셈이다.

위 흐름은 고정된 것은 아니다. 현실의 상황, 매체의 변화에 따라 유동적으로 바뀔 수 있다.

// 다음 단계

다음 단계는 이 흐름을 실제로 동작하는 시스템으로 만드는 일이다. 매일 아침 광고 데이터를 자동으로 수집하고, 분해를 실행하고, 이상 신호를 감지해서 마케터에게 전달하는 구조. 마케터가 대시보드를 열기 전에 예컨대 "어제 ROAS가 떨어졌다, CVR이 42.9%의 영향을 주었다, 소재 피로 패턴이 감지됐다"와 같은 정보가 와 있는 상태. 설계는 끝났고, 남은 건 구현과 실전 검증이다.

이 시스템의 진짜 가치는 팀에서 쓰일 때 드러난다. 사람이 바뀌어도 분석의 일관성이 유지되고, 누군가의 감이 아닌 공유 가능한 구조 위에서 판단이 쌓인다는 점이다. 3년의 감을 구조로 바꿨다. 이제 그 구조를 실전에서 검증할 차례다.

// Footnotes

  1. Bayesian inference — 통계학에서 사전 확률과 관측 데이터를 결합해 사후 확률을 갱신하는 방법.

  2. Mix shift — 개별 세그먼트는 변하지 않았는데 전체 평균이 변하는 현상.

  3. Bradford Hill criteria — 역학에서 인과 관계를 판단할 때 사용하는 기준. 핵심 4가지(시간 순서, 용량-반응, 가역성, 개연성)를 차용.

  4. Swiss Cheese Model — 조직 사고 분석에서 쓰이는 다중 원인 분석. 여러 원인이 동시에 겹칠 때 문제가 발생한다는 관점.

3년의 감을 구조로 바꾸는 방법

목록으로

© 2026 Johnny Noh

built with MDX