본문 바로가기

Study/ML&DL

[Meridian 활용기] 3-1. Pre-modeling: 데이터 구조 이해와 입력 설계하기

목차
1. 개요
2. 필수 입력 데이터 구성 요소
3. 예시 데이터set
4. 추가 고려사항 및 모범 사례

1. 개요

이번 글에서는 input 데이터 구조에 대해서 알아보고자 한다.

모델링에서는 비즈니스 목적에 맞는 적절한 변수와 구조를 설계하는 것이 중요하다. Garbage In Garbage Out이라는 말이 있듯, 잘못된 데이터 입력은 잘못된 결과물 만들기에 정확한 예측 결과를 만들어내기 위해서는 어떤 데이터를 활용해야할지 알아보자

출처 : https://www.westcoastinformatics.com/news/medical-datas-garbage-in-garbage-out-challenge-nhfc8


2. 필수 입력 데이터 구성 요소

Meridian에 필수적으로 들어가는 요소들과 주의 사항을 알아보자

항목 설명 필수/선택
time 날짜 정보(YYYY-MM-DD, 주간 권장) 필수
geo 지역 구분자(ex.서울, 부산 등 최소 2~3개 이상) 필수
media_spend 채널 별 광고비
(ex.channel1_spend, channel2_spend)
필수
kpi 예상 목표(전환수, 매출 등, 음수 불가)  필수
revenue_per_kpi KPI당 수익(KPI가 이미 매출이면 생략 가능) 선택
population 지역 별 인구수(지표 정규화 및 계층적 분석에 필수) 필수
controls 혼동요인(검색량, 경쟁사 활동 등) 권장
reach/frequecny 도달/빈도(비디오, 디스플레이 광고 등에서 유용) 선택
organic_media 오가닉 미디어(뉴스레터, 블로그 등) 선택
non_media_treatments 비미디어 개입(프로모션 개격 등) 선택
👉🏻 Meridian 데이터 요구사항 및 사전 준비 상세 가이드
더보기

1. 시간 데이터

- 권장 형식 : 주간 데이터 - 노이즈와 정보량 사이의 최적 균형
- 대안 형식 : 일간 데이터 - 더 많은 데이터 포인트지만 노이즈가 증가하고 계산 비용 상승 
- 비권장 방식 : 월간 데이터 - 데이터 포인트가 적어 모델 수렴이 어려움
- 최소 기간 : 지역 수준 모델은 최소 2년, 국가 수준 모델은 최소 3년의 주간 데이터 필요

2. 지역 데이터
- 최소 권장 : 2~3개 이상의 지역 데이터(ex. 서울, 부산, 대구 등)
- 목적 : 계층적 베이지안 모델링을 통해 지역별 특성을 반영하면서 전체 모델의 신뢰구간 축소
- 국가 단위 모델 : 단일 지역으로도 모델링 가능하나 신뢰구간이 넓어질 수 있음
- 지역 구분 기준 : 마케팅 캠페인 실행 단위와 일치하는 것이 이상적(ex.광고 집행 지역)

3. 채널 별 광고비(Media Spend)
- 구조 : 각 미디어 채널 별 분리된 지출 데이터 필요
- 채널 수 제한 : 20개 미만 권장(채널 수가 많을 수록 모델 복잡성 증가)
- 저예산 채널 처리 : 예산이 적은 유사 채널은 통합하여 안정적인 추정 보장

4. 노출 데이터⭐
- Meridian에서는 필수 요소로 다른 MMM과의 주요 차별점
- 목적 : 미디어 효과의 포화 및 지연 효과를 정확히 모델링
- 허용 유형 : 채널 별 노출 수, 클릭 수, 뷰 수 등 접촉 지표
- 대체 방안 : 노출 데이터가 없는 채널은 지출액을 기반으로 예상 노출 수 추정 가능

5. KPI 데이터
- 예시 : 매출, 전환수, 앱설치, 사이트 방문 등 측정하려는 목표 지표
- 요구사항 : 모든 KPI는 양수여야하며 결측치 불가
- 긴 구매 주기 비즈니스 : 최종 매출 대신 중간 전환 지표(문의, 상담신청 등)활용 가능

6. 인구 데이터
- 목적 : 지역 별 규모 차이를 조정하고 미디어 효과의 상대적 크기 정규화
- 대체 가능 지표 : 실제 인구 수 외에 TAM(Total Addressable Market) 또는 지역 별 잠재 고객 규모 사용 가능
- 국가 수준 모델 : 단일 지역 모델에서는 1.0으로 설정 가능

7. 통제 변수(Controls)
- 주요 예시 : 검색 쿼리 볼륨(GQV), 경쟁사 활동, 계절성, 경제 지표 등
- 선택 기준 : KPI와 미디어 활동 모두에 영향을 미치는 외부 요인(혼동 변수)
- 과도한 통제 변수 주의 : 너무 많은 통제 변수는 오히려 모델 정확도를 저하시킬 수 있음

👉🏻차원 일치성 확인

더보기

- 필수 요구사항 : 모든 변수는 동일한 시간, 지역, 채널 차원 구조를 가져야함
- 검증방법

# 모든 변수의 차원 일치 확인 : 각 데이터셋의 date, geo 값이 정확히 동일한 집합인지 확인
assert set(df_spend['date']) == set(df_impressions['date']) == set(df_kpi['date'])
assert set(df_spend['geo']) == set(df_impressions['geo']) == set(df_kpi['geo'])

- 피벗 테이블 : 필요 시 long format에서 wide format으로 변환

👉🏻참고 자료

더보기
  • 공식 문서 기반
    Google Developers의 Meridian 공식 가이드(특히 About Meridian, Collect Data)에서
    • 필수 입력 데이터(시간, 지역, 미디어 지출, KPI 등)
    • 베이지안 ML 모델의 활용
    • 후처리 및 신뢰구간 기반의 결과 산출(ROAS, 탄력성, 예산 권장안 등)
    • 시각화 및 리포트로의 출력
      이라는 전형적인 워크플로우를 설명하고 있습니다.
  • 튜토리얼 및 실무 예시
    Data With Javi 블로그 등에서도
    • 입력 데이터 준비 → 베이지안 모델 → 후처리 → 주요 지표 산출 및 시각화
      의 구조를 동일하게 설명합니다.

3. 예시 데이터set

아래 데이터는 구글에서 제공한 데모 작업 파일에서 활용한 데이터set의 일부이다. 이 데이터에는 아래와 같은 특징을 갖고 있다.

<geo_all_channels> 일부

지역별 세분화로 계층적 베이지안 모델링에 적합하며, 주간 단위 시계열 데이터(2021-01-25부터)로 구성

  • geo 컬럼을 통한 지역 별 데이터 구분
  • 지역 별 population 정보 포함으로 인구 규모에 따른 정규화 가능
  • 채널 별 impression과 spend 데이터 제공
  • organic_channel0_impression : 유기적 채널 노출 데이터
  • promo : 프로모션 활동 지표
  • Competitor_Sales: 경쟁사 판매 데이터
  • GQV: Google 검색 쿼리량
  • revenue_per_conversion: 전환당 수익
geo time Channel0_impression Channel1_impression Competitor_Sales GQV Channel0_spend Channel1_spend Organic_channel0_impression Promo conversions revenue_per_conversion population
Geo0 2021-01-25 280668.0 0.0 -1.3387649 0.11558147 2058.0608 0.0 97320.0 0.0 1954576.8 0.020054754 136670.94
Geo0 2021-02-01 366206.0 182108.0 0.8936449 0.9442244 2685.2874 1755.7454 201441.0 0.0 2064249.6 0.02010317 136670.94
Geo0 2021-02-08 197565.0 230170.0 -0.28454947 -1.290579 1448.6895 2219.1223 0.0 0.68381935 2086382.8 0.019928792 136670.94

 

<national_media> 일부

1) 국가 수준 데이터

  • 지역 구분(geo) 없이 국가 전체를 단일 단위로 취급
  • 훨씬 더 큰 impression 수치(국가 단위 집계 반영)
  • 인구(population) 데이터 없음(국가 단위로 통합되어 필요 없음)

2) Reach & Frequency 데이터

  • Channel4와 Channel5에 대한 특별한 도달률(reach)과 빈도(frequency) 지표 포함
  • 이는 TV나 라디오와 같은 전통적인, 국가 단위 미디어에 대한 중요 지표


3) 추가 변수

  • Discount: 할인 정보(geo_all_channels에는 없음)
  • geo_all_channels의 Organic_channel0_impression과 Promo 변수 없음
  • Competitor_Sales와 GQV는 두 데이터셋 모두 포함


4) 국가 수준 캠페인 분석에 최적화

  • 전국 단위 방송 미디어(TV, 라디오 등)의 효과 분석에 적합
  • Reach & Frequency 지표를 통해 국가 수준 미디어 효과를 더 정확히 모델링 가능
time Channel0_impression Channel1_impression Channel2_impression Channel3_impression Channel4_impression Channel5_impression Channel0_spend Channel1_spend Channel2_spend Channel3_spend Channel4_spend Channel5_spend GQV Discount Competitor_Sales conversions revenue_per_conversion Channel4_reach Channel5_reach Channel4_frequency Channel5_frequency
2021-01-25 19991690.0 38476736.0 9603101.0 5289998.0 60449090.0 48474990.0 142385.55 282139.25 92585.73 39309.574 471070.1 377712.84 -15.429455 -8.958794 -2.757674 379693380.0 0.0199995 17896380.0 17483356.0 3.377727 2.7726367
2021-02-01 23622048.0 38189068.0 29071472.0 5486623.0 70028310.0 23670058.0 168241.81 280029.88 280284.78 40770.68 545719.44 184435.0 -27.999588 31.862562 14.840977 357318530.0 0.019989606 19262128.0 11406957.0 3.6355438 2.0750546
2021-02-08 10424717.0 26002412.0 22365226.0 3733493.0 64427360.0 18212816.0 74247.3 190668.48 215628.33 27743.305 502072.16 141912.66 8.193204 -7.9538827 -50.03505 414199070.0 0.019992877 19289144.0 9559256.0 3.3400838 1.9052546

두 데이터셋의 활용 관점 차이

1. geo_all_channels

  • 지역별 마케팅 효과 차이 분석에 적합
  • 계층적 베이지안 모델링을 통해 지역별 특성을 반영하면서 전체 신뢰구간 축소 가능
  • 지역별 예산 최적화 및 타겟팅 전략 수립에 유용

2. national_media

  • 전국 단위 매체(특히 TV, 라디오)의 효과 분석에 최적화
  • Reach & Frequency 기반 모델링으로 전통 미디어 효과 측정에 더 정확
  • 국가 단위 캠페인의 전체적인 효과성 평가에 중점

4. 추가 고려사항 및 추천 내용

1) 데이터 세분화 전략

  • 지역별 세분화: 가능한 한 많은 지역 데이터 수집 (신뢰구간 축소)
  • 채널 통합 기준: 유사한 목적/특성을 가진 저예산 채널은 통합
  • 시간 단위 선택: 주간 데이터가 이상적, 일간은 노이즈가 크고 월간은 정보량 부족

2) 데이터 품질 관리

  • 일관성 검증: 기간별, 지역별 급격한 변동이 있는지 EDA(탐색적 데이터 분석) 수행
  • 자동화 파이프라인: 반복 가능한 데이터 수집 및 전처리 프로세스 구축
  • 버전 관리: 데이터셋의 버전 관리로 모델 결과의 재현성 확보

3) 베이지안 MMM 특화 데이터 준비

  • 사전확률(Prior) 설정: 과거 ROI 정보가 있다면 각 채널별 사전확률 준비
  • 실험 결과 활용: A/B 테스트나 리프트 연구 결과를 사전확률로 통합
  • 신뢰 가능한 데이터 소스 선택: 가능한 한 일차 소스(primary source)에서 데이터 수집

이번 글에서는 Meridian 모델링을 위한 데이터 구조와 입력 요건을 정리해보았다.
다음 글에서는 실제 모델링을 수행하면서 어떤 변수를 조정해야하는지, 각 변수들이 모델 결과에 어떤 영향을 미치는지를 중심으로 기록해볼 예정이다.