# 관측 매출과 광고에 귀속된 매출을 나눠 보는 방법

> 같은 주문 원장에 마지막 유효 접점과 자체 균등 채널 배분을 적용해 귀속 매출이 달라지는 이유를 확인합니다. 미배정·중복 주장·귀속 기간을 구분하고, 관측과 귀속만으로 증분 효과를 확정할 수 없는 이유를 설명합니다.

- 발행: 2026-09-06
- 주제: 마케팅 데이터 분석
- 발행처: 매드업 마케팅사업본부 AI 마케팅 개발실
- 웹 원문: https://madobi.madup.com/blog/observed-attributed-incremental-revenue/

## 세 줄 요약

- 관측 매출은 정한 원장에서 확인한 금액이고 귀속 매출은 규칙이나 모형이 접점에 배분한 금액이다. 귀속 규칙을 바꾸어도 같은 원장의 관측 매출이 늘어나는 것은 아니다.
- 합성 원장의 600,000원에 두 자체 귀속 규칙을 적용하면 채널별 금액은 달라지지만, 배정 360,000원과 미배정 240,000원을 합한 원장 금액은 보존된다.
- 미배정 매출을 자연 유입이나 광고 효과 0으로 단정할 수는 없다. 광고가 없었을 때의 결과와 비교하는 증분 효과는 추정 대상과 모형·실험 설계를 별도로 확인해야 한다.

---
합성 주문 원장의 매출은 600,000원입니다. 마지막 유효 접점에 전부 배분하면
A 채널은 0원이고, 같은 유효 채널에 균등하게 나누면 A는 105,000원입니다.
A에 배정된 금액이 바뀌었지만 새로운 주문이 생긴 것은 아닙니다. 원장과 배분
규칙을 나눠 보면 차이를 설명할 수 있습니다.

아래 예제는 정합성을 확인한 주문 6건과 접점 11개를 가정한 합성 데이터입니다.
고객 ID 연결과 순매출·시각 기준은 이미 확인된 입력이라는 계약을 둡니다. 실제
광고주 자료나 플랫폼의 원시 귀속 보고서를 사용하지 않았습니다.

## 관측 매출과 귀속 매출은 어떤 질문에 답하나

관측 매출은 정한 원장에서 어떤 거래가 얼마로 기록됐는지 답합니다. 귀속 매출은
그 금액을 어떤 접점이나 채널에 배정할지 답합니다. Google도 attribution을
사용자 경로의 접점에 성과를 배분하는 행위로 설명하고, 규칙이나 데이터 기반
알고리즘이 그 배분을 정할 수 있다고 안내합니다.
[GA4 귀속의 기본 개념](https://support.google.com/analytics/answer/10596866?hl=en)

관측이라는 이름이 원장의 완전성과 정확성을 자동으로 보장하지는 않습니다.
중복·환불·세액·기간과 식별자 기준을 먼저 맞춰야 합니다. 이 글은 앞선 연재에서
확인한 원장을 고정하고 귀속 규칙을 비교하는 단계입니다.

## 어떤 접점을 귀속 후보로 볼 것인가

기본 규칙은 구매 직전 7×24시간 안의 클릭 접점입니다. 구간의 시작은 포함하고
구매 시각은 제외합니다. 같은 시각이나 구매 이후에 기록된 접점은 이 규칙에서
구매 이전 접점으로 사용하지 않습니다.

```text
구매 시각 − 7×24시간 ≤ 접점 시각 < 구매 시각
```

모든 합성 주문의 구매 시각은 8월 15일 12:00 한국 시간입니다.

| 주문 | 순매출 | 같은 계정에서 관측한 접점 | 기본 규칙의 유효 채널 |
| --- | ---: | --- | --- |
| o1 | 120,000원 | A 클릭 8/13 12:00 → B 클릭 8/14 18:00 | A, B |
| o2 | 90,000원 | A 클릭 8/14 09:00 → A 클릭 8/15 09:00 → C 클릭 8/15 10:00 | A, C |
| o3 | 60,000원 | C 조회 8/15 11:00 | 없음: 클릭만 인정 |
| o4 | 80,000원 | B 클릭 8/1 12:00 | 없음: 기간 밖 |
| o5 | 100,000원 | A 클릭 8/15 13:00 | 없음: 구매 이후 |
| o6 | 150,000원 | C 클릭 8/14 20:00 → B 클릭 8/14 21:00 | B, C |

예제에는 주문 목록에서 구매가 관측되지 않은 별도 계정의 접점 하나도 포함합니다.
그 접점을 다른 계정의 주문에 붙이지 않습니다. 이후에 구매했는지까지 이 데이터만으로
단정하지도 않습니다.

실제 서비스의 전환 인정 기간과 조회·클릭의 조건은 다를 수 있습니다. 여기서
사용한 조회 접점은 합성 유형이며, 실제 플랫폼의 engaged-view 조건을 구현하지
않습니다.

## 마지막 접점과 균등 채널 배분은 어떻게 다른가

첫 번째 규칙은 가장 늦은 유효 접점의 채널에 주문 금액을 전부 배분합니다.
두 번째 규칙은 유효한 고유 채널에 동일한 가중치를 줍니다. 같은 채널의 접점이
여러 번 있어도 두 번째 규칙에서는 그 채널을 한 번만 셉니다.

<figure style="overflow-x:auto">
<svg viewBox="0 0 720 278" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="합성 주문 o1의 120000원은 A 클릭 뒤 B 클릭 경로에서 마지막 접점 규칙으로는 B에 120000원, 균등 채널 규칙으로는 A와 B에 60000원씩 배분됩니다." style="width:100%; min-width:640px; height:auto; font-family:inherit">
  <rect width="720" height="278" rx="16" fill="#fffdf8"/>
  <text x="24" y="32" fill="#2a2d3e" font-size="16" font-weight="700">주문은 같고 금액을 배분하는 규칙이 달라집니다</text>
  <rect x="24" y="54" width="672" height="59" rx="10" fill="#eef0f7"/>
  <text x="44" y="91" fill="#3e4a78" font-size="17">o1 · 120,000원 · A 클릭 → B 클릭 → 구매</text>
  <rect x="24" y="135" width="326" height="91" rx="12" fill="#fff1cd"/>
  <text x="44" y="165" fill="#684d13" font-size="14">자체 마지막 유효 접점 규칙</text>
  <text x="44" y="204" fill="#2a2d3e" font-size="25" font-weight="700">B 120,000원</text>
  <rect x="370" y="135" width="326" height="91" rx="12" fill="#fcebee"/>
  <text x="390" y="165" fill="#a52b35" font-size="14">자체 고유 채널 균등 배분</text>
  <text x="390" y="203" fill="#2a2d3e" font-size="20" font-weight="700">A 60,000원 · B 60,000원</text>
  <text x="24" y="256" fill="#5f6273" font-size="12">합성 규칙 비교 · GA4의 현재 귀속 모형이나 데이터 기반 귀속을 재현한 결과가 아닙니다.</text>
</svg>
<figcaption>균등 배분은 각 접점이 실제로 같은 인과적 효과를 냈다는 주장이 아닙니다.</figcaption>
</figure>

전체 주문에 적용한 기본 결과입니다.

| 구분 | 마지막 유효 접점 | 고유 채널 균등 배분 |
| --- | ---: | ---: |
| A 배정 | 0원 | 105,000원 |
| B 배정 | 270,000원 | 135,000원 |
| C 배정 | 90,000원 | 120,000원 |
| 배정 합계 | 360,000원 | 360,000원 |
| 미배정 | 240,000원 | 240,000원 |
| 원장 대사 합계 | 600,000원 | 600,000원 |

예를 들어 o2의 유효 접점은 A·A·C이지만 고유 채널은 A·C 두 개입니다.
균등 채널 규칙에서는 각각 45,000원을 배정합니다. 접점별 균등 배분과는 다른
규칙이므로 배분 단위까지 기록해야 합니다.

## 미배정 매출을 자연 유입으로 단정하지 않기

기본 규칙에서 o3은 조회만 있어 60,000원이, o4는 기간 밖 클릭이라 80,000원이,
o5는 구매 이후 접점이라 100,000원이 배정되지 않았습니다. 합계는 240,000원입니다.

<figure style="overflow-x:auto">
<svg viewBox="0 0 720 258" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="합성 미배정 매출 240000원은 클릭만 인정한 규칙에서 제외된 조회 주문 60000원, 기간 밖 클릭 주문 80000원, 구매 이후 접점 주문 100000원으로 구성됩니다." style="width:100%; min-width:640px; height:auto; font-family:inherit">
  <rect width="720" height="258" rx="16" fill="#fffdf8"/>
  <text x="24" y="32" fill="#2a2d3e" font-size="16" font-weight="700">미배정에는 서로 다른 이유가 있습니다</text>
  <rect x="24" y="56" width="210" height="132" rx="12" fill="#eef0f7"/>
  <text x="42" y="87" fill="#3e4a78" font-size="14">o3 · 조회만 관측</text>
  <text x="42" y="129" fill="#2a2d3e" font-size="27" font-weight="700">60,000원</text>
  <text x="42" y="163" fill="#5f6273" font-size="12">기본 규칙은 클릭만 인정</text>
  <rect x="254" y="56" width="210" height="132" rx="12" fill="#fff1cd"/>
  <text x="272" y="87" fill="#684d13" font-size="14">o4 · 기간 밖 클릭</text>
  <text x="272" y="129" fill="#2a2d3e" font-size="27" font-weight="700">80,000원</text>
  <text x="272" y="163" fill="#5f6273" font-size="12">7일 후보 구간에서 제외</text>
  <rect x="484" y="56" width="212" height="132" rx="12" fill="#fcebee"/>
  <text x="502" y="87" fill="#a52b35" font-size="14">o5 · 구매 이후 접점</text>
  <text x="502" y="129" fill="#2a2d3e" font-size="27" font-weight="700">100,000원</text>
  <text x="502" y="163" fill="#5f6273" font-size="12">구매 이전 근거로 사용하지 않음</text>
  <text x="24" y="222" fill="#2a2d3e" font-size="14">미배정 240,000원이 자연 유입이나 광고 효과 0이라는 뜻은 아닙니다.</text>
  <text x="24" y="246" fill="#5f6273" font-size="12">합성 데이터 · 관측 누락과 식별자 연결 제한은 실제 분석에서 추가로 확인</text>
</svg>
<figcaption>금액을 남기는 것과 함께 어떤 규칙에서 배정하지 못했는지도 기록합니다.</figcaption>
</figure>

실제 자료에서는 식별자 연결 제한이나 접점 수집 누락 때문에 후보를 만들지 못할
수도 있습니다. 후보가 없다는 사실만으로 광고를 전혀 보지 않았다거나 광고가
아무 효과도 없었다고 결론 내릴 수는 없습니다.

## 귀속 기간이나 접점 유형을 바꾸면 무엇이 달라지나

예제에서 후보 기간을 7일에서 30일로 늘리면 o4의 B 클릭이 포함됩니다.
마지막 접점 규칙의 배정 금액은 360,000원에서 440,000원으로 늘고, 미배정은
240,000원에서 160,000원으로 줄어듭니다. 관측 매출 600,000원은 그대로입니다.

조회 접점을 인정하는 자체 규칙으로 바꾸면 o3의 60,000원도 배정됩니다.
어느 규칙을 썼는지 고정하지 않고 과거 보고서와 비교하면, 규칙 변경을 성과
변화로 해석할 수 있습니다.

실제 전환은 광고 접점보다 늦게 발생할 수도 있습니다. Google도 전환 지연으로
최근 기간의 성과가 충분히 집계되지 않았을 수 있다고 설명합니다. 귀속 조건뿐
아니라 데이터 추출 시각과 이후 보완되는 전환도 함께 확인해야 합니다.
[Google Ads 전환 지연 안내](https://support.google.com/google-ads/answer/6239119?hl=en)

## 금액 보존은 귀속의 정확성을 증명하는가

예제의 두 단일 배분 모형은 주문 금액을 넘겨 배정하지 않도록 설계했습니다.
배정한 금액과 미배정 금액을 더하면 각 주문의 관측 금액이 됩니다.

```text
주문별: 채널 배정액 합계 + 미배정액 = 관측 주문 금액
전체:   360,000원 + 240,000원 = 600,000원
```

이 등식은 금액 대사 조건입니다. 어느 채널이 실제로 얼마의 효과를 냈는지
증명하는 조건은 아닙니다. 같은 금액을 서로 다르게 나눠도 등식은 성립할 수
있기 때문입니다.

가중치로 표현하면 배정 가능한 주문에는 채널 가중치의 합을 1로 두고, 배정할
근거가 없는 주문은 미배정 부분으로 남길 수 있습니다. 원 단위 반올림 차이도
대사해야 합니다. 예제에서는 101원을 두 채널에 나누면 51원과 50원으로 만들고,
잔여 1원의 배분 순서는 채널 코드 정렬로 고정했습니다. 이 1원의 차이를 성과
우열로 해석하지 않습니다.

## 서로 독립된 매체의 주장 합계는 다르게 볼 필요가 있다

각 채널이 유효 접점이 있는 주문의 금액을 전부 주장하는 별도 합성 모형도 계산합니다.
A는 210,000원, B는 270,000원, C는 240,000원을 주장해 합계가 720,000원입니다.

유효 경로가 있는 주문의 고유 금액은 360,000원인데 각 주문에 두 채널이 있어
중복 주장 추가분이 360,000원 생겼습니다. 미배정 금액까지 함께 보면 다음과 같습니다.

```text
독립 주장 합계 720,000원
  = 관측 매출 600,000원 − 유효 경로 없는 240,000원 + 중복 주장 추가분 360,000원
```

서로 다른 매체 보고서를 하나의 단일 배분 모형처럼 취급하지 않습니다. 기간,
전환 인정 조건, 매출 기준과 제공 데이터 범위가 다를 수 있습니다. 실제 매체가
주문별 연결 자료를 제공하지 않는다면 이 예제처럼 모든 주문의 경로를 구성할 수
있다고 가정해서도 안 됩니다.

## 귀속 매출을 광고의 증분 매출로 읽을 수 있나

증분 효과는 현재 광고 집행 상태의 결과와 광고가 없었을 때의 결과를 비교하는
질문입니다. 같은 기간의 두 상태를 동시에 관측할 수 없으므로, 비교 설계나
추가적인 식별 가정이 필요합니다.

관측 매출 600,000원만으로 다음 두 설명 중 어느 것이 맞는지 정할 수는 없습니다.
표의 ‘광고가 없었을 때’ 금액은 차이를 설명하기 위해 임의로 둔 가정입니다.

| 설명용 가정 | 현재 관측 매출 | 광고가 없었을 때 매출 가정 | 두 값의 차이 |
| --- | ---: | ---: | ---: |
| 가정 1 | 600,000원 | 600,000원 | 0원 |
| 가정 2 | 600,000원 | 400,000원 | 200,000원 |

두 값은 증분 효과의 추정치나 가능한 범위의 상한·하한이 아닙니다. 같은 관측
원장과 접점 기록만으로 반사실 결과가 정해지지 않는다는 점을 보여 줍니다.

<figure style="overflow-x:auto">
<svg viewBox="0 0 720 270" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="합성 예제에서 관측 매출은 600000원, 기본 단일 귀속 규칙의 배정액은 360000원과 미배정 240000원입니다. 증분 매출은 비교 설계가 없어 추정하지 않았습니다." style="width:100%; min-width:640px; height:auto; font-family:inherit">
  <rect width="720" height="270" rx="16" fill="#fffdf8"/>
  <text x="24" y="32" fill="#2a2d3e" font-size="16" font-weight="700">원장에서 본 금액, 배분한 금액, 증분 효과는 다른 질문입니다</text>
  <rect x="24" y="56" width="210" height="149" rx="12" fill="#eef0f7"/>
  <text x="42" y="88" fill="#3e4a78" font-size="14">관측 원장</text>
  <text x="42" y="132" fill="#2a2d3e" font-size="27" font-weight="700">600,000원</text>
  <text x="42" y="169" fill="#5f6273" font-size="12">같은 주문 6건의 합계</text>
  <rect x="254" y="56" width="210" height="149" rx="12" fill="#fff1cd"/>
  <text x="272" y="88" fill="#684d13" font-size="14">기본 단일 귀속 규칙</text>
  <text x="272" y="132" fill="#2a2d3e" font-size="27" font-weight="700">360,000원</text>
  <text x="272" y="169" fill="#5f6273" font-size="12">미배정 240,000원 별도</text>
  <rect x="484" y="56" width="212" height="149" rx="12" fill="#fcebee"/>
  <text x="502" y="88" fill="#a52b35" font-size="14">광고의 증분 효과</text>
  <text x="502" y="132" fill="#2a2d3e" font-size="27" font-weight="700">미추정</text>
  <text x="502" y="169" fill="#5f6273" font-size="12">비교 설계·식별 가정 필요</text>
  <text x="24" y="239" fill="#5f6273" font-size="12">합성 규칙의 귀속 결과를 실험으로 측정한 추가 매출처럼 표현하지 않습니다.</text>
</svg>
<figcaption>이 예제의 코드는 귀속 규칙을 계산하며 증분 효과를 추정하지 않습니다.</figcaption>
</figure>

Google의 Lift study 안내는 광고 노출과 비교 조건을 둔 통제 실험을 설명합니다.
무작위 배정 실험을 분석한다면 배정 단위, 집단 크기, 같은 관측 기간과 측정 조건을
확인해야 합니다. 집단 크기가 다른데 매출 총액만 바로 빼는 방식은 적절하지
않을 수 있습니다.
[Google Ads Lift study 개요](https://support.google.com/google-ads/answer/16104408?hl=en)

광고를 실제로 본 사람만 사후에 골라 비교하는 것은 처음의 무작위 배정과 다른
분석이 될 수 있습니다. 실험 또는 다른 인과 추정 방법의 조건을 확인한 뒤
증분 효과를 해석해야 합니다.

## GA4 데이터 기반 귀속은 이번 균등 배분과 같은가

같지 않습니다. Google의 현재 문서는 데이터 기반 귀속이 전환·비전환 경로,
확률 모델과 실험 데이터를 활용한 반사실 비교를 사용한다고 설명합니다.
이 글의 마지막 접점과 고유 채널 균등 배분은 그런 알고리즘을 재현한 코드가
아닙니다.

따라서 모든 귀속 알고리즘을 같은 성격의 단순 규칙으로 묶어서도 안 됩니다.
다만 특정 보고서의 배분된 매출이 해당 기간·전체 캠페인의 증분 매출과 같은
추정 대상인지는 별도로 확인해야 합니다.
[GA4 데이터 기반 귀속의 방법론 설명](https://support.google.com/analytics/answer/10596866?hl=en)

## 시각이 같은 마지막 접점과 반올림은 어떻게 처리하나

가장 늦은 유효 시각에 서로 다른 채널이 함께 있으면 예제의 마지막 접점 규칙은
임의로 한 채널을 고르지 않습니다. 미배정으로 남기고 `ambiguous_latest_channels`
사유를 기록합니다. 실제 업무에서는 원천의 더 정밀한 시각이나 명시된 동률 정책이
필요할 수 있습니다.

균등 채널 규칙은 고유 채널 수를 기준으로 배분합니다. 코드에서는 다음과 같이
금액을 나누고 원 단위 잔여액을 정해진 순서로 처리합니다.

```python
quotient, remainder = divmod(value, len(channels))
allocation = {
    channel: quotient + int(i < remainder)
    for i, channel in enumerate(channels)
}
```

분수 가중치도 별도로 남깁니다. 두 채널의 가중치는 각각 `1/2`지만 101원은
원 단위에서 정확히 반으로 표시할 수 없으므로 금액은 51원과 50원으로 나뉩니다.
가중치, 금액의 정밀도와 잔여액 처리 규칙을 함께 확인해야 합니다.

## 합성 주문과 접점으로 직접 재현하기

[관측·귀속·증분 구분 예제 ZIP](/downloads/marketing-metrics-10.zip)을 풀고 폴더 안에서 실행합니다.
Python 3.9 이상과 표준 라이브러리만 사용합니다.

```sh
python3 analysis.py
python3 -m unittest
```

결과에는 주문별 유효 접점, 제외 이유, 두 규칙의 배정액·미배정액과 독립 주장
합계가 나옵니다. 접점의 제외 이유는 접점과 주문의 후보 쌍 기준입니다. 한 접점이
여러 주문의 후보 경로에 나타날 수 있으므로 원시 접점 수와 후보 쌍 수를 혼동하지
않습니다.

검증은 1일·7일·30일 조건의 차이, 조회 포함 여부, 구간 경계, 구매 이후 접점,
마지막 시각의 동률, 같은 채널의 반복 접점과 원 단위 잔여액을 확인합니다.
중복 접점 ID와 시간대가 없는 시각도 검사합니다. 입력 순서를 바꾸어도 같은
결과가 나오는지 확인했습니다.

<img src="/madobi/analysis.png" alt="주문 원장과 귀속 결과를 대조하는 매도비" width="112" height="112" loading="lazy" style="display:block; margin:1.5rem auto; width:112px; height:112px" />

광고 매출 보고서에는 원장 금액, 적용한 귀속 규칙, 후보 기간·유형과 미배정 금액을
함께 남겨 보세요. 증분 효과를 보고할 때는 이를 뒷받침하는 비교 설계와 추정
대상을 추가해야 합니다.

공식 문서는 2026년 9월 6일 확인했습니다. 숫자와 자체 규칙은 설명용 합성 예제입니다.

마케팅 데이터 모델·품질·지표 정의 연재 10편입니다.
[이전 글: CPA·CAC·ROAS·MER를 목적에 맞게 사용하는 법](/blog/cpa-cac-roas-mer-purpose/)
[다음 글: 이벤트 이름과 속성을 관리하는 트래킹 명세](/blog/tracking-plan-event-names-properties/)

🐹