Marketing/Performance Marketing

진짜 AU(Active User, 활성사용자)는 무엇일까?

케이(kay) 2022. 7. 16. 20:57
반응형
SMALL

  AU의 다양한 해석  

Facebook은 로그인 사용자를,

Twitter은 광고를 본 사용자를,

Zoom은 일일 회의 참가자를

비지니스에 따라 AU는 다양하게 정의되고 있다.

 

 

AU를 활용한 지표  

Stickiness : 서비스 애정도

DAU = 2
MAU = 10 이면,

Stickiness = DAU / MAU = 20%이다.

Stickiness 높다면 충성도 높은 사용자층을 확보한 것이고,
Stickiness 낮다면 리텐션에 적신호 들어왔다고 볼 수 있다.

 

 

ARPDAU : 비지니스 지속가능성

 

ARPU = 매출 / 가입자
(Average Revenue Per User, 가입자당 평균 매출)

ARPPU = 매출 / 유료 사용자

(Average Revenue Per Paying User)

ARPDAU = 매출 / DAU

(Average Revenue Per Daily Active User)

 

 

회사 A : 매출 100만원, DAU 10명, ARPDAU = 10만원   >>>   높은 객단가와 수익화 가능성
회사 B : 매출 100만원, DAU 100명, ARPDAU = 1만원   >>>   비효율적 but 많은 사용자로 새로운 BM 기회

 

 

 

 

N포털에 접속한 K군은 몇 명의 사용자일까??

 

K군의 접속기록을 분류해보자면,

device : 3가지 (PC, 태블릿, 모바일)
cookies(웹 브라우저) : 5가지 (씨크릿, 파이어폭스, 크롬, ip, 사파리)
app Instance(앱 설치) : 2가지 (태블릿, 모바일)
signed-in account : 2가지 (로그인, 비로그인)

하지만 K군의 접속을 1명의 사용자로 잡아낼 수 있을까?

 

 

  GA4와 + 쿼리로 MAU 확인하기  

Web : Client ID                             <<<  웹 식별자
App : App Instance ID                 <<<  앱 식별자
BigQuery : user_pseudo_id       <<<  미식별자

 

 

Step 1. Device 기준

GA4는 디바이스를 cookies(웹 브라우저)와 app Instance(앱 설치)로 구분한다.
브라우저 쿠키 5개
앱 인스턴스 2개로
총 7로 집계된다.

 

 SELECT COUNT(DISTINCT user_pseudo_id) au
   FROM `your-project.your_dataset.events_*`
  WHERE _TABLE_SUFFIX 
BETWEEN FORMAT_DATE('%y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 31 DAY)) 
    AND FORMAT_DATE('%y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

 

* FORMAT_DATE  함수 *
FORMAT_DATE( date, inputFormat [, outputFormat] )

FORMAT_DATE( "05102004", "ddMMyyyy" )
-- "2004-10-05"
FORMAT_DATE( "05/10/04 13:25", "dd/MM/yy HH:mm", "dd MMM, yyyy hh:mm:ss a" )
-- "05 Oct, 2004 01:25:00 PM"

 

 

Step 2. Device + User-ID 기준

사용자 정보를 GA4로 전송해서 User-ID로 통합하고,

수집되지 않은 미식별자(user_pseudo_id)만을 더한다.


고유한 User-ID가 2개

지정된 적이 없는 User-ID(user_pseudo_id)가 2개로

총 4개로 집계된다.

 

WITH temp_table AS
    (
    	SELECT COUNT(DISTINCT user_id) au
          FROM `your-project.your_dataset.events_*`
         WHERE _TABLE_SUFFIX 
       BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 31 DAY)) 
           AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))     
     -- WITH 절을 서브쿼리로 사용하여 디바이스별 AU 쿼리를 반복사용
         UNION ALL
        SELECT COUNT(DISTINCT user_pseudo_id) au
          FROM `your-project.your_dataset.events_*`
         WHERE _TABLE_SUFFIX 
       BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 31 DAY)) 
           AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))   
           AND user_pseudo_id NOT IN
           -- 미식별자를 구분하기 위한 IN 조건문
   				(	
              		SELECT DISTINCT user_pseudo_id
                      FROM `your-project.your_dataset.events_*`
                     WHERE _TABLE_SUFFIX 
                   BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 31 DAY)) 
                       AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))   
                       AND user_id IS NOT NULL
                )
    )
SELECT sum(au) au_sum FROM temp_table

 

 

Step 3. Device + User-ID + Google Signals

사용자의 구글 로그인 계정 정보를 활용하는 방법이다.

(GA4의 Data Collection - Signals - '광고 개인 최적화' 활성화)

1~4로 집계 될 것으로 예상된다.

 

 

  그래서 K군의 진짜 'AU = 1명' 은?  

집계 할 수 없다.

 

 

 

(출처: POSTYPE Business, IBM, 젠트의 프로그래밍 세상)

반응형
LIST