인사이트 - MARTECH

MARTECH_image_thumbnail
GROWTH

B2B SaaS MRR 계산하기

September 12, 2024

Monthly Recurring Revenue, MMR 표지
MRR

MRR 이란?
Monthly Recurring Revenue로 월간 반복 매출 구독형 서비스의 경우 핵심 지표로 활용됩니다.

요즘은 누구나 한 번 쯤은 구독형 서비스를 결제해본 경험이 있을텐데 구독 비즈니스는 사용자가 카드를 등록하면 자동으로 월마다 반복적으로 자동결제가 됩니다. (유튜브 프리미엄 구독, 넷플릭스 등)

MRR 산출 공식은 다음과 같습니다.

Centered Boxed Text
MRR = 고객수 * 평균 청구 금액

예를 들면, 유튜브 프리미엄 월 구독 비용이 10,000원이고 이용자가 10명이라면 MRR 은 100,000원이 되는 겁니다. 

그런데 MRR이 100,000원 입니다. 에서  끝나면 안되겠죠?

MRR이 어떻게 변화했는지를 분석하는 것도 굉장히 중요합니다.

MRR 지표를 쪼개보면 아래와 같습니다.

  • NEW MRR : 신규 고객의 MRR
  • Expansion MRR : 기존 고객의 구독 상품 업그레이드의 MRR
  • Contraction MRR : 기존 고객의 구독 상품 다운그레이드의 MRR
  • Churn MRR : 구독 취소 
  • Reactivation MRR : 재활성화된 MRR 

그러면 이 지표를 가지고 우리는 New MRR을 구할 수 있습니다. 

Text Color Change

Net MRR = New MRR + Upgrade MRR - Churned MRR - Downgrade MRR + Reactivation MRR

 

실무하면서 MRR calculation 하는데 고생 고생을 했는데 이 방법으로 도움을 받을 수 있는 누군가를 위해 공유합니다.

우선 방법은 DB에 적재된 결제 데이터와 구글 스프레드 시트에서 세금계산서로 처리되는 고객 결제 내역을 바탕으로 Rawdata를 준비하고 파이썬을 활용해서 frequency(월결제, 연결제)를 flatten 해주고 이를 Looker Studio로 시각화해줍니다. 

1. DB에서 데이터 불러오기

2. 구글 스프레드시트에서 데이터 불러오기

3. 파이썬으로 데이터 클렌징하기

4. 클렌징한 DB, 스프레드시트 데이터 합치기

5. 클렌징 결과 시각화를 위해 구글 스프레드시트로 보내기

6. Looker Studio로 시각화 하기

아래는 실제 활용했던 MRR 대시보드 입니다. 

첫 번째 대시보드는 월매출과, MRR 지표 현황을 살펴보고 고객사별 월간 구독 현황을 확인 해볼 수 있고 ARR, 이번달 예상 매출도 확인 할 수 있게 구성했었습니다.

MRR 대시보드 예시 이미지 1
MRR 대시보드 예시(1)

두 번째 대시보드는 위에서 언급한 대로 MRR 지표를 쪼개서 모니터링하는 대시보드입니다.

이를 통해 MRR 상승하는데 어떤 지표 때문에 상승했는지 한눈에 볼 수 있습니다.  또한 MRR 성장추이도 함께 볼 수 있도록 구성되었습니다. 이제 이 대시보드를 통해서 전사가 우리 서비스의 MRR 현황을 볼 수 있고 이탈한 유저수가 특히 많았던 월에는 고객 인터뷰를 진행해보거나 해당 유저들의 특징을 파악해보면 어떤 지점에서 불편함을 느꼈는지 페인 포인트는 무엇이었는지 원인을 파악하고 제품 개선에 반영해볼 수 있겠죠? 

MRR 대시보드 예시 이미지 2
MRR 대시보드 예시(2)

DB에서 결제 데이터를 위의 컬럼만 파이썬 SQLAlchemy 를 활용해서 데이터를 불러옵니다. 

SELECT  
            user_id,
            company_name,
            sales,
            pay_datetime_id,
            freq,
            user_status    
FROM
        (SELECT tmp2.user_id,
               tmp2.company_name,
               tmp2.id,
               tmp1.sales,
               date_format(tmp1.auth_date, '%Y-%m-01') auth_date,
               tmp1.subscription_id,
               tmp1.user_status,
               tmp1.card_updated_at
          FROM
                    (SELECT B.user_id,
                           A.sales,
                           A.auth_date,
                           A.subscription_id,
                           A.user_status,
                           A.card_updated_at
                    FROM
                    (SELECT st0.*,
                            st1.user_status,
                            st1.card_updated_at
                    FROM
                    -- billing_payment_history 테이블에서 조건에 맞는 데이터 가져오기
                    (SELECT billing_id,
                           subscription_id,
                           auth_date,
                           IF(cancelled_at IS NULL ,amount, IF (amount <= cancellation_cancel_amount,0,cancellation_remain_amt)) AS sales
                    FROM nicepay_billing_payment_history
                    ) st0
                    left join
                    	-- nicepay_card_info 테이블에서 가장 최근의 카드 정보(created_at이 최대인)를 가져오며, user_status를 is_deleted와 is_active 값에 따라 ‘churned_user’ 또는 ‘active_user’로 설정
                        (select t1.billing_id,
                                t1.created_at,
                                t1.is_deleted,
                                t1.is_active,
                                t1.created_at card_updated_at,
                                (case when t1.is_deleted = 1 and t1.is_active = 0 then 'churned_user' else 'active_user' END) user_status
                                from nicepay_card_info t1
                        inner join (select billing_id,
                                            max(created_at) max_date
                                    from nicepay_card_info
                                    group by 1) t2
                        on t1.billing_id = t2.billing_id and t1.created_at = t2.max_date) st1
                    ON (st0.billing_id = st1.billing_id)) A
                    LEFT OUTER JOIN
                                    (SELECT billing_id,
                                            user_id
                                     FROM nicepay_billing_info) B
                    ON (A.billing_id = B.billing_id)) tmp1
INNER JOIN (SELECT user_id,
                        company_name,
                        id
            FROM user
          ) tmp2
ON (tmp1.user_id = tmp2.user_id)) tmp3
inner join
                    (select seq,
                            freq,
                            date_format(plan_start_datetime_id, '%Y-%m-01') subscription_plan_start_datetime_id
                     from subscription) tmp4
ON (tmp3.subscription_id = tmp4.seq)
where sales > 0;

 

먼저 계산을 위해 필요한 데이터를 DB에서 추출해주고 flatten을 해줄껍니다.

 

flatten이 뭐냐 뜻 그대로 평탄화한다는 의미입니다. 예를들어 고객이 연간 결제를 1,200,000원을 했다고 하면 월별 결제액은 12개월로 나눠서 월별로 데이터를 평탄화 해주는 과정이라고 보시면 됩니다.

 

#expand the yearly records
mrr_base = mrr_df.loc[np.repeat(mrr_df.index, mrr_df['freq'].map({"years":12,"months"1}))]
mrr_base.loc[mrr_base["freq"] == "years""sales"] /= 12
mrr_base.loc[mrr_base["freq"] == "years""pay_datetime_id"] += \
mrr_base.groupby(["user_id""freq"]).cumcount().loc[mrr_base["freq"] == "years"]\
.map(lambda i: pd.DateOffset(months=i)) 

저의 경우 DB에 기록되지 않은 세금계산서 데이터를 가지고 있었는데 

 

해당 데이터는 구글 스프레드시트에 기록하고 있으므로 구글 스프레드시트에서 데이터를 불러옵니다. 

#구글 스프레드시트에서 data load하기
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'credential 파일 경로(json파일)', scope)
gc = gspread.authorize(credentials)
spreadsheet_url = "가져올 스프레드시트 주소"
gc1 = gc.open_by_url(spreadsheet_url).worksheet('시트 이름')

#기존에 기록된 데이터 가져와서 리스트 형태로 리턴
gc2 = gc1.get_all_values()

#데이터프레임으로 판다스로 가져오기
gc2 = pd.DataFrame(gc2, columns=gc2[0])
gc2 = gc2.reindex(gc2.index.drop(0))

#날짜 형식으로 변경
gc2['pay_datetime_id'] = pd.to_datetime(gc2['pay_datetime_id'])

#sales 컬럼 숫자로 변경
gc2['sales'] = gc2['sales'].astype(str).astype(int)

#expand the yearly records
gc2_base = gc2.loc[np.repeat(gc2.index, gc2['freq'].map({"years":12"months"1"2years":24}))]

# compute monthly fee and join date
#years 12개월로 나누기
gc2_base.loc[gc2_base["freq"] == "years""sales"] /= 12
gc2_base.loc[gc2_base["freq"] == "years""pay_datetime_id"] += \
gc2_base.groupby(["user_id""freq"]).cumcount().loc[gc2_base["freq"] == "years"] \
.map(lambda i: pd.DateOffset(months=i))

#2years 24개월로 나누기 / years 12개월로 나누기
gc2_base.loc[gc2_base["freq"] == "2years""sales"] /= 24
gc2_base.loc[gc2_base["freq"] == "2years""pay_datetime_id"] += \
gc2_base.groupby(["user_id""freq"]).cumcount().loc[gc2_base["freq"] == "2years"] \
.map(lambda i: pd.DateOffset(months=i))

gc2_base_result = gc2_base[['user_id''company_name''sales''pay_datetime_id''freq']]
출처: https://botongsaram.tistory.com/entry/B2B-SaaS-MRR-계산하기 [알랭드보통사람:티스토리]

 

위의 과정에서 DB에서 불러온 데이터와 구글 스프레드시트의 데이터 형태를 통일 시켰습니다. 

이제 Raw Data를 만들기 위해서 합쳐줍니다.

#구글시트rawdata와 DB에서 불러온 데이터의 결합
df_union= pd.concat([mrr_result, gc2_base_result])

 

데이터를 통합한 다음에 데이터 시각화를 위해 데이터 시각화를 위해 스프레드시트에 최종 정리된 데이터를 다시 구글 스프레드시트로 전달합니다.

 

# union 된 결과를 다시 구글 스프레드시트로
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'credential 파일 경로(json)', scope)
gc = gspread.authorize(credentials)
spreadsheet_url = '스프레드시트주소
gc_mrr = gc.open_by_url(spreadsheet_url).worksheet('새로 데이터를 업로드할 시트명')
#기존에 기록되어 있던 데이터 삭제(처음 업로드할 때는 필요 없음)
gc_mrr.clear()
# 오늘 가져온 데이터 업로드
gd.set_with_dataframe(gc_mrr,merge)

 

위의 결과는 MRR 대시보드 예시(1)에서 활용했던 과정입니다. 

Text Color Change

New MRR + Upgrade MRR - Churned MRR - Downgrade MRR + Reactivation MRR

 

다음으로 MRR detail view 에 사용될 지표를 만들 차례입니다. 

 

# pay_datetime_id 열에서 월과 연도를 추출하여 새로운 열 생성
mrr_detail_result['month_year'] = mrr_detail_result['pay_datetime_id'].dt.to_period("M")

# max_date 컬럼 만들기
mrr_detail_result['max_date'] = pd.NaT

mrr_detail_result.head()

# user_id를 기준으로 그룹화
grouped = mrr_detail_result.groupby('user_id')

# 각 그룹에서 최대 결제일을 찾고 max_date 열에 할당
for name, group in grouped:
    max_date = group['pay_datetime_id'].max()
    max_index = group['pay_datetime_id'].idxmax()
    mrr_detail_result.loc[group.index, 'max_date'] = max_date

# 데이터프레임을 corporate_id와 pay_datetime_id 기준으로 정렬
transactions_ver2 = mrr_detail_result.sort_values(by=['corporate_id', 'pay_datetime_id'])

# 이전 거래 금액을 저장할 새로운 열 prev_amount 추가
transactions_ver2['prev_amount'] = transactions_ver2.groupby('corporate_id')['sales'].shift(1)

# 사용자 상태를 저장할 새로운 열 user_status 추가
transactions_ver2['mrr_status'] = 'new'

# 이전 거래 금액과 동일한 금액을 가진 사용자에게 'existing' 할당
transactions_ver2.loc[transactions_ver2['sales'] == transactions_ver2['prev_amount'], 'mrr_status'] = 'existing'

# 이전 거래 금액보다 높은 금액을 가진 사용자에게 'upgrade' 할당
transactions_ver2.loc[transactions_ver2['sales'] > transactions_ver2['prev_amount'], 'mrr_status'] = 'upgrade'

# 이전 거래 금액보다 낮은 금액을 가진 사용자에게 'downgrade' 할당
transactions_ver2.loc[transactions_ver2['sales'] < transactions_ver2['prev_amount'], 'mrr_status'] = 'downgrade'

# 이전에 'churned' 상태였고 이제 새로운 거래가 있는 사용자에게 'reactivation' 할당
# 모든 고유한 corporate_id 값을 포함하는 리스트 생성
corporate_ids = transactions_ver2['corporate_id'].unique()

# 각 corporate_id에 대해 루프를 돌며 각 거래의 상태를 업데이트
for corporate_id in corporate_ids:
    user_data = transactions_ver2[transactions_ver2['corporate_id'] == corporate_id]
    for i in range(1, len(user_data)):
        prev_month = user_data.iloc[i-1]['month_year']
        curr_month = user_data.iloc[i]['month_year']
        if (curr_month - prev_month).n > 1:
            transactions_ver2.loc[(transactions_ver2['corporate_id'] == corporate_id) & (transactions_ver2['month_year'] == curr_month), 'mrr_status'] = 'reactivation'

# user_status가 churn_user인 사용자의 마지막 결제일에 'churn' 상태 할당
transactions_ver2.loc[(transactions_ver2['user_status'] == 'churned_user') & (transactions_ver2['pay_datetime_id'] == transactions_ver2['max_date']), 'mrr_status'] = 'churned'
transactions_ver2.head()

 

이제 MRR 대시보드 예시(2)에 활용된 데이터가 전처리되었고 구글 스프레드시트로 데이터를 적재해주면 됩니다. 

 

이걸 매일 하기는 귀찮으니 Airflow DAG를 활용해서 자동화해주면 됩니다. 

 

여기까지 MRR계산을 위해 SQL, 구글 스프레드시트, python을 활용한 과정을 소개해봤습니다.

누군가 B2B SaaS에서 MRR 계산을 위해 고군분투하고 계시다면 이 코드가 도움이 되시면 좋겠네요 

 

추가로 초기에 대시보드 기획에 많은 참고가 되었던 Baremetrics라는 MRR 대시보드 외산 툴이 있는데 상당히 잘만들었다고 생각되는 서비스입니다.

 

SaaS 비즈니스를 운영하신다면 참고해보시면 좋을 서비스네요!

MARTECH_image_thumbnail
EVENT

데이터 기반 고객 여정 설계를 위한 CRM과 PA 연계 전략 세미나 모집

September 9, 2024

데이터 기반 고객 여정 설계를 위한 CRM과 PA 연계 전략 세미나 메인 배너
데이터 기반 고객 여정 설계를 위한 CRM과 PA 연계 전략 세미나 개요

행사명 : 데이터 기반 고객 여정 설계를 위한 CRM과 PA 연계 전략 세미나

장소: 서울 서초구 서초대로38길 12 마제스타시티 타워2 12F

일시: 2024년 9월 25일 수요일 오후 4시 ~ 6시

대상

  • 퍼포먼스+그로스+CRM 통합 인사이트를 얻고 싶은 분
  • 개발 부담 없이 개인화/자동화 마케팅 캠페인을 운영하고 싶은 분
  • PA와 CRM 솔루션의 연동 및 효과적인 활용법이 궁금한 분
  • CRM 캠페인 AB 테스트 설계부터 대시보드 구축까지 필요한 분

행사 신청 버튼

데이터 기반 고객 여정 설계를 위한  CRM과 PA 연계 전략 세미나 소개 및 추천 참여 대상

2024년 9월 25일 수요일 오후 4시 마티니, 앰플리튜드, 원시그널이 함께하는 세미나에서각 솔루션의 활용 사례와 고객 경험을 최적화할 수 있는 PA & CRM 솔루션 연계 활용법을 알려드립니다.

이번 세미나에서 PA 및 CRM 솔루션 활용 사례를 확인하고 비즈니스에 직접 적용할 수 있는 과정들을 살펴보세요.

세션소개

행사 타임테이블 이미지
세션소개 및 연사자 사진 이미지

16:05 ~ 16:30

[앰플리튜드 세션] 이재철 연사

앰플리튜드 국내 활용사례

16:30 ~ 16:55

[원시그널 세션] 서영진 연사

원시그널 글로벌 활용사례

  • 원시그널 기능 및 강점 소개
  • 원시그널 CRM 캠페인 글로벌 사례

16:55 ~ 17:20

[마티니 세션] 이건희 연사

CRM 자동화 & PA 솔루션 시너지 발휘하기

  • PA를 활용한 CRM 성과 분석
  • PA 분석을 통한 CRM 캠페인 아이디어 발굴

세션 이후에는 자유로운 네트워킹과 QnA를 할 수 있는 시간이 마련되어있어 솔루션 연계 활용 및 PA와 CRM 솔루션 도입 관련해서 고민을 나누고 소통할 수 있습니다.

안내사항

안내사항 이미지

- 신청 시 회사 이메일이 아닐 경우 등록이 제한될 수 있습니다.

- 자리가 한정되어 있어 별도로 선정 안내를 드릴 예정입니다.

- 주차권 제공 가능하며 리셉션 데스크 문의바랍니다.

- 참석자분들에게 간단한 음식이 제공됩니다.

- 문의사항은 mkt@martinee.io 로 문의바랍니다.

행사 신청 버튼
MARTECH_image_thumbnail
GROWTH

디지털 전환(DX)의 정의와 사례

September 2, 2024

1. 디지털 전환의 정의

✅ 디지털 전환의 개념 및 필요성

디지털 전환이란 무엇일까요? DT 또는 DX로도 불리는 디지털 전환은 Digital Transformation에서 유래했습니다. 여기서 Transformation, 전환은 상태의 변화를 말합니다. 즉 디지털이 아니던 것이 디지털 상태로 변화하는 것입니다.

Text Color Change 디지털의 반대를 생각하면 아날로그를 떠올리게 되는데요. 사전적 의미로 '아날로그'는 어떤 수치를 길이, 각도, 전류 등 연속된 물리량으로 나타내는 일이며 '디지털'은 0과 1의 조합으로 바꾸는 과정이자 그 결과라고 합니다. 여기서 디지털 신호를 구성하는 비트가 컴퓨터를 움직이는 기본 단위이기에 디지털 = 컴퓨터 = 온라인으로 통용되는 것이겠죠.

디지털 전환 (Digital Transformation) DT/DX 표지

✅ 온라인 B2C 비즈니스에서의 디지털 전환

디지털 전환, 어쩐지 거창합니다. 마티니의 그로스팀에서 큰 규모의 회사를 방문했을 때 주로 DX실, DT실이 명함에 기재된 경우가 많더라고요. 즉 큰 곳에서 시도하는 경우가 많다는 것이겠죠.

Text Color Change 대다수의 회사들은 너무나도 당연히 컴퓨터를 사용해서 온라인으로 비즈니스를 운영하고 온라인으로 일합니다. (Excel, PPT, Word, Google Slide, Spread sheet, Docs, Mail, Slack, Zira, Notion...)

온라인 비즈니스 툴 및 솔루션 모음 이미지

Text Color Change

*디지털 전환, 오프라인에서 온라인으로?

온라인 비즈니스는 진행 중입니다. 오프라인을 온라인으로 전환시키는 DX와 DT는 상당수 진척되었습니다. 평범한 일상만 생각해 봐도 그렇습니다.

  • 버스가 언제 올지 정류장(오프라인)에 가서 확인하지 않아도 됩니다.
  • [지도 어플]을 통해 온라인으로 버스의 도착 예정 시간을 알 수 있습니다.

  • 커피를 마실 때 카페(오프라인)에 가서 주문하지 않아도 됩니다.
  • [카페 어플]을 통해 온라인으로 주문할 수 있습니다.

  • 점심을 배달시킬 때 가게에 전화하지 않아도 됩니다.
  • [배달 어플]을 통해 온라인으로 주문할 수 있습니다.

즉 현재의 디지털 트랜스포메이션, 디지털 전환(DT, DX)의 주요 과제는 오프라인의 온라인 전환은 아닌 듯합니다.

오프라인에서 온라인으로 전환

Text Color Change

*디지털 전환, 수동에서 자동으로!

Text Formatting

개인적으로는 온라인 비즈니스의 '자동화'가 디지털 전환의 주요 요소라고 생각합니다. 특히 마케팅에 있어서는 더욱 그렇습니다.

우리 프로덕트의 사용자가 10명, 100명, 1,000명일 때는 수기가 가능할 수 있습니다. 10명에게는 매일 전화를 할 수도 있을 것이고, 100명에게는 문자를 보낼 수 있을 것이고, 1,000명까지는 어떻게 수기로 그룹화를 해서 카카오톡을 보낼 수도 있겠죠.

하지만 [10,000명] 에게는요? [100,000명] 에게는요? 예를 들어보겠습니다.

사례 1. CRM 마케팅에서 메시지 수신자를 추출할 때

CRM 마케팅에서 메시지 수신 과정 이미지

[CRM마케팅/수동]

#1 보유한 데이터베이스(DB)에 접근하여

#2 조건에 맞는 쿼리문을 작성하여#3 '고정된 시점'의 사용자 데이터를 추출함

#4 성과 분석 시, 동일 프로세스를 거쳐 특정 시점의 사용자 데이터를 재추출함

#5 엑셀 등을 활용하여 수기로 데이터 값을 비교함

[CRM마케팅/자동] *솔루션 활용

#1 보유한 데이터베이스(DB)를 CRM 솔루션의 클라우드에 연동하고

#2 CRM 솔루션의 어드민에서 변수를 조절하여 (클릭!)

#3 '실시간'으로 사용자 데이터를 추출함

#4 성과 분석 시 어드민에서 변수를 조절하여 (클릭!)

#4 솔루션에서 제공하는 대시보드/그래프 형태로 데이터 값을 비교

CRM 마케팅 수동과 자동 차이 비교 표
CRM 마케팅 수동/자동

사례 2. 퍼포먼스마케팅의 성과를 측정할 때

[퍼포먼스마케팅/수동]

#1 광고 매체 별 광고관리자에서 성과를 엑셀로 다운로드 후

#2 보고용으로 맞춰둔 엑셀 형식에 맞춰 복붙 합니다. (ctrl+C, ctrl+V)

*매체 A, 매체 B, 매체 C, 매체 D.... 매체를 많이 쓸수록 이 절차는 많아집니다.

**혹시 글로벌이라면? 국가별로도 쪼개줘야 합니다.

***신규 사용자와 기존 사용자의 리타겟팅을 나눈다고요? 이것도 쪼개서...

#3 매체 성과와 자사 내부 DB 성과의 숫자가 맞지 않습니다.

기여 모델 및 기여 기간의 설정이 다르거나...

Text Formatting "그냥 추이로 보시죠, 정합성은 못 맞춰요."

[퍼포먼스마케팅/자동]

#1 광고 매체 별 데이터를 연동합니다.

#2 광고 매체와 MMP, CRM 솔루션의 데이터를 통합합니다. (DW)

Text Formatting #3 태블로, 루커 스튜디오 등의 BI를 활용하여 광고 성과 대시보드를 한 판에 그립니다.

솔루션들의 데이터 파이프라인 이미지
광고 성과 측정 자동화를 위한 데이터 파이프라인
광고 성과 측정 자동화가 가능한 대시보드 사례
광고 성과 측정 자동화가 가능한 대시보드 사례

마케팅 업무 자동화, 마케팅 오토메이션(Automation)의 효율에 대해서 이야기를 종종 하게 되는데요. 업무 효율성을 높이는 것이 수익 상승에 기여하지는 않는단 의견을 종종 듣습니다.

Text Formatting 책을 읽으면 삶의 해상도가 높아진다는 말이 있습니다. 비슷하다고 봅니다. 업무 자동화를 통해서 데이터와 가까워지고, 데이터 리터러시(literacy, 읽고 쓰는 능력)가 높아지면 비즈니스 상황에 대한 해상도 또한 높아집니다. 문제 정의와 해결 방안 제시가 보다 빠르고 명확해집니다.

문제 정의와 해결 방안 제시 및 대응. 문제 해결자(problem-solver)라는 직무도 존재하는 것처럼 사실 모든 직업은 분야와 내용과 형식이 다를 뿐, 어떠한 문제를 해결하는 것 아닐까요?

2. 디지털 전환(DX)의 전략적 접근

✅ 고객 경험 중심의 접근

위의 사례로 들었던 CRM 메시지 수신자 추출도, 퍼포먼스마케팅 성과 분석도 고객(사용자)이 아닌 실무자에게 필요한 디지털 전환, 즉 마케팅 자동화의 일환인데요.

Text Color and Bold Change

하지만 CRM 마케팅의 자동화는 실시간 행동 추적을 기반으로 하기에, 고객 경험에 맞춰 CRM 메시지의 내용과 시점, 노출 위치를 최적화할 수 있습니다.

✅ 데이터 중심의 의사 결정

Text Color and Bold Change ~한 것 같아요. ~일 것 같아요. 전 ~라고 생각해요. 근거 없는 추론과 의견으로는 의사 결정을 하기 어렵죠. 정확한 수치 기반의 데이터를 근거로 얘기할 때, 모든 구성원의 동의를 쉽게 이끌어낼 수 있습니다.

의문에 대한 추론 예시 이미지
~것 같다는 추론은 이제 그만.
의문에 대한 수치 기반의 데이터 확인 예시 이미지
수치 기반의 데이터로 원인을 파악하고 개선안까지!

3. 디지털 전환(DX)의 실제 사례

Text Color Change

*디지털 전환, 측정이 가능하도록!

Text Color and Bold Change 여러 기업들의 디지털 전환을 도우면서 가장 기본적이지만 가장 중요했던 것은 바로 '측정'입니다. 웹과 앱에서의 성과 측정을 위해 필수적인 것, 바로 UTM입니다.

여러 기업들의 디지털 전환을 도우면서 가장 기본적이지만 가장 중요했던 것은 바로 '측정'입니다. 웹과 앱에서의 성과 측정을 위해 필수적인 것, 바로 UTM입니다.

웹페이지의 주소인 URL에 UTM 파라미터를 넣어 유입된 사용자들이 어떤 경로로 들어왔는지 파악할 수 있습니다.

구글 URL UTM 생성 웹사이트 페이지 화면
Google URL Builder!

보통 퍼포먼스 광고를 운영할 때 페이스북 광고관리자의 구성에 맞추어 캠페인/그룹/소재 단으로 구성하는 경우도 있습니다.

UTM 구조 짜기 (캠페인, 그룹, 소재 등) 예시 이미지
UTM 구조 짜기 (캠페인, 그룹, 소재 등)

유상 광고(paid media)를 운영하는 퍼포먼스마케팅 외에, 인플루언서 마케팅(earned media)이나 유튜브/인스타그램/블로그 등에 자체 콘텐츠(owned media)를 게재할 때도 UTM을 삽입한 URL을 활용하면 좋습니다!

UTM 구조 짜기 (실제 사례) 예시 화면
UTM 구조 짜기 (실제 사례)

5. 디지털 전환(DX)에 필요한 주요 기술

AI 및 머신러닝

개인화 추천 시스템: 고객의 과거 구매 내역 및 검색 기록을 바탕으로 맞춤형 제품 추천

챗봇 및 가상 어시스턴트: 고객 문의 및 지원을 자동화하여 실시간으로 대응

그루비 AI 알고리즘 기반 상품 추천 페이지
출처: 그루비

채널톡 챗봇 문의 페이지
출처: 채널톡

빅데이터 분석

고객 세그멘테이션: 고객 데이터를 분석하여 세분화된 마케팅 전략 수립

실시간 데이터 분석: 판매, 트래픽, 재고 등의 데이터를 실시간으로 분석하여 빠른 의사 결정 지원

UTM 별 트래픽의 실시간 추이 (Amplitude) 확인 화면
UTM 별 트래픽의 실시간 추이 (Amplitude)

클라우드 컴퓨팅

스케일러블 인프라: 트래픽 변동에 유연하게 대응할 수 있는 클라우드 기반 인프라.

클라우드 기반 CRM: 고객 관계 관리 시스템을 클라우드에서 운영하여 언제 어디서나 접근 가능.

마테크 솔루션 모음 이미지 | 브레이즈의 연동성 *출처:AB180
브레이즈의 연동성 *출처:AB180

모바일 기술

모바일 최적화 웹사이트 및 앱: 모바일 사용자를 위한 최적화된 사용자 경험 제공.

모바일 결제 시스템: 다양한 모바일 결제 옵션 지원.

옴니채널 통합

온라인 및 오프라인 데이터 통합: 고객의 온/오프라인 행동 데이터를 통합하여 일관된 경험 제공.

클릭 앤드 콜렉트: 온라인 주문 후 오프라인 매장에서 상품 수령.

클라우드 컴퓨팅, 증강 현실 (AR),  사물 인터넷 (IoT), 결제 기술, 로봇 프로세스 자동화 (RPA) 등이 디지털 전환에 필요한 주요 기술로 여겨집니다.

마치며

디지털 전환을 마케팅 관점으로 좁혀서

디지털 전환을 검색하면 정말 방대한 의미의 내용들이 나옵니다. 클라우드 컴퓨팅, 인공지능(AI)과 머신러닝(ML), 빅데이터 분석, 사물인터넷(IoT), 블록체인, 사이버 보안 등이 대표되는 단어죠.

Text Color and Bold Change 다만 제가 컨설팅을 하며 만나본 회사들의 니즈는 이보다는 뾰족한 경우가 많았습니다. 인플루언서 마케팅의 성과를 측정하고 싶다거나, 메시지를 자동으로 발송하고 싶다거나, 고객들을 특정 행동 기준으로 그룹화하고 싶다거나, 배너의 성과를 보고 싶다거나...

생각해 보면 그로스 컨설팅이라고 꼭 디지털 전환이 완료된 상황에서만 될 수 있는 것은 아닙니다. 어느 영역의 디지털 전환이 그로스 컨설팅의 실행 방안이 될 수도 있는 것이죠.

Chat GPT가 생활화되고 AI에 대한 기사가 쏟아지는 요즘이지만, UTM을 잘 쓰는 것도 생각보다 어렵습니다. 디지털 전환을 위해 AI 도입보다 먼저인 것들이 있지 않을까요?

MARTECH_image_thumbnail
GROWTH

[코호트분석] 올바른 코호트 분석 방법

August 30, 2024

이 글을 읽고 계시다면 코호트 분석을 이미 하고 계실 건데 측정 기준에 대해서 의문이 생기신 분이 보실 것 같네요

구글에 '코호트 분석 SQL' 라고 검색하면 정말 많은 글들이 많습니다.

글에서 소개하는 쿼리 예시는 대부분 datediff함수를 활용해서 Date Granularity를  계산합니다.

이해하기 쉽게 예를 들어보겠습니다. 

유저 1 : 23:30 에 회원가입 후 다음날 다시 들어왔습니다. 

유저 2 : 13:30에 회원가입 후 다음날 다시 들어왔습니다.

day 단위로 계산을 하면 유저 1 은 우리 서비스를 30분 경험하고 다음날 재방문했다고 계산됩니다. 

유저 2는 약 10시간 30분 서비스를 경험하고 재방문을 했다고 계산됩니다. 

동일한 조건일까요? 그렇지 않죠? 

만일 시간 단위로 계산을 하게 되면 특정 행동을 수행한 시간부터 다음 행동까지의 Time window를 24시간 뒤로 하면 이 유저는 다음날이 아닌 모레 재방문했다고 계산되겠죠? 

DATEDIFF( [first_event_dt], [second_event], DAY )

DATEDIFF( [first_event_dt], [second_event], HOUR ) / 24 )

 

월단위로 계산할 때도 마찬가지입니다.

 

월별 일자수가 모두 다릅니다. 1월(31일), 2월(28일), 4월(30일)... 

 

월 단위로 측정할 때도 30일로 모두 통일해줍니다. 

DATEDIFF( [first_event_dt], [second_event], HOUR ) / 24  * 30)

 

이렇게 계산되면 유저별로 경과 시간은 모두 통일 되었습니다!!

 

실제로 Amplitude(앰플리튜드)의 코호트 분석 기능에는 이런 기능들이 존재합니다.  만약 안 쓰고 계시다면 직접 쿼리를 날려서... 

 

여기 가이드를 보시면 앰플리튜드가 24시간 단위로 경과 시간을 측청 하는 방식을 설명해 두었습니다. 

Amplitude 24시간 단위 경과 시간 측정 방식 유저 가이드 북마크 이밎

 

앰플리튜드 24시간 단위 경과 시간 설정 화면
앰플리튜드 화면 캡쳐

 

24시간 윈도우 기준, 캘린더 기준으로 경과 시간(t)을 측정하는 옵션이 있죠? 

 

얼마나 차이를 보였는지 가상의 데이터로 확인을 해보았습니다. 

 

(참고로 더미 데이터는 kaggle 이나 Mockaroo 에서 생성하실 수 있습니다)

 

참고로 해당 데이터 계산 기준은 월별 첫 구매 기준 재구매율입니다. 

 

월별 첫 구매 기준 재구매율 기준 리텐션 비교

 

t = 1 지점부터 차이를 보이기 시작하는데 t = 0 이 100%라서 차이가 잘 안 보입니다. 로그 스케일을 통해 다시 확인해 보면 

 

월별 첫 구매 기준 재구매율 기준 리텐션 비교, 로그 스케일로 확인한 그래프

 

확실히 달력 기준의 리텐션율이 조금 더 높아 보이네요 

 

얼마나 차이 나는지 두 기준의 리텐션율을 나눠 보겠습니다 최대  1.27배까지 납니다. (아래 차트에서는 0은 무시합니다. t = 0 은 100%이기 때문에)

 

t = 1 : 1.15배

t = 22 : 1.27배

 

달력(day) 기준과 24시간 기준 리텐션율

 

데이터에 따라서 차이가 달라지겠지만 

 

코호트의 기준이 만일 회원가입일 기준의 재구매율이거나 회원가입일 기준 재방문율을 측정한다면 더 많은 차이를 보일 수 있을 걸로 예상됩니다. 

 

제가 사용한 쿼리는 아래와 같습니다.

WITH tb_pay_first AS (
        SELECT country
                ,user_id
                ,min(pay_datetime_id) first_pay_datetime_id
        FROM order
        GROUP BY 1,2

)

, tb_base_ AS (SELECT  st0.*
                    , FLOOR(TIMESTAMPDIFF(HOUR, st1.first_pay_datetime_id, st0.pay_datetime_id) / 24) AS days_since_first_pay
                    , FLOOR(TIMESTAMPDIFF(HOUR, st1.first_pay_datetime_id, st0.pay_datetime_id) / (24 * 30)) AS months_since_first_pay_period_24h
                    , (YEAR(pay_datetime_id) - YEAR(first_pay_datetime_id)) * 12 + (MONTH(pay_datetime_id) - MONTH(first_pay_datetime_id)) AS months_since_first_pay_period_day
                    , st1.first_pay_datetime_id
            FROM order st0
            LEFT JOIN tb_pay_first st1
                ON st0.user_id = st1.user_id
                AND st0.country = st1.country
            WHERE 1 = 1

)

, tb_base_24h AS (
                SELECT time_id_
                        , country
                        , since_time_period_24h
                        , CASE 
                            WHEN 'acc' = 'normal' THEN SUM(SUM(IF(since_time_period_24h = max_since_time_period_24h, repurchase_user_cnt, 0))) OVER 
                                (PARTITION BY time_id_, country ORDER BY since_time_period_24h DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
                            ELSE SUM(repurchase_user_cnt)
                            END AS repurchase_user_cnt
                        , count(1) pay_user_cnt
                        , sum(sales) AS sales

                FROM   (SELECT *
                                , CASE WHEN since_time_period_24h = 0 AND pay_cnt > 1 THEN 1
                                        WHEN since_time_period_24h = 0 AND pay_cnt <= 1 THEN 0
                                        ELSE 1 
                                    END AS repurchase_user_cnt
                                , MAX(since_time_period_24h) OVER (PARTITION BY country, user_id) as max_since_time_period_24h
                        FROM
                                (SELECT tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_24h 
                                        , tmp0.user_id
                                        , SUM(tmp0.pay_cnt) AS pay_cnt
                                        , SUM(tmp0.sales) AS sales
                                FROM 
                                        (SELECT DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') time_id_
                                                , country
                                                -- , months_since_first_pay_period_day AS since_time_period_day
                                                , months_since_first_pay_period_24h AS since_time_period_24h
                                                , user_id
                                                , COUNT(distinct order_id) AS pay_cnt
                                                , SUM(sales) as sales
                                        FROM tb_base_
                                        -- WHERE DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') >= '2023-01-01'
                                        GROUP BY 1,2,3,4) tmp0
                                GROUP BY tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_24h 
                                        , tmp0.user_id
                                ) tmp
                                    ) tmp1
                GROUP BY time_id_ 
                        , country
                        , since_time_period_24h
)

, tb_base_day AS (
                SELECT time_id_
                        , country
                        , since_time_period_day
                        , CASE 
                            WHEN 'acc' = 'normal'  THEN SUM(SUM(IF(since_time_period_day = max_since_time_period_day, repurchase_user_cnt, 0))) OVER 
                                (PARTITION BY time_id_, country ORDER BY since_time_period_day DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
                            ELSE SUM(repurchase_user_cnt)
                            END AS repurchase_user_cnt
                        , count(1) pay_user_cnt
                        , sum(sales) AS sales
                FROM   (SELECT *
                                , CASE WHEN since_time_period_day = 0 AND pay_cnt > 1 THEN 1
                                        WHEN since_time_period_day = 0 AND pay_cnt <= 1 THEN 0
                                        ELSE 1 
                                    END AS repurchase_user_cnt
                                , MAX(since_time_period_day) OVER (PARTITION BY country, user_id) as max_since_time_period_day
                        FROM
                                (SELECT tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_day 
                                        , tmp0.user_id
                                        , SUM(tmp0.pay_cnt) AS pay_cnt
                                        , SUM(tmp0.sales) AS sales
                                FROM 
                                        (SELECT DATE_FORMAT(first_pay_datetime_id ,'%Y-%m-01') time_id_
                                                , country
                                                , months_since_first_pay_period_day AS since_time_period_day
                                                -- , months_since_first_pay_period_24h AS since_time_period_24h
                                                , user_id
                                                , COUNT(distinct order_id) AS pay_cnt
                                                , SUM(sales) as sales
                                        FROM tb_base_
                                        GROUP BY 1,2,3,4) tmp0
                                GROUP BY tmp0.time_id_
                                        , tmp0.country
                                        , tmp0.since_time_period_day 
                                        , tmp0.user_id
                                ) tmp
                                    ) tmp1
                GROUP BY time_id_ 
                        , country
                        , since_time_period_day
)


, cohort_base_24h AS 
                (SELECT time_id_
                    , country 
                    , since_time_period_24h
                    , repurchase_user_cnt
                    , pay_user_cnt
                    , sales
                    , SUM(sales) OVER w AS acc_sales
                    , FIRST_VALUE(pay_user_cnt) OVER w AS cohort_user_cnt
                    , COUNT(1) OVER (PARTITION BY country) AS cohort_cnt
                FROM tb_base_24h
                WINDOW w AS (PARTITION BY time_id_, country ORDER BY since_time_period_24h RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
                )
)

, cohort_base_day AS 
                (SELECT time_id_
                    , country 
                    , since_time_period_day
                    , repurchase_user_cnt
                    , pay_user_cnt
                    , sales
                    , SUM(sales) OVER w AS acc_sales
                    , FIRST_VALUE(pay_user_cnt) OVER w AS cohort_user_cnt
                    , COUNT(1) OVER (PARTITION BY country) AS cohort_cnt
                FROM tb_base_day
                WINDOW w AS (PARTITION BY time_id_, country ORDER BY since_time_period_day RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
                )
)


SELECT *
    , (pay_user_cnt * 100) / cohort_user_cnt AS retention_rate
FROM
            (SELECT 1 AS time_id
                    , country
                    , since_time_period_24h
                    , SUM(repurchase_user_cnt) AS repurchase_user_cnt
                    , SUM(pay_user_cnt) AS pay_user_cnt
                    , FIRST_VALUE(sum(cohort_user_cnt)) OVER(PARTITION BY country RANGE BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) as cohort_user_cnt
            FROM cohort_base_24h
            GROUP BY 1
                    , country
                    , since_time_period_24h) tmp3

정리해 보면!

분석의 기준은 굉장히 중요합니다. 어떤 기준으로 분석하느냐에 따라서 의사결정 방향이 달라질 수 있겠죠? 

 

코호트 분석은 시간을 계산해서 집계하는 분석인만큼 시간의 기준을 제대로 설정하는 게 중요합니다. 

 

Text Color Change 달력 단위의 코호트 측정이 조금 더 실제로 과대 평가되기 때문에 유저별로 통일된 24시간 기준 으로 계산하여 코호트를 측정하는 것이 올바른 방법이라고 생각이 됩니다. 

 

저도 실제로 분석해 보면서 분석 기준의 중요성을 다시 한번 깨달을 수 있었습니다.

 

혹시 지금 day 단위로 코호트 활용해 재구매율을 측정하고 계신다면 24시간 단위로 계산해 보시면 어떨까요? 

 

 

Reference

https://medium.com/@paul.levchuk/how-to-build-user-cohort-properly-b70a74e5e1c8

MARTECH_image_thumbnail
GROWTH

MGS로 보는 2024 디지털 마케팅 트렌드

August 29, 2024

MGS란?

Modern Growth Stack, 모던 그로스 스택으로 디지털 마케팅 솔루션 에어브릿지(Airbridge)와 브레이즈(Braze), 앰플리튜드(Amplitdue) 등을 다루는 AB180이 개최하는 디지털 마케팅 세미나입니다.

https://www.moderngrowthstack.com/speaker

모던 그로스 스택 2024 MGS 스피커 확인페이지 북마크

이번 MGS 2024는 'FUTURE OF GROWTH'라는 주제로 2024.07.31 (수) 9시부터 18시까지 서울 코엑스 1층 그랜드볼룸 & 2층 아셈볼룸에서 진행됩니다.

디지털 마케팅 세미나

디지털 마케팅 분야에서 MGS만큼 큰 규모로 개최되는 세미나는 3개+ 정도 있습니다.

1. MGS: Modern Growth Stack by AB180

2. The Maxonomy by CJ Maxonomy

3. MAX Summit by 모비데이즈(MOBIDAYS)

2022년에는 맥스서밋에서 발표를 했었고("온택트 시대, 푸드 테크 기업의 新 마케팅 전략"), 2023년에는 The Maxonomy에서 마티니의 발표 자료("마케팅하는데 개발이 왜 문제일까?")를 만들었고 2024년은 MGS에 마티니의 일원으로 참가하는데요.

MGS와 같은 대형 세미나를 가면 보통 한 장소에 홀이 여러 개 (main, sub1, sub2...) 있고 세션이 나눠서 진행됩니다. 관심사에 맞는 세션을 들으러 시간마다 자리를 이동하곤 하고요.

MGS 2023, Breakout Hall 2의 오프라인 타임테이블
MGS 2023, Breakout Hall 2의 타임테이블

MGS 2023 세션 현장 모습
MGS 2023 세션 중

MGS 2024 주제 및 연사진 소개 이미지
MGS 2024 주제 및 연사진 소개

세션은 다양합니다.

인하우스(브랜드나 플랫폼)에서 마케팅 전략 및 실행안에 대한 인사이트를 나눌 때도 있고 솔루션사(Amplitude, Braze, Airbridge 등 PA, CRM, MMP Soltuion)에서 솔루션의 이점에 대해서 말하기도 하고요. 광고 플랫폼이나 대행사, 컨설팅사 등 주제와 연사도 다양하고 그에 따라 내용과 난이도도 다채롭습니다.

2024년 연사진만 슬쩍 봐도 구글(Google), 메타(Meta), X(엑스: 구 트위터 twitter), 커니(Kearny) 등의 광고 플랫폼들과 컨설팅사 및 29CM 등의 인하우스 눈에 띄네요.

2024 디지털 마케팅 트렌드

디지털 마케팅 분야에서 유명한 AB180, CJ Maxonomy, 모비데이즈가 개최하는 세미나들인 만큼 운영하는 세션의 주제만으로도 트렌드를 파악하기 충분합니다. 오늘은 MGS 2024의 세션을 통해 최근의 마케팅 트렌드가 무엇인지 알아보려고 합니다.

우선 AB180측에서 분류해 둔 키워드는 #글로벌, #애드테크·마테크, #트렌드 #프라이버시 #게임 #제품분석 #AI #MMP #UA #크리에이티브 #풀퍼널마케팅 #CRM #수익화 등입니다.

MGS 2024 마케팅 트렌드 키워드 분류 이미지

키워드가 좀 많다 보니, 세션들을 확인하고 좀 더 포괄적으로 공통되는 주제로 분류하자면 아래 4개의 카테고리 정도입니다. 관련 주제에 어떤 세션들이 준비되어 있는지 짚어봅니다.

*파란 글씨는 개인 의견입니다.

1. AI와 데이터 분석

2. 고객 관계 관리 (CRM)

3. 광고 기술 (AdTech) 및 마케팅 기술 (MarTech)

4. 성장(Growth) 전략, 트렌드 및 혁신

1. AI와 데이터 분석

디지털 마케팅에서 이제 인공지능(AI)이 빠질 수 없겠죠. AI로 마케팅에 들어가던 인풋을 줄여주거나 성과를 개선하거나 데이터를 활용하는 내용 위주인 듯합니다.

✅ AI 시대의 마케팅 성과 극대화를 위한 측정 및 운영 전략

이주원 Meta | Head of Marketing Science, Korea

*광고 플랫폼으로 '배너 광고하면 Meta'는 정말 견고하죠. 배너 광고하면 Meta를 빼고 갈 수는 없으니까요. 메타 광고를 세팅하면 노출 등의 효율 최적화를 위해 머신러닝이 도는 시간이 필요하다는 이야기를 많이 했는데, 새로운 측정 및 운영 전략이 나올지 궁금합니다...!

https://ko-kr.facebook.com/business/ads

Meta 메타 광고 설명 페이지 - 페이스북 메타 북마크

✅ ‘초개인화’ 광고 시대, AI 시대 기업들의 선택과 집중은?

안재균 Moloco | 한국 지사장

*몰로코 또한 광고 플랫폼입니다. 퍼포먼스 광고 및 광고 수익화 솔루션을 제공합니다.

https://www.moloco.com/ko

몰로코 Moloco 홈페이지 북마크

✅ Automating App Store Optimization with Generative AI

Andy Carvell Phiture | CEO

*그로스 컨설팅사/대행사입니다. 생성형 인공지능(Generative AI)을 통해 앱스토어 최적화 (ASO)를 자동화하는 방식에 대해 설명하는 세션인 듯합니다. 웹에서 트래픽을 만드는 데 SEO가 필수적인 것처럼, 앱에서의 ASO도 마찬가지로 중요하죠.

https://phiture.com/

모바일 그로스 컨설팅 에이전시 Phiture 홈페이지 북마크

✅ '감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기

이수현, Snowflake | 테크 에반젤리스트

*데이터 클라우드를 다루는 스노우플레이크의 세션입니다.

https://www.snowflake.com/ko/

데이터 클라우드 | 스노우 플레이크 Snowflake Korea 홈페이지 북마크

✅ Supercharge Market Conversions Through AI

Adrien Kwong, Xtend | Chief Commercial Officer

✅ 트위터에서 X로의 진화

신창섭 X 코리아 | 대표

*일론머스크가 파랑새 트위터를 인수하여 X로 바꾸고, 유료화를 진행한다는 소식 외에도 팔로워 N명 이상인 인플루언서들에게 수익을 배분하는 등의 새로운 기능을 도입하였는데 이에 대한 이야기일까 궁금하네요.

2. CRM 마케팅, 고객관계관리

CRM: Customer Relationship Management 고객관계관리라는 아주 넓은 의미의 단어로 통용되고 있는 CRM 마케팅은 사용자와 닿는 메시지(팝업 배너, 앱푸시, 카카오톡, 문자, 이메일 등) 위주인데요.

퍼포먼스 마케팅보다는 비용 효율적이고(ex. 광고 소재 클릭당비용 보다는 카톡 발송 비용이 더 저렴한 경우), 웹/앱에서 사용자 행동 기반 개인화가 가능해 그로스해킹/그로스마케팅의 방법론으로도 많이 활용됩니다.

✅ 2024’s Breakthrough Trends & strategies for Customer Engagement

고주연, Braze | Area Vice President of Korea

*브레이즈 한국에서 CRM 솔루션으로 가장 인지도 높은 툴이죠. 한 개의 CRM 캠페인 내에서 여러 갈래의 시나리오로 쪼개어 맞춤형 메시지를 발송할 수 있다는 장점이 큽니다.

✅ "우리 잘하고 있는 건가?": CRM 마케터들이 궁금해하는 고민과 해결방안

이건희, 마티니 | 팀장

*마티니에서 수많은 회사들을 만나며 다수가 공통되게 CRM에 관련하여 고민했던 부분들을 모아서 설명하신다고 해요.

✅ 데이터를 성과로 바꾸는 그로스마케팅 - 실험과 개인화를 중심으로

조형구/강하은, 29CM | Growth Marketer

*특정 브랜드/카테고리의 매출을 개선시키기 위한 크로스 채널 전략과 마케팅 퍼널 관점에서의 개인화 캠페인 사례, 데이터 대시보드를 활용한 분석과 기획 등이 위주로 개인화 캠페인이 CRM 관련 사례일 듯합니다.

✅ 버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데?

최동훈, Amplitude | Senior Korea Partner Sales Manager

이재철, 마티니 | 팀장, 이형일, BKR | 이사

*마티니와 버거킹이 앰플리튜드를 도입하고 고도화해 고객의 행동(구매 등) 패턴을 분석하고 이를 브레이즈 기반의 CRM 캠페인으로 풀어나가는 과정에 대한 세션입니다.

✅ 전체론적 마케팅의 부상: Everything Matters운영을 넘어 통합 마케팅 전략으로 고객 성공을 이끌다

조경상, NNT | CEO

*퍼포먼스 마케팅과 CRM, 데이터 엔지니어링, 크리에이티브 테스트 등 다양한 마케팅 수단을 다뤄주실 듯합니다.

✅ 게임회사에서 A-Z 그로스로 론칭하기

민병철, PIEDPIXELS | 사업 이사

✅ 실시간 데이터로 고객을 사로잡는 풀퍼널 마케팅 전략

오담인, 윤정묵, 장소영, 김형준, AB180 & Airbridge | Customer Success Team

3. 애드테크(Adtech)와 마테크(Martech)

애드테크는 Advertisement+Tech, 마테크는 Marketing+Tech로 광고와 마케팅에 있어 기술을 접목한 형태를 말합니다. 웹이나 앱에서의 성과 측정 및 사용자 행동 분석 등에 필요하죠.

✅ 좋은 MMP가 주는 좋은 경험

정헌재, AB180 & Airbridge | CPO

*MMP는 Mobile Measurement Partners로 모바일, 앱(App)으로 전환되는 성과 측정을 도와주는 툴입니다. 앱스플라이어(Appsflyer), 에어브릿지(Airbridge), 애드저스트(Adjust) 등이 있습니다.

✅ 1P Data의 시대, 지금 토스애즈에 주목해야 하는 이유

김형빈, Viva Republica (Toss) | 부문장

*웹에서의 사용자 행동을 추적할 수 있었던 쿠키(Cookie)가 사라지면서 쿠키리스 시대 = 1p, 1st party가 중요해지는 시대가 왔습니다. 토스의 경우 엄청난 사용자 모수와 함께 그들이 '결제 데이터'를 가지고 있으므로 타겟팅에 유리할 수밖에 없겠죠?

✅ Shaping Android’s Privacy Sandbox

Pan Katsukis, Remerge | Co-Founder & CEO

✅ 프로덕트 애널리틱스를 활용한 비즈니스 성장 가속화 전략

호명규, Amplitude | 한국영업총괄

진겸, 당근 | 팀장

원하윤, Liner | PM

✅ 현대카드 광고 미디어믹스 최적화 모델 : 광고비, 어디에 얼마를 투자해야 하는가?

김동훈, 도소희, 현대카드 | Online Marketing

*현대카드의 미디어믹스는 얼마나, 어떻게 다를까요? 예산을 최적화하는 AI모델링 시스템을 구축한 일련의 과정을 소개한다고 하여 기대 중입니다!

✅ 딜라이트룸과의 파이어사이드 챗: 모바일 수익화 성과를 높이는 방법

Bob Wang, PubMatic | Country Manager, Greater China & Korea

이승제, 딜라이트룸 | Product Owner, BD Lead

✅ Data for Everyone: 모두가 함께하는 데이터 마케팅

김나은, AB180 & Airbridge | VP of Growth

최동훈, Amplitude | 한국비즈니스총괄

최준호, Braze | Partner Sales Director

이수현, Snowflake | Tech Evangelist

✅ 앱 스토어 데이터 마이닝을 통한 우리 사용자 행동 분석

윤가비, Apptweak | 한국 지사장

*웹에서 SEO가 중요한 만큼 앱에서는 ASO 또한 중요한데요. (App Store Optimization) 앱트위크는 앱스토어 최적화를 위해 현황을 점검하고 키워드를 찾는 등 필요 요소들을 모두 확인하기 좋더라고요.

4. 성장(Growth) 전략, 5. 트렌드 및 혁신

#글로벌, #애드테크·마테크, #트렌드 #프라이버시 #게임 #제품분석 #AI #MMP #UA #크리에이티브 #풀퍼널마케팅 #CRM #수익화

그로스마케팅, 그로스해킹, 그로스전략은 아직까지도 유효한 트렌드인 듯합니다. 그렇지만 결국 그로스를 이뤄내기 위해서는 조금 더 세부적인 부문의 실행 방안들이 필요합니다.

실행방안 #풀퍼널 #제품분석 #UA #크리에이티브 #CRM #수익화

사용자 여정의 풀퍼널(Full-Funnel)과 제품을 분석했을 때 프로덕트의 상황에 따라 UA(User Acquisitio, 신규 사용자 획득)에 초점을 맞춰야 할 수도 있고, 크리에이티브를 다변화하며 소재 A/B테스트를 운영해야 할 수도 있고, CRM을 통해서 사용자들에게 다음 단계 혹은 리텐션을 유도해야 할 수도 있고, '구매 전환'을 통한 수익화를 최우선으로 해야 할 수도 있습니다.

.

.

.

Text Formatting

2024 디지털 마케팅의 트렌드는 AI 및 애드테크, 마테크의 기술적 고도화에 의한 업무 및 성과 효율의 개선이라고도 볼 수 있겠으나 사실 가장 중요한 것은 '우리 회사는 무엇이 문제가 되는 상황이고, 어떤 단계인지'를 데이터 기반으로 객관적으로 판단하는 것이라 생각합니다.

2024 디지털 마케팅 트렌드
AI와 애드테크/마테크의 고도화

남들이 말하는 트렌드보다는 우리의 문제에 집중하기!

최근에 작은 브랜드를 운영하시는 대표님을 만나 뵌 적이 있었는데, 정말 열심히 하는 분이었습니다. 주말이면 온갖 웨비나와 세미나를 섭렵하시고 책도 읽고 강의도 들으시더라고요. 마케팅이 아닌 다른 부문에서 한평생 일하시다가 중장년의 나이에 공부를 하다 보니 따라가고 싶어 노력하신다 하셨어요.

이런저런 이야기를 하다가 저는 대표님께, 이제는 그만 듣고 또 공부하고 그냥 해야 할 때라고 말씀드렸습니다. 지금 수능 보고 낮은 점수받기 싫어서 계속 인터넷 강의 듣는 N수생 같다고요.

할 때는 해야 합니다. 다만 남들이 이미 풀어본 문제를 어떻게 푸는지 알고 가면 좋겠죠. 그 방식이 꼭 나에게도 맞을 거라는 보장은 없지만, 그래도 참고하면 방향성을 잡기에는 훨씬 수월하니까요. 그래서 디지털 마케팅 세미나들이 꽤 유용하지 않나 싶습니다.

MARTECH_image_thumbnail
EVENT

브레이즈 개인화 마스터 클래스 어드밴스 Review

August 28, 2024

마티니와 함께 Braze 개인화 기능 정복하기

행사명 : Braze Personalization Master Class Advanced 세미나

장소: 서울 서초구 서초대로38길 12 마제스타시티 타워2 12F

일시: 2024년 8월 26일 월요일 오후 7시

어떻게 진행하였나요?

이번 세미나의 경우 심도 있는 개인화 기능 활용 실습을 위해 신청해주신 이메일로 Braze 데모 계정 발급을 통해 실습해보실 수 있게 하였고 실습 시간 비중을 늘려 개인화 Liquid 및 Connected Content 기능을 충분히 활용해보실 수 있게 준비했습니다.

어떤 것들을 배웠나요?

Liquid A to Z

지난 개인화 클래스는 전반적인 개념과 기능의 일부를 학습하고 활용해보았다면 이번 클래스는 Braze Liquid가 어떻게 작동하는지 문법을 상세하게 하나하나 배울 수 있는 시간이었습니다.

변수의 지정과 호출, 지정한 변수들의 수식을 적용하는 방법과 더불어 문구, 계산, 날짜 관련 Filter를 살펴보며 익혔습니다. ‍if, for, case when 3가지 태그도 수식과 함께 확인하며 사용하는 시점을 배워보았습니다.

실습의 경우 Nike 제품을 구매한 이력이 있는 유저에게만 보낼 개인화 메시지를 구현해보았습니다.

사례로 배우는 Connected Content

Connected Content는 Liquid의 활용 시점과 차이점을 비교해보며 어느 상황에서 활용할지 살펴보았습니다.

심화 사례로 쿠폰 만료 D-1 넛지 자동화, 날씨 기반 마케팅 사례를 통해 어떻게 적용할 수 있는지 배웠고 유저가 위치한 도시별로 Connected Content를 활용하여 푸쉬 제목, 바디, 이미지까지 개인화해보는 실습 시간을 가졌습니다.

CRM 커뮤니티에서 편하게 질문하자!

마티니가 CRM 마케팅을 하면서 생기는 궁금증과 Braze 활용에 있어 어려운 부분을 해소해드리고 CRM 인사이트를 공유하며 소통하기 위한 공간을 마련하였으니 많은 신청 바랍니다.

👉지금 바로 신청하기!

11월에는 Braze Automation & Data Analytics / Utilization 세미나로 CRM 캠페인 자동화와 더불어 데이터 분석 및 활용해보는 시간을 가질 예정이오니 마티니 블로그 사전등록 페이지를 통해 많은 관심으로 참여 부탁드리겠습니다!

마티니가 여러분의 CRM 성공을 위해 함께 합니다.

MARTECH_image_thumbnail
GROWTH

에어브릿지의 이벤트 구조 이해하기 (vs. GA4)

August 26, 2024

에어브릿지(Airbridge)는 데이터 수집부터 마케팅 성과 분석까지 하나의 대시보드에서 진행하는 마케팅 성과 분석 솔루션(MMP)으로, 라스트 터치 어트리뷰션, 멀티 터치 어트리뷰션, 마케팅 믹스 모델링 등 다양한 방법으로 앱과 웹사이트의 마케팅 성과를 함께 분석할 수 있는 통합 마테크 솔루션입니다.

오늘날 MMP 솔루션은 광고주들에게 필수적으로 사용되고 있습니다. 에어브릿지 역시 그 중 하나로, 별도의 연동 없이 통합된 데이터 분석과 어트리뷰션이 가능한 것이 강점입니다.

에어브릿지의 이벤트 구조는 타 플랫폼에 비해 비교적 복잡하기 때문에 이전에 GA4 및 타 분석 솔루션만을 사용하다 에어브릿지를 처음 접했다면 다소 혼란스러울 수 있습니다. 저 역시 꽤 헤맸던 것 같습니다.

이러한 계기로 에어브릿지 택소노미를 설계할 당시 이벤트 구조를 이해하는 데 실제로 도움이 됐던 자료들과 GA4의 구조를 비교하여 전체적인 구조를 설명드리고자 합니다.

에어브릿지 공식 가이드

에어브릿지의 이벤트 및 어트리뷰트 호출 코드의 작성 방법은 아래 세 가지 경로를 통해 확인하실 수 있습니다.

1. 에어브릿지 유저 가이드(Airbridge Help Center)

유저 가이드를 통해서도 코드를 작성하는 데에는 문제가 없지만 2번 자료의 코드 구조가 비교적 효율적이므로 가급적 2번 자료를 참고하시는 것을 권장드립니다.

에어브릿지 유저 가이드 - 이벤트 구성요소 | Airbridge Help Center

2. AB180 깃허브(Github)

1번 유저 가이드의 코드 예시 보다 더욱 상세한 전체 코드를 확인하실 수 있습니다.

AB180 깃허브 (Github)

3. 유저 가이드 및 에어브릿지 공식 문서(Data Spec)

에어브릿지에서 제공하는 Event와 Attribute의 목록과 상세 정보들을 확인하실 수 있습니다.

에어브릿지 이벤트 종류 | Airbridge Help Center
Airbridge Data Spec (Public)

에어브릿지 이벤트 구조 - 1

Text Example

카테고리(Category), 액션(Action), 라벨(Label)

에어브릿지 이벤트 구성 요소에는 카테고리(Event Category), 액션(Event Action), 라벨(Event Label), 밸류(Event Value), 어트리뷰트(Attribute), 트리거(Trigger)가 있습니다.

다소 복잡해 보이지만 조금만 들여다보면 이해하기 쉽습니다.

에어브릿지 이벤트 구성 요소 설명 이미지

위 이벤트 구성 요소의 개념들이 조금 생소하신 분들은 GA4의 예시로 보면 이해하기 쉽습니다.

(GA4의 Metrics & Dimension에 대한 기본 개념이 궁금하신 분들은 관련 자료를 참고해 주세요)

Text Example

GA4 vs. Airbridge

- GA4 보고서

GA4 보고서 예시 이미지

- Airbridge 보고서

Airbridge 보고서 예시 이미지

GA4의 측정기준(Dimensions)이 에어브릿지의 카테고리, 액션, 라벨의 역할을 하고,

측정항목(Metrics)이 에어브릿지의 밸류의 역할을 한다고 비교해 볼 수 있습니다.

Text with Underline

단, 액션과 라벨은 카테고리의 하위 속성으로서 리포트에서 확인 가능한 데이터로, 필요 시 선택적으로 세팅할 수 있습니다.

GA4와 Airbridge 구조 차이를 설명하는 이미지 표

예를 들어, 의류를 판매하는 모 기업의 마케팅 담당자가 구매 이벤트 발생 시 아래와 같은 항목들의 데이터를 수집한다고 가정합니다.

Purchase

{주문일자}
{브랜드명}
{제품명}
{색상}
{수량}

모두 시맨틱 어트리뷰트로 수집 가능한 항목들이지만 어트리뷰트의 경우 에어브릿지 리포트에서 확인할 수 없기 때문에 CDP와 같은 고객DB에 접근하거나 별도의 솔루션으로 전처리하여 확인해야 합니다. 이런 경우 유용하게 쓰일 수 있는 항목이 액션과 라벨입니다.

만일 자주 사용하는 어트리뷰트 항목을 에어브릿지의 리포트와 대시보드에서 활용하고자 한다면 어트리뷰트 항목을 액션과 라벨에 세팅하여 어트리뷰트에 대한 데이터를 리포트에서도 확인할 수 있습니다.

다시 말해, 1개의 카테고리2개의 어트리뷰트(액션, 라벨)에 대한 통계를 에어브릿지의 리포트와 대시보드에서 쉽고 빠르게 확인할 수 있습니다.

- Category: Purchase
- Action: {브랜드명}
- Label: {제품명}

아래 이미지는 스탠다드 이벤트 중에서 일정 예약 이벤트(airbridge.subscribe)의 예시입니다. 일정을 예약한 지역은 액션 또는 라벨로 수집할 수 있으며, 시맨틱 어트리뷰트를 활용하면 예약한 ID(scheduleID)와 예약일시(datetime)를 수집할 수 있습니다.

스탠다드 이벤트 중 일정 예약 이벤트(airbridge.subscribe) 예시 이미지

에어브릿지 이벤트 구조 - 2

Text Example

밸류(Value)

밸류는 에어브릿지 이벤트가 수집한 숫자를 계산에 이용하기 위해서 선택해야 하는 구성요소입니다. 에어브릿지 이벤트의 밸류로 수집된 숫자만 계산에 이용할 수 있습니다. 밸류로 소수점 9자리 이하 숫자까지 수집할 수 있습니다.

예를 들어, 레비뉴 리포트(Revenue Report)에서 판매한 제품의 가격을 더해 전체 판매 가격을 계산하거나 디지털 서비스의 구독료를 전부 합해서 전체 구독료를 확인하기 위해서는 밸류를 반드시 이벤트 구성요소로 사용해야 합니다.

또한, 밸류로 수집된 데이터는 밸류로 수집된 다른 데이터와 계산할 수 있습니다. 액션이나 라벨로 수집된 데이터는 계산에 활용할 수 없습니다. 그러나 이벤트 발생 횟수는 밸류 사용 여부와 상관없이 확인할 수 있습니다.

예시) 구매 완료 이벤트

구매 완료 이벤트 예시 이미지

위 예시와 같이 액션과 라벨, 밸류 모두 숫자로 수집한다고 하더라도 밸류로 수집한 데이터만 계산할 수 있으며, 액션과 라벨로 수집한 데이터는 계산할 수 없습니다. 예시에서는 구매 완료 이벤트의 밸류로 수집한 데이터를 더해서 30,000이라는 수치를 얻을 수 있습니다.

Text Color Change

단, 카테고리(이벤트)와 동일하게 이벤트가 발생한 횟수는 확인할 수 있습니다. 구매 완료 이벤트의 액션 중에서 1,000이라는 속성이 2번 발생한 것을 에어브릿지 리포트에서 확인할 수 있습니다.

매출 관련 데이터는 속성으로 수집하는 것이 일반적이나, 에어브릿지의 경우에는 Attribute가 아닌 Value로 수집합니다. 즉 밸류에는 보통 구매액이 들어가고, 어트리뷰트에서는 기타 정보들을 수집합니다.

에어브릿지의 매출 관련 데이터 수집 화면

Semantic Attribute로 사용할 수도 있지만, Actuals Report나 Revenue Report에서는 이벤트 밸류에 Semantic Attribute의 isRevenue 값을 True로 설정한 카테고리(이벤트)로부터 발생한 매출액(Value 값)을 기준으로 확인하기 때문에 이는 적절하지 않습니다. (설정 가능한 Revenue 이벤트 수: 최대 5개)

Revenue Report 내 이벤트 벨류 예시 이미지

Revenue 이벤트를 설정할 때 한 가지 유의할 점은 Revenue의 구조가 다양한 서비스일 경우(전환 포인트: 포인트 충전, 제품 결제, 광고 충전 포인트 등), Revenue Report에서 확인할 최종 전환 기준 한 가지를 선정하셔야 합니다.

만일 아래와 같이 구매 완료 시 2개의 매출 관련 이벤트가 동시에 호출되고 2개의 이벤트 모두 Revenue 이벤트로 설정한 경우 중복집계가 될 수 있기 때문입니다.

예시)

- 주문 완료 이벤트 발생 시 단위별 이벤트 동시 호출

  • airbridge.ecommerce.order.completed (주문서 단위 1건 로깅) > isRevenew(True)
  • confirm_item_order_completed (주문서 내 제품 단위 1건 로깅) > isRevenew(True)
Text Color Change

1건의 매출(=1만원) 중복 발생(=2만원)

매출액 집계 기준을 제품 단위로 볼지, 주문서 단위로 볼지 결정하고 결정된 하나의 카테고리(이벤트)에 isRevenue를 세팅해야 중복집계를 방지할 수 있습니다.

따라서 Revenue로 집계할 이벤트와 기타 매출 관련 데이터를 집계해야 하는 이벤트를 별도로 관리하시는 것을 권장드립니다.

에어브릿지 이벤트 구조 - 3

Text Example

어트리뷰트(Attribute)

GA4와 Airbridge의 이벤트 속성명 정의의 차이 비교 표

각 카테고리(이벤트)에는 다양한 속성 정보가 수집되는데, 플랫폼마다 정의하는 '속성명'이 상이합니다. GA의 경우 Parameter, 에어브릿지의 경우 Attribute로 정의합니다. 이벤트(카테고리)명 역시 GA4의 경우 Event, 에어브릿지의 경우 Standard Event라고 정의합니다. 각 플랫폼별로 기본적으로 제공되는 속성들이 있으며, 에어브릿지의 경우 Data Spec에서 확인이 가능합니다.

Text Color Change

단, 현재 버전의 SDK에서 제공되지 않는 일부 항목들도 포함되어 있으므로 명확한 확인이 필요합니다.

Airbridge Event

  • 스탠다드 이벤트: 에어브릿지는 주요 유저 행동 25개를 선정해 미리 정의한 이벤트
  • 커스텀 이벤트: 앱 서비스에 맞는 광고 성과를 추적하기 위해 스탠다드 이벤트에 해당하지 않는 유저의 행동을 새로 정의한 이벤트

Airbridge Attribute

  • 시맨틱 어트리뷰트: 에어브릿지가 수집하는 데이터를 미리 정한 어트리뷰트
  • 커스텀 어트리뷰트: 에어브릿지 사용자가 수집하기 위해서 새롭게 정의한 어트리뷰트

Text Color Change 한 가지 유의사항이 있다면, 에어브릿지 커스텀의 경우 원본 데이터 추출에서 수집된 모든 속성 데이터가 같은 칼럼에 담긴 상태로 확인이 가능 합니다. 아래 실시간 로그에서 형태를 확인하실 수 있습니다.

Airbridge의 앱 이벤트 실시간 로그 화면

따라서 데이터의 수집 구조를 충분히 고려하여 분석 환경을 구축해 놓는 것이 좋습니다.

MARTECH_image_thumbnail
EVENT

[종료] 브레이즈 개인화 마스터 클래스 어드밴스 모집!

August 14, 2024

Braze Personalization Master Class Advanced 메인 썸네일
Braze Personalization Master Class Advanced 소개 이미지

[Martinee X Braze]

Braze Personalization Master Class Advanced는 Braze 도입을 고민하고 계시거나 도입 후 잘 활용하고 싶으신 고객사를 대상으로 Braze 개인화 기능인 Personalization 활용 노하우를 공유하는 교육 세미나입니다.

브레이즈 개인화 기능, 여러분도 잘 활용할 수 있습니다.

“Braze 도입은 했는데.. 어디서부터 어떻게 해야 하지?”
“Braze 개인화, 더 깊고 세부적으로 사용하려면 개발이 필요하지는 않을까?”

Braze 개인화 기능, 여러분도 개발없이 전문가처럼 매우 세부적으로 활용할 수 있습니다.

이번 세션에서는 Braze 개인화 단계 중 Liquid와 Connected Contents를 활용하여 심화 켐페인 실습을 진행하여 충분히 실무에 활용할 수 있도록 하였으며,

성공적인 CRM 캠페인을 위한 다양한 CRM 캠페인 사례들을 함께 확인해봅니다.

마티니와 함께한 고객사

마티니와 함께한 고객사 로고 모음 이미지_버거킹, 오늘의집, 무신사, KFC, 쏘카, 알라미, 발란, 칼하트, LG전자, 넷마블, 크래프톤, 머스트잇, 동원F&B, 이랜드폴더, 네오위즈, IBK기업은행, 밀리의서재

마티니는 버거킹, 오늘의집, 무신사, KFC, 쏘카, 알라미(딜라이트룸), 발란, 칼하트, LG전자, 넷마블, 크래프톤, 머스트잇, 동원F&B, 이랜드폴더, 네오위즈, IBK기업은행, 밀리의서재 이외에도 다양한 고객사와 여정을 함께하고 있습니다.

실무에 바로 적용할 수 있는 활용 노하우, 마티니와 함께한 고객사들이 만족하는 이유입니다.

참여했던 고객사들의 생생한 후기

Braze Personalization Master Class Advanced 참여 고객사 후기

지난 브레이즈 부트캠프에 참여해주신 분들의 생생한 후기를 확인해보세요.

“ 실제 사용 사례에 대해 많이 들을 수 있어서 좋았고 브레이즈 시현 과정을 볼 수 있어서 좋았습니다. “
“ 라이브 데모를 통해 어떻게 활용하는지 상세하게 알 수 있었습니다. “
“CRM 고도화에 Braze가 어떻게 기여할 수 있을지에 대한 궁금증을 해소할 수 있었습니다. “
“Braze 개인화를 위한 Liquid의 개념과 구조 설명이 있어서 이해하기 좋았습니다. “

이런 분이 오시면 좋아요

Braze Personalization Master Class Advanced 추천 대상
  • Braze 도입 후 개인화 기능을 활용해보고 싶으신 분
  • 개발없이 Braze 개인화 기능을 전문적으로 활용하고 싶으신 분
  • Braze 개인화 기능으로 캠페인 기획부터 성과 분석까지 해보고 싶으신 분
  • 유저 개개인에게 최적화된 개인화 메시지를 발송하고 싶으신 분

브레이즈를 잘 활용하면?

이런 것들이 가능해요

Braze Personalization Master Class Advanced 브레이즈 활용이점
  • 고객 특성에 따른 개인화 메시지를 구성하고 최적의 시점에 발송할 수 있습니다.
  • 웹과 앱에서의 고객 여정 경우의 수를 확인하고 그에 따른 맞춤 캠페인 기획이 가능합니다.
  • 유저의 이탈 시점과 경로를 확인하여 재방문 시킬 수 있는 캠페인 기획이 가능합니다.
  • 다양한 API를 활용하여 트리거 기반으로 알림 및 메시지 자동화를 구축할 수 있습니다.

세션 커리큘럼

Braze Personalization Master Class Advanced 연사자 소개 및 커리큘럼

Braze Personalization Master Class | 이건희 연사, Martinee CRM Team Lead

  • Personalization Master Advanced
    • Liquid, Connected Content를 활용한 심화된 캠페인 사례를 배웁니다.
    • 개인화가 적용된 다양한 캠페인 사례를 확인합니다.

추후 진행예정

11월

Braze Automation Master Class

  • Automation Planning Deep Dive
    • 캠페인/캔버스 기획에서 중요한 포인트들을 점검합니다.
    • 목적별로 다양한 캠페인 기획 사례를 살펴봅니다.

Braze Data Analytics Master Class

  • Data Analytics / Utilization
    • CRM 캠페인의 다양한 분석 방법을 확인합니다.
    • Braze의 데이터 활용을 극대화하는 방법들을 살펴봅니다.

When

2024년 8월 26일 월요일 오후 7시 - 9시‍

Where

서초구 서초대로 38길 12 마제스타시티 타워2, 12층 마티니 오피스

  • 서초역 4번 출구 도보 5분 소요

네이버 지도로 확인하기

Braze Personalization Master Class Advanced 참여자 혜택 및 안내사항

참여자 혜택

📢 혜택 1. Martinee CRM 커뮤니티 초대

📢 혜택 2. 마티니 CRM POC 추첨 무료 1회 제공

안내사항

  • 참가 인원이 한정되어 있어 별도 참석 확정 연락을 드릴 예정입니다.
  • 실습이 포함된 교육으로 개인 노트북 지참이 필요합니다.
  • 주차권 제공 가능하며 리셉션 데스크로 문의 부탁드립니다.
  • 신청시 기입한 이메일이 회사 이메일이 아닐 경우 선정이 불가할 수 있습니다.
  • 참석자분들에게 간단한 음식이 제공될 예정입니다.
  • CRM POC의 경우 추첨을 통해 선정되신 분께 별도로 안내드릴 예정입니다.

Contact

mkt@martinee.io

CRM 캠페인의 성과와 비즈니스 개선을 마티니와 함께 이뤄보세요!

지난 브레이즈 개인화 마스터 클래스 보러가기!

MARTECH_image_thumbnail
EVENT

[종료] Martinee 2024 Recap 행사

August 6, 2024

2024 Maritnee Recap!

Maritnee 2024 Recap 행사 개요 이미지

행사명 : Maritnee 2024 Recap 행사

장소: 서울 서초구 서초대로38길 12 마제스타시티 타워2 12F

일시: 2024년 8월 20일 화요일 오후 3시

대상:

  • 마케팅 인사이트를 얻고 싶으신 분
  • 마티니만의 CRM & 그로스 마케팅 성공 사례가 궁금하신 분
  • MGS 2024에서의 Martinee & AB180 & Snowflake 세션을 다시 듣고 싶으신 분

CRM과 그로스 마케팅 인사이트를 놓치지 마세요

Martinee 2024 Recap 스피커 소개 1
Martinee 2024 Recap 스피커 소개 2

MGS 2024에서 진행했던 마티니 & AB180 & Snowflake의 세션을 한 번에 확인해보세요.

CRM과 그로스 마케팅을 바탕으로 마티니가 직접 경험하고 이끌었던 실제 성공 사례, AB180의 마케터를 위한 SKAN 활용법과 Snowflake의 마케팅 데이터 클라우드로 비즈니스 성장을 가속화하는 방법을 공유합니다.

  • ‘CRM 마케팅에서의 고민과 문제들을 정리하고 마티니가 찾아낸 인사이트와 해결방안’
  • ‘Amplitude를 가지고 BKR과 마티니가 만드는 데이터 혁신의 비밀’
  • ‘iOS 마케터를 위한 SKAN 100%  활용하기’
  • ‘'감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기’

MGS 2024 현장에서 공유해드린 마케팅 인사이트와 성공 사례에 대해 확인할 수 있는 기회를 놓치지 마세요!

타임 테이블

Martinee 2024 Recap 타임라인

15:00 - 15:15 Martinee Marketing Intelligence 2024 | 이선규 Martinee CEO

15:15 - 15:45 버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? | 이재철 Martinee Growth Team Lead

15:45 - 16:15 "우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 | 이건희 Martinee CRM Team Lead

16:15 - 16:25 Break Time

16:25 - 16:55 iOS 마케터를 위한 SKAN 100%  활용하기 | 한예선 Airbridge & AB180 Business Development Manager

16:55 - 17:25 감'이 아닌 '데이터'로 : Snowflake로 데이터 기반 인사이트 발견하기 | 이수현 Snowflake Tech Evangelist

17:25 - 18:00 Networking & QnA

안내사항

Martinee 2024 Recap 안내사항

- 자리가 한정되어 있어 별도로 선정 안내를 드릴 예정입니다.

- 주차권 제공 가능하며 리셉션 데스크 문의바랍니다.

- 참석자분들에게 간단한 음식이 제공됩니다.

MARTECH_image_thumbnail
EVENT

Martinee | MGS 2024

August 2, 2024

Martinee x MGS 2024

MGS 2024 개막 현장
MGS 2024 행사장 전경

7월 31일, 코엑스 그랜드볼룸 & 아셈볼룸에서 AB180이 주최한 국내 최대 마케팅 컨퍼런스 MGS 2024가 개최되었습니다.

23년에 이어 마티니가 참여한 MGS 2024에서는 CRM 마케팅에서의 고민과 마티니가 경험하며 체득한 해결방안과 인사이트와 더불어 버거킹의 Amplitude 도입부터 세부적인 단계별 과정을 소개드리고 쏘카와 함께 Braze를 활용한 크로스 셀링 전략과 초개인화 CRM 마케팅 성공 사례를 3개의 발표 세션을 통해 공유하는 자리였습니다.

MGS 2024에서 진행했던 마티니 세션들을 살펴볼까요?

"우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안

"우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 세션 연사자 마티니 CRM 이건희 팀장
"우리 잘하고 있는건가?": CRM 마케터들이 궁금해하는 고민과 해결방안 세션 연사자 마티니 CRM 이건희 팀장 2

마티니 CRM팀은 KFC, 이랜드 폴더, 콘텐츠웨이브, 뮤직카우, 레브잇, 발란, 딜라이트룸 알라미, 오늘의집, 버거킹 등 무수히 많은 국내 유명 기업과 함께 협업하며 Braze를 200% 활용하고 CRM 인사이트를 확장시켜 왔는데요.

지금까지 수많은 CRM 캠페인을 실행하고 경험하고 겪었던 CRM 마케팅에서의 고민들과 그에 따른 마티니만의 해결방안을 CRM팀 리더 건희님이 발표 세션에서 공유해드렸습니다.

개인화

개인화로 어떤 걸 할 수 있어요?

➡️ 개인화의 3단계 Level과 함께 마티니가 실제 적용해본 CRM 사례를 바탕으로 개인화로 가능한 부분을 설명해드렸습니다.

분석

CRM 성과 어떻게 분석하는 것이 좋을까요?

➡️ 증분 분석과 PA 솔루션 활용으로 오로지 마케팅 활동이 만들어준 ‘진짜’ 성과를 찾는 방법을 알려드렸습니다.

연계활용

PA나 MMP랑 연계하면 뭘 할 수 있나요?

➡️ 각 솔루션의 역할과 CRM 솔루션과의 연동 케이스들을 기반으로 PA 및 MMP 솔루션과 연동 활용 시 가능한 점들을 설명드렸습니다.

테스트

모수가 너무 적은데 의미 있을까요?

➡️ 모수 크기 계산과 카이 제곱 검정식을 바탕으로 적절한 모수와 전환율을 확인하는 방법을 공유해드렸습니다.

도입

Braze 도입, 어느 정도 걸려요?

➡️ 도입 시작부터 첫 캠페인 런칭 기준 도입기간과 컨설팅 유무에 따른 비교을 통해 소요 기간을 알려드렸습니다.

기술적 구현

개발 지원을 못 받아서 못 하는게 많아요.

➡️ 개발 의존도를 낮춰주는 Braze의 3가지 강력한 주요 기능을 소개해드리며 개발 지원없이 가능한 CRM을 사례를 통해 설명해드렸습니다.

버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데?

버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 새션 연사자 마티니 그로스 이재철 팀장
버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 세션 Amplitude 최동훈 한국영업총괄(좌)과 BKR 이형일 이사(중앙), 그리고 마티니 그로스 이재철 팀장(우)
버거킹도 Amplitude를 쓴다고? 어떻게 쓰는데? 새션 모습

마티니는 버거킹의 Amplitude 도입부터 사용, 그리고 Braze 연계 활용까지 함께 하였는데요.

온오프라인이 모두 중요한 버거킹의 경우 디지털 플랫폼 활용도가 높기에 Amplitude 도입을 5단계의 체계적인 절차를 바탕으로 진행하였고 그에 따른 각 단계별 키 포인트들을 공유해드렸습니다.

1. Planning

2. Taxonomy
3. Development
4. QA & Stabilization

5. Go-Live

활용 단계에서는 구매 횟수별 고객 특성과 구매 시간대별 고객 특성 2가지로 나누어 쿠폰 사용 패턴을 분석한 과정과 AARRR 지표 설계에 따른 세부 기준, 유저 코호트와 같은 지표 분석 과정, 가설 도출부터 A/B 테스트 설계까지 버거킹과 함께한 상세한 내용들을 설명해드렸습니다.

‍고객 행동 중 구매 시간대에 따라 고객의 특징이 다르게 나타난다는 점을 확인할 수 있었고 얼마나 차이가 있는지 Amplitudfe 코호트 차트 기능을 활용하여 분석하였습니다.

분석한 내용을 바탕으로 Braze에서 약 48개의 코호트 그룹을 나누어 최적 시간대와 메시지 테스트를 진행하여 결과적으로 성과를 개선시킬 수 있었습니다.

쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기

쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 모더레이터 AB180 김다원님(좌)과 연사자 마티니 CRM 이건희 팀장(중앙) 그리고 쏘카 김선민 매니저(우)
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 청중과 세션 모습
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 모습
쏘카 CRM 마케터가 일하는 방법: Braze로 개발자 없이 캠페인 고도화하기 세션 연사자 마티니 CRM 이건희 팀장과 쏘카 김선민 매니저

쏘카는 기존 카셰어링에서 작년부터 숙박 서비스까지 비즈니스를 확장시키며 마티니와 함께 Braze를 잘 활용하여 체계적인 캠페인 관리 시스템을 구축해왔습니다.

해당 세션에서는 우천 시 서비스 이용이 활발해지지 않는 서비스 특성을 고려한 쏘카만의 캠페인 사례와 숙박 서비스로 범위를 확장하며 각 타겟의 반응을 확인하며 메시지 발송 대비 전환률을 상승시킨 전략들을 확인할 수 있었습니다.

CRM 마케팅에서 개발 지원없이 섬세한 캠페인 전략을 구사하기가 어려울 수 있는데요. 쏘카가 마티니와 함께 개발자 도움 없이 Braze Connected Content 기능을 활용하여 초개인화 메시지를 구현했던 과정도 상세하게 설명해드렸습니다. 기술 구현이 필요한 항목을 점검하고 오픈데이터와 Braze Liquid 및 Connected Content 기능을 활용한 케이스를 공유하며 어떻게 크로스셀링 전략을 성공적으로 이끌었는지 공유해드린 시간이었습니다.

놓치면 후회하는 마티니와 쏘카의 CRM 협업 사례, 8월 13일 Recap 행사에서 확인하실 수 있습니다.

마티니 부스에서는?

MGS 2024 마티니 부스 현장 모습
MGS 2024 마티니 부스 경품 추첨하는 모습

이번 MGS 2024에서는 마티니가 부스를 운영하여 풀스택 마케팅 도입 컨설팅 서비스에 대해 상담 서비스를 제공해드리고 보다 자세하게 설명드릴 수 있도록 하였습니다.

캡슐 뽑기를 통해서 마티니 스티커와 에코백 굿즈를 나눠드렸습니다.

퍼포먼스부터 그로스와 CRM까지 마티니와 함께, 한 번에

마티니는 세 가지 분야의 전문가들이 모여 유기적으로 협업하며 다양한 문제를 해결하고 있습니다.

버거킹과 쏘카 사례에서 보여드린 것처럼 데이터·프로덕트 분석, KPI 대시보드 설계와 제작, 데이터 파이프라인 활용, CRM 택소노미(Taxonomy) 및 프로모션 설계, MMP 설치와 점검, 퍼포먼스 마케팅 미디어 믹스까지, 각 분야의 전문가들이 모여있는 마티니와 함께 비즈니스 성공을 실현해보세요.

MARTECH_image_thumbnail
GROWTH

2. 웍스아웃: 퍼포먼스 마케팅 광고성과 대시보드

July 29, 2024

1. 개념 설명

쿠키(Cookie)란 사용자가 웹사이트를 방문할 때마다 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 기록 정보 파일을 뜻합니다. 이는 퍼포먼스 마케팅의 필수도구로써 마케팅 활동의 세부적인 추적, 개인화 및 최적화를 가능하게 했습니다.

퍼포먼스 마케팅에서 구체적인 쿠키의 기능은 다음과 같습니다.

1. 사용자 행동 추적

  • 쿠키를 통해 사용자가 방문하는 페이지, 방문 시간, 조회한 페이지 순서를 추적하고,클릭, 구매 등의 액션을 기록하여 사용자 경험에 대한 통찰력을 제공할 수 있습니다.

2. 개인화

  • 쿠키를 통해 사용자의 관심분야 및 과거 행동을 기반으로 개인화된 마케팅을 제공할 수 있습니다.

3. 리타겟팅

  • 쿠키를 통해 이전에 방문한 고객 중 원하는 행동을 하지 않은 유저에게 재방문을 유도하여 다시 행동을 하도록 유도할 수 있습니다.

4. A/B 테스트 및 최적화

  • 쿠키를 통해 유저를 분류하여 다양한 테스트 그룹에 할당하고, 유저의 행동을 추적하는데 사용합니다. 이를 통해 마케팅 담당자는 웹페이지 또는 광고의 여러 버전을 실험하고 이를 통해 효율을 최적화할 수 있습니다.

하지만 데이터 보호 규정을 시작으로 데이터 보호를 강화하기 위한 전세계의 흐름이 있었고, 애플을 시작으로 구글 폭스 등 많은 웹 브라우저 회사들이 쿠키 제공 중단을 선언헀습니다.

쿠기 제공이 중단된다면, 기존의 쿠키를 이용해 진행하던 기능들을 더 이상 진행할 수 없게 됩니다. 그 결과 각 매체의 효율이 감소하고 신규 고객을 획득하는데 필요한 비용이 증가할 것으로 예상됩니다. 구글이 쿠키의 지원 중단 시점을 2025년으로 연기했다고는 하지만, 마케터들은 선택이 아닌 필수로 기존 광고 방식에 변화가 필요한 상황입니다.

2. 진행배경

쿠키 리스 상황에서 발생하는 여러 문제들에 대비하기 위해 진행할 수 있는 여러 방법들이 있습니다. 그 중 고객사에서는 현 상황에서 다양한 매체를 활용하기보다 최고의 효율을 낼 수 있는 매체를 선별해서 효율이 좋은 매체에 집중하고자 합니다. 이를 위해 각 광고매체의 성과를 실시간으로 모니터링할 수 있는 대시보드가 필요했습니다.

광고채널 데이터에서 태블로 시각화

태블로를 통해 다양한 광고채널에 분산되어 모니터링이 어려웠던 지표들을 태블로를 통해 하나의 대시보드에서 관리함으로써 어느 채널의 어떤 광고가 효율이 좋은지를 빠르게 파악하고, 이를 통해 어떤 채널에 더 예산을 증가하거나 감소해야 할지에 대한 의사결정을 하는데 활용할 수 있습니다.

3. 진행과정

대시보드를 제작하기 위한 과정은 크게 환경점검, 데이터 수집, 데이터 저장, 데이터 시각화의 4단계로 구분할 수 있습니다.

대시보드 제작을 위한 4가지 Step

1) 환경점검

첫 번째 환경 점검 단계는 대시보드 구축을 위한 대시보드 기획단계입니다. 이 단계에서는 데이터의 출처를 정의하고, 데이터 소스부터 시각화툴인 태블로까지 이어지는 데이터 파이프라인을 그립니다. 최종적으로 대시보드에서 어떤 데이터를 대시보드에 구현하고, 이를 어떤 방식으로 시각화할지에 대한 대시보드 기획단계라고 할 수 있습니다.

환경점검 과정 3단계

해당 광고성과 대시보드를 구현하기 위해서는 광고채널로부터 나오는 광고데이터를 데이터 소스로 정의하고, 이를 통합하는 과정이 필요합니다. 이를 위한 첫 번째 단계로 Meta, Google Ads등 여러 광고 채널에서 나온 데이터를 ETL툴인 Funnel io에서 통합합니다. 이후 MMP인 에어브릿지의 데이터를 통합해 이를 하나의 구글 스프레드시트 적재합니다. 최종적으로 태블로를 통해 시각화하는 방식으로 데이터 파이프라인을 구현했습니다.

*참고) ETL이란?
추출, 전환, 적재(ETL)는 다양한 소스의 데이터를 데이터 웨어하우스라고 부르는 대형 중앙 집중식 리포지토리에 결합하는 과정

데이터 파이프 라인 구조 예시

해당 스텝으로 데이터 파이프라인을 구현했을 때의 장점은 어디서부터 데이터가 들어오게 되고, 문제가 발생했을 때 문제 발생원인을 직관적으로 확인가능하다는 점입니다.

2) 데이터수집

두 번째 데이터 수집 단계는 실질적으로 필요한 데이터를 정의하는 단계입니다.

UTM 및 parameter를 기반한 광고성과 추적을 위한 계층 구조인 네이밍 컨벤션(Naming Convention)을 정의하고 이를 통해 광고의 위계질서를 설정합니다. 해당 데이터를 통해 광고성과 데이터 정의하고 수집할 수 있습니다.

네이밍 컨벤션(Naming Convention) 예시
네이밍 컨벤션(Naming Convention) 예시

네이밍 컨벤션(Naming Convention) 정의를 완료했다면, 이를 토대로 데이터 스키마를 작성해야 합니다. 데이터 스키마란 데이터베이스의 구조와 제약조건에 관해 기술한 것을 뜻합니다. 데이터 이름 및 형태(ex. 숫자/문자)에 대해 정의함으로써 향후 데이터 스키마 하나만 확인해도 어떤 데이터 형태인지 파악할 수 있도록 합니다.

테이블명 열순서 열이름 데이터형식 설명 예시값
user_property 1 event_time_KST DATETIME 이벤트 타임 (한국시간) 2024-07-01 09:01:12
2 user_id STRING 유저아이디 "2920038”
3 referral_domain STRING 유입도메인 “@#$.com”
4 utm_source STRING UTM 소스 “airbridge.websdk”
5 utm_medium STRING UTM 매체 “fb”, “social”
6 utm_campaign STRING UTM 캠페인 “파이널세일”

3) 데이터저장

세 번째 데이터 저장 단계는 네이밍 컨벤션(Naming Convention)과 데이터 스키마를 통해 정의한 데이터를 저장하는 단계입니다.

광고성과 확인 시, 데이터의 정확성을 확보하고, 다양한 광고채널의 기여도를 정확하게 측정하기 위해 미디어 데이터 뿐만 아니라 MMP 데이터를 함께 확인해야 합니다. 이를 위해 미디어(메타, 구글애즈,..)와 MMP의 소스를 조인하는 과정이 필요합니다. 이를 위해 키값을 정의하고, 해당 키값을 기준으로 데이터를 조인합니다.

데이터 저장 단계 예시

4) 데이터시각화

마지막 데이터 시각화 단계는 정의된 데이터를 바탕으로 대시보드를 구현하는 단계입니다.

<1> 대시보드 기획안

대시보드 구현에 앞서 퍼포먼스마케터들과 협의를 진행합니다. 실제 최종 대시보드를 사용할 퍼포먼스마케터들과의 논의를 통해 대시보드의 형태 및 기능을 구체화할 수 있습니다.

대시보드 기획안 예시

<2> 최종 대시보드

마지막으로 확정된 기획안을 토대로 태블로를 통해 최종 대시보드를 구현하면 대시보드 제작과정이 마무리됩니다.

퍼포먼스 광고성과 대시보드 구현 예시

MARTECH_image_thumbnail
GROWTH

1. 웍스아웃: 프로모션 대시보드

July 18, 2024

0. 개념설명

프로모션 분석이란?

프로모션 분석은 마케팅 캠페인의 일환으로 진행된 다양한 프로모션 활동들의 효과를 평가하고 측정하는 과정입니다. 이 과정을 통해 기업은 프로모션 활동이 소비자의 구매 결정, 브랜드 인식, 시장 점유율 등에 미치는 영향을 분석할 수 있습니다. 프로모션 분석을 위해 판매 데이터, 소비자 행동 데이터, 온라인 트래픽 데이터 등 다양한 데이터 소스를 활용할 수 있습니다.

프로모션 분석의 필요성

프로모션 분석은 기업이 자원을 효율적으로 배분하고, 마케팅 목표를 달성하기 위해 필수적인 과정입니다. 이를 통해 기업은 다음과 같은 이점을 얻을 수 있습니다.

  • 효과적인 프로모션 전략 수립: 어떤 프로모션이 고객의 구매를 유도하고, 브랜드 인지도를 높이는 데 효과적인지 파악할 수 있습니다.
  • ROI 최적화: 프로모션에 대한 투자 대비 수익률(ROI)을 측정하고, 마케팅 예산을 더 효과적인 프로모션에 집중할 수 있습니다.
  • 시장 이해도 향상: 소비자 반응을 분석함으로써 시장의 현재 요구와 트렌드를 더 잘 이해할 수 있습니다.
  • 경쟁력 강화: 경쟁사 대비 우위를 점할 수 있는 마케팅 전략을 개발하고 실행할 수 있습니다.

개별 프로모션 분석 vs 통합 프로모션 분석

  • 개별 프로모션 분석
    • 특징
      • 한 번에 하나의 프로모션 활동만 평가합니다.
      • 구체적인 프로모션의 성공 여부와 직접적인 효과를 분석합니다.
    • 장점
      • 간단하고 명확한 결과 제공
      • 특정 프로모션의 직접적인 효과를 빠르게 평가 가능
    • 단점
      • 다른 마케팅 활동과의 상호작용을 고려하지 않음
      • 장기적인 효과나 전체적인 마케팅 전략과의 연계성 부족
  • 통합 프로모션 분석
    • 특징
      • 여러 프로모션 활동을 함께 분석하여 전체적인 마케팅 전략의 효과를 평가합니다.
      • 프로모션 간의 상호작용 및 시너지 효과를 고려합니다.
    • 장점
      • 전략적인 의사결정 지원
      • 장기적인 브랜드 가치와 고객 관계를 고려한 분석
      • 장기적인 효과나 전체적인 마케팅 전략과의 상호작용 이해 가능

개별 프로모션 분석과 통합 프로모션 분석을 함께 분석해야 하는 이유

개별 프로모션 분석과 통합 프로모션 분석을 함께 수행함으로써, 보다 정교하고 효과적인 마케팅 전략을 개발할 수 있으며, 이는 최종적으로 기업의 성장과 수익성 향상에 기여하게 됩니다.

1. 전체적인 마케팅 전략의 효율성 평가

개별 프로모션 분석을 통해 특정 프로모션의 성공 여부를 파악할 수 있지만, 통합 프로모션 분석을 함께 수행하면 여러 프로모션 간의 상호작용과 그 영향을 이해할 수 있습니다. 이는 전체 마케팅 전략의 효율성을 평가하는 데 중요합니다.

2. 다채널 프로모션 전략의 최적화

현대 마케팅은 다양한 채널을 통해 이루어집니다. 개별 프로모션 분석과 통합 분석을 병행함으로써, 각 채널의 성과를 정확히 파악하고, 채널 간 시너지를 극대화하는 전략을 수립할 수 있습니다.

3. 고객 행동의 종합적 이해

고객은 다양한 프로모션에 노출되며, 이러한 노출이 고객의 구매 결정에 복합적으로 작용합니다. 개별 프로모션 분석과 통합 분석을 결합함으로써, 고객 행동의 더 깊은 이해를 도모할 수 있습니다.

4. 마케팅 자원의 효율적 배분

통합 프로모션 분석을 통해 얻은 인사이트는 마케팅 자원의 효율적인 배분을 가능하게 합니다. 각 프로모션의 효과를 개별적으로뿐만 아니라 전체적인 관점에서 평가함으로써, 예산을 더 효과적인 프로모션에 집중할 수 있습니다.

5. 장기적 마케팅 전략 수립

개별 프로모션의 성공은 단기적인 성과에 초점을 맞출 수 있지만, 통합 프로모션 분석은 장기적인 관점에서 마케팅 전략을 수립하는 데 도움을 줍니다. 다양한 프로모션의 장기적인 영향력과 지속 가능성을 평가할 수 있습니다.

6. 경쟁 우위 확보

통합 프로모션 분석을 통해 시장 내 경쟁 상황과 자사의 위치를 종합적으로 이해하고, 경쟁 우위를 확보할 수 있는 전략을 수립할 수 있습니다. 이는 경쟁사 대비 우위를 점하는 데 중요한 역할을 합니다.

1. 진행배경

고객사 상황 및 해당 대시보드를 제작하게된 이유

고객사에서는 프로모션 분석 진행 시 앰플리튜드를 통한 단일 프로모션 위주의 분석만을 진행했었습니다.

단일 프로모션 분석 진행 예시

앞서 언급했듯이 단일 프로모션 분석만 진행하게 된다면 결과적으로 장기적인 효과나 전체적인 마케팅 전략과의 연계성이 부족해지는 문제가 있습니다.

이러한 문제를 해결하기위해 프로모션을 통합적으로 확인하는 것에 대한 필요성이 대두되었습니다. 먼저, 통합 프로모션 분석을 위해 1차적으로 앰플리튜드를 통해 얻은 개별 프로모션별 데이터를 스프레드시트에서 취합해 프로모션들끼리 비교하며 인사이트를 도출했습니다.

프로모션 통합 분석 시트 예시

하지만 시트를 통해 프로모션을 비교 분석하는 것에는 크게 2가지 정도의 한계가 있었습니다.첫째, 프로모션이 진행될 때마다 데이터를 확인하고, 직접 시트에 옮기는 작업을 해야 하기 때문에 자동화가 어렵다는 점입니다.둘째, 시트에 텍스트로만 적혀있다보니 해당 데이터가 무엇을 의미하는지 직관적으로 인지하기가 어렵다는 점입니다.이러한 한계를 극복하기 위해 고안한 것이 전체 프로모션을 한눈에 파악할 수 있는 대시보드를 구현하는 것이었습니다.

2. 진행과정

대시보드는 태블로(Tableau)를 사용하여 구현했습니다.

태블로(Tableau) 로고

태블로는 데이터를 분석하고 시각적으로 표시할 수 있는 비즈니스 인텔리전스(BI)툴입니다. 태블로를 통해 대시보드를 제작했을 때의 장점은 다음과 같습니다.

1. 여러 raw 데이터 통합: 태블로는 스프레드시트, 데이터베이스, 클라우드 서비스 및 빅데이터 플랫폼과 같은 다양한 데이터 원본들을 원활하게 통합됩니다. 이러한 통합을 통해 다양한 소스의 데이터를 연결 가능하게 하여 데이터 사일로를 해결하고 포괄적인 분석을 가능하게 합니다.데이터 사일로(Data Silo*)**란? 서로 분리되어 기업의 다른 부서에서 액세스할 수 없는 데이터 스토리지 및 관리 시스템을 의미하며, 이는 전사관점의 의사결정을 방해하고, 비효율성이 증가시킵니다.

  • 예시: Excel 스프레드시트에 저장된 판매 데이터와 SQL 데이터베이스에 저장된 고객 데이터가 있다고 가정합니다. Tableau는 두 원본에 동시에 연결할 수 있으므로 데이터를 혼합하고 시각화하여 판매와 고객 인구 통계 간의 관계에 대한 인사이트를 얻을 수 있습니다.

2. 실시간 데이터 시각화: 태블로는 라이브 데이터베이스 및 스트리밍 데이터를 비롯한 다양한 데이터 원본에 연결하여 실시간으로 데이터 업데이트할 수 있습니다. 이 기능을 사용하면 변경되는 데이터를 빠르게 모니터링하고 분석하여 빠른 의사 결정을 위한 시기적절한 통찰력을 제공할 수 있습니다.

3. 다양한 시각화 옵션: 태블로는 막대 차트, 선 차트, 산점도, 지도 등을 포함하여 다양한 시각화 옵션을 제공합니다. 정보를 효과적으로 전달하기 위해 데이터에 가장 적합한 시각화 유형을 선택할 수 있습니다.

4. 대화형 대시보드: Tableau를 사용하면 사용자가 직접 데이터를 탐색하고 상호 작용할 수 있는 고도의 대화형 대시보드를 만들 수 있습니다. 사용자는 세부 정보를 드릴다운하고, 데이터를 필터링하고, 임시 분석을 수행하여 데이터 탐색의 깊이를 향상할 수 있습니다.

2-1. 대시보드 스케치

통합 프로모션 분석을 위해 정의한 스케치입니다. 해당 스케치는 피그마(Figma)를 통해 작업했습니다. 스케치를 피그마로 제작한 이유는 여러가지가 있는데, 그 중 가장 중요한 이유는 피그마가 다양한 디자인 도구와 기능을 제공하기 때문에 원하는 디자인을 쉽고 효율적으로 제작할 수 있기 때문이었습니다.

웍스아웃 프로모션 분석 대시보드

스케치 대시보드를 기준으로 필요한 데이터를 정리해보면 데이터는 크게 3가지로 분류할 수 있습니다.

1. 프로모션 데이터

2. 매출 데이터

3. CRM 데이터

프로모션명, 진행일자, 분류, 컨셉 등 프로모션 진행 관련 기본 정보 및 프로모션 관련 아이템 정보가 프로모션 데이터에 해당하며, 각 프로모션에 관련된 실제 결제 정보가 매출 데이터에 해당합니다. 마지막으로 유저들에게 발송된 메시지의 발송일 및 캠페인명, 발송수 등이 CRM 데이터에 해당합니다.

웍스아웃 프로모션 분석 대시보드 - 프로모션 및 매출 정보 확인

2-2. 필요 데이터 정의 및 추출

필요 데이터 정의 및 추출

필요 데이터 정의

다음으로 앞서 정리한 데이터를 좀 더 구체적으로 정리합니다. 각 항목별 필요한 정보가 정확히 무엇인지, 해당 데이터는 형태로 관리되어야 하는지를 비롯해 각 데이터를 연결하기 위해 어떤 컬럼을 키값으로 사용해야 하는지 등을 파악하여 정리합니다.

필요 데이터 정의 및 분류 예시

이때 테이블 색상에 차이를 두어 각 데이터가 어떤 소스에서 관리되는지 직관적으로 파악할 수 있도록 합니다.

데이터 테이블 색상 차이 설명

데이터 추출 요청 및 추출

필요 데이터 정의를 완료했다면, 데이터 추출을 위해 해당 데이터에 대해 알맞은 형태로 적재를 요청하는 단계가 필요합니다. 효율적인 작업을 위해 원하는 이벤트 및 세부 항목(*이벤트 프로퍼티, 유저 프로퍼티, 적재형식, 적재기준일, 요청사유 등) 관련 내용을 최대한 상세하게 기입합니다.

데이터 추출 요청 예시

원하는 이벤트 및 세부 항목을 작성한 다음에 해당 내용을 정확히 어떤 형태로 적재되기 원하는지를 보여주는 샘플을 함께 작성합니다.

이벤트 데이터 샘플링 예시

2-3. 데이터 연결

Amplitude → Bigquery → Tableau

이제 데이터 연결을 진행해야 합니다. 해당 프로젝트에는 구글 스프레드시트, 엑셀 파일, 구글 클라우드(빅쿼리)의 소스가 사용되었습니다. 저는 그 중 ‘구글 클라우드’에 초점을 맞추어 데이터 연결과정에 대해 설명하려고 합니다.

앰플리튜드에서 태블로로의 데이터 전송

구글 클라우드를 사용한 이유는 무엇일까요? 그 이유는 앰플리튜드(Amplitude)에 있는 매출 데이터를 연결하기 위함입니다. 앰플리튜드는 그 자체로 사용성이 높이며, 매출 데이터를 비롯하여 많은 데이터를 손쉽게 확인할 수 있는 툴입니다.

하지만 지금과 같이 더 많은 내용을 확인하기 위해서는 다른 로데이터와 결합을 해서 데이터를 확인하는 과정이 필요합니다. 이 때, 앰플리튜드에서 태블로로 데이터를 바로 전달할 수는 없습니다.

앰플리튜드에서 태블로로의 데이터 전송 시 필요사항

태블로로 데이터를 전송하기 위해서는 앰플리튜드의 로데이터를 가공하여 알맞은 형태로 테이블을 가공해주는 선행작업이 필요합니다. 앰플리튜드와 연동이 가능할 뿐만아니라 태블로와의 연동도 가능해야 하며 무엇보다 앰플리튜드로부터 전달받은 로데이터를 가공할 수 있는 플랫폼이여야합니다.

이 작업을 수행할 수 있는 플랫폼은 무엇일까요? 저희는 이러한 요건을 모두 고려할 때 해당 작업을 수행하기에 가장 적합한 것이 Google BigQuery라고 판단했고, 이를 활용하기로 했습니다.

앰플리튜드에서 태블로로의 데이터 전송 시 필요한 구글 빅쿼리

앰플리튜드는 기본적으로 빅쿼리로 데이터를 바로 내보내는 기능을 제공합니다. 우선 해당 기능을 활용해 앰플리튜드 데이터를 빅쿼리에 내보내는 작업을 진행했습니다.

앰플리튜드에서 빅쿼리로 데이터 전송

해당 방법을 통해 데이터를 받아올 경우, 이벤트 프로퍼티가 분리된 표 형식으로 넘어오는게 아니라 json이라는 괄호 안에 키와 값형태로 구성돼 있는 포맷(*”{”~”}”)으로 데이터가 불러와지는 문제가 발생했습니다.

태블로는 표 형태의 데이터 프레임을 인식하므로, 태블로에 데이터를 연결하기 위해서는 앰플리튜드  로데이터를 전처리하는 과정이 필요했습니다.

이벤트 프로퍼티 전처리 전 모습

해당 데이터를 전처리하기 위해서는 로데이터의 형태를 파악해야 했습니다. 데이터를 확인한 결과, 텍소노미에 따라 로데이터의 구조가 다를 수 있음을 확인했습니다.

구매 이벤트의 경우 아이템 수량이 1개일 경우에는 값으로, 2개 이상일 경우에는 배열로 이벤트 프로퍼티 데이터가 들어오는 구조였습니다.

  • 아이템 수량=1인 경우
{"item_brand":"A",
"item_category":"JAJL",
"item_id":"99999",
"item_name":"GARAGEJACKET",
"item_price":"198000",
"order_id":"20240310105120687",
"total_order_items_quantity":1
…}
  • 아이템 수량=2 이상인 경우
{"item_brand":["B","C"],
"item_category":["LFOT","반팔 셔츠"],
"item_id":["88888","77777"],
"item_name":["TRAVEL COMB","CUSTOM SHIRT"],
"item_price":[18000,113000],
"total_order_items_quantity":2}

따라서 데이터 전처리를 위해서는 각 케이스별로 다른 전처리과정을 거쳐야했습니다. 아이템 수량이 1개일경우는 JSON의 값을 파싱하는 처리를 하고, 2개 이상일 경우에는 JSON의 배열을 파싱하는 처리를 진행했습니다.

해당 내용을 처리하는 쿼리문 다음과 같습니다. 케이스별로 결과 테이블이 도출되면, 두 테이블을 유니온하여 한 테이블로 합치는 작업을 진행했습니다.

WITH single_item_orders AS (
  SELECT event_time, user_id,
    JSON_VALUE(event_properties, '$.order_id') AS order_id, 
    JSON_VALUE(event_properties, '$.item_category') AS item_category, 
    JSON_VALUE(event_properties, '$.item_brand') AS item_brand, 
    JSON_VALUE(event_properties, '$.item_name') AS item_name, 
    JSON_VALUE(event_properties, '$.item_id') AS item_id,
    JSON_VALUE(event_properties, '$.item_price') AS item_price
  FROM amplitude_test.EVENTS_353961
  WHERE event_type='total_items_order_completed'
    AND JSON_VALUE(event_properties,'$.total_order_items_quantity')='1'
),
multi_item_orders AS (
  SELECT event_time, user_id,
    JSON_VALUE(event_properties,'$.order_id') AS order_id,
    item.item_category, item.item_brand, item.item_name, item.item_id, item.item_price
  FROM amplitude_test.EVENTS_353961,
    UNNEST(
      ARRAY(
        SELECT AS STRUCT 
          item_category, item_name, item_id, item_price, item_brand
        FROM 
          UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_id')) AS item_id WITH OFFSET AS pos
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_category')) AS item_category WITH OFFSET AS pos_cat ON pos = pos_cat
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_brand')) AS item_brand WITH OFFSET AS pos_br ON pos = pos_br
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_name')) AS item_name WITH OFFSET AS pos_name ON pos = pos_name
          JOIN UNNEST(JSON_VALUE_ARRAY(event_properties,'$.item_price')) AS item_price WITH OFFSET AS pos_price ON pos = pos_price
      )
    ) AS item
  WHERE 
    JSON_VALUE(event_properties,'$.total_order_items_quantity')!='1'
)

-- 아이템 수량= 1인 경우의 결과와 아이템 수량= 2 이상인 경우의 결과를 합치기
SELECT *
FROM single_item_orders
UNION ALL
SELECT * 
FROM multi_item_orders;

해당 작업을 완료한 결과는 다음과 같습니다.

쿼리 결과 화면

UNNEST()함수를 포함한 단계를 거쳐 데이터 전처리를 진행할 경우 JSON을 데이터 프레임 형태, 즉 테이블 형식으로 바꾸는 것은 가능했습니다.

좀 더 직관적으로 UNNEST()함수를 이해하기 위해 예시를 들어보겠습니다. name이라는 컬럼은 값이지만, preferred langauge는 배열일 경우 빅쿼리는 테이블을 왼쪽처럼 인식합니다. 즉 값으로 구성된 행에 배열로 구성된 행을 묶어두는 구조인데요, 이 묶어둔다라는 것을 nest된 상태라고 하고, 값을 배열에 맞춰서 풀어주는 행위를 unnest라고 합니다.

 unnest 적용 화면 예시

하지만 UNNEST()함수를 사용할 경우 단점이 있었습니다.이 함수는 배열 내 각 요소를 별도의 행으로 확장하는 기능을 제공하기 때문에 비정규화된 데이터나 중첩된 데이터 구조를 다룰 때 필수적입니다. 그러나 비용관리의 관점에서 주의가 필요하다는 단점이 있습니다. UNNEST() 함수는 배열 내의 각 요소를 별도의 행으로 확장하기 때문에 배열에 많은 요소가 포함되어 있을 경우, 결과 데이터 세트의 크기가 급격히 증가할 수 있습니다. 이는 쿼리 처리 시간을 늘리고 처리해야 할 데이터 양이 증가함으로써 비용이 증가하는 원인이 될 수 있으며, 처리한 데이터 양에 따라 비용이 청구되는 빅쿼리에서는 쿼리 비용의 증가로 이어질 수 있습니다.

실제 프로젝트를 진행하면서 해당 쿼리문을 사용해 약 한달 간 매 시간마다 업데이트 되도록 쿼리를 돌려본 데이터 업데이트를 진행한  결과, 총 8GB를 사용해 월 40만원 가량의 비용이 소진되었습니다. 따라서 비용 효율성 측면을 고려해 전처리를 클라우드 SQL구문이 아닌 파이썬 코드로 처리하도록 우회했습니다.

앰플리튜드의 데이터를 빅쿼리로 바로 내보내는 것이 아니라 앰플리튜드 서버를 호출하여 데이터를 받아오는 방식으로, 빅쿼리에서 로우 데이터를 쌓은 후 이를 전처리하는 방식 대신 전처리를 완료한 후 가공된 데이터를 빅쿼리에 쌓는 방식으로 변경했습니다.

Amplitude → Google Cloud Storage → Bigquery → Tableau

즉, 기존 Amplitude → Bigquery → Tableau의 단계에서 데이터 전처리를 위해 Google Cloud Storage를 추가한 Amplitude → Google Cloud Storage → Bigquery → Tableau 단계로 진행됩니다.

데이터 전처리 과정 도식화

이 작업을 위해서는 우선 앰플리튜드와 Google Cloude Storage를 연결하는 작업을 진행해주어야 합니다. 먼저 Cloud Storage에서 고객사 프로젝트 관련 Bucket을 생성합니다.

Cloud Storage Bucket 생성 화면
Cloud Storage Bucket 세부 설정 화면

다음으로 IAM 및 관리자 → 서비스 계정을 클릭하여 새로운 서비스 계정을 생성합니다.

서비스 계정 생성 화면

서비스 계정을 생성한 후, 해당 서비스 계정에 해당하는 이메일을 확인합니다.

서비스 계정 이메일 확인

키 → 키 추가를 클릭하여 키를 생성합니다.

키 생성 화면
JSON 유형 키 생성 화면

IAM 및 관리자 → 역할을 클릭하여 새로운 역할을 생성합니다.  Send Amplitude Event Data to Google Cloud Storage(문서링크)를 참고해서 역할에 다음 5개의 권한을 부여해줍니다.

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

새로운 역할 생성 및 권한 부여 화면

앞서 생성한 버킷으로 돌아가서 권한을 클릭한 후 액세스 권한 부여를 클릭합니다.

버킷 액세스 권한 부여

서비스 계정에서 추가한 새로운 계정에 해당하는 이메일을 입력한 후, 역할을 지정해줍니다.이때 역할은 1.저장소 기존 버킷 소유자와 2.역할 만들기를 통해 생성한 역할, 총 2개를 부여해줍니다.

새로운 계정 역할 부여 화면

해당 작업까지 완료했으면 앰플리튜드에서 Google Cloude Storage를 연결하는 작업을 진행해주어야 합니다. 앰플리튜드  Data → Destination에서 Google Cloud Storage를 클한 후 GCS로 보낼 데이터를 선택합니다.

앰플리튜드에서 Google Cloud Storage로 데이터 전송

서비스 계정 생성에서 생성한 JSON키 파일을 Service Account Key에 업로드 한 후, 하단의 Bucket Name에 구글 GCS에서 생성한 버킷 이름을 입력해줍니다.

JSON키 파일 업로드 화면

해당 과정을 성공적으로 마치면 Google Cloud Storage Bucket에 데이터가 들어옵니다.

 Google Cloud Storage Bucket 화면

연동이 완료되면 다음과 같이 생성됩니다.

*merged ID 된 데이터 : -000000/ , raw 데이터: 000000/ → 우리가 사용하게될 데이터는 000000/ (raw 데이터)
  • 압축된 아카이브 JSON 파일로 매 시간 내보내지고 시간 당 하나 이상의 파일로 시간별로 분할
    • 파일명: projectID_yyyy-MM-dd_H#partitionInteger.json.gz

앰플리튜드는 export API라는 서비스를 제공하므로 이 API를 호출하여 데이터를 불러올 수 있습니다. 파이썬의 request모듈로 API요청을 보내는 함수를 구현하고, 다음으로 데이터 전처리 모듈은 pandas모듈을 활용하여 JSON 포맷을 테이블 형식의 데이터 프레임으로 전처리했습니다. 1차 시도당시 빅쿼리로 진행했던 조건문을 프로그래밍 언어로 대체한 것입니다. 마지막으로 빅쿼리 클라이언트 라이브러리를 설치하여 전처리한 테이블을 빅쿼리로 업로드하는 함수를 구현했습니다.

내용을 요약하면 다음과 같습니다.

1. 앰플리튜드

  • 앰플리튜드가 GCS 버킷에 접근하여 이벤트 데이터를 전송합니다.

2. GCS

  • 앰플리튜드 이벤트 데이터는 GCS의 객체로 생성됩니다. 이때 객체 트리는 “버킷>폴더>시간대(yyyy-mm-dd_h)#순번’으로 네이밍되어 적재됩니다. (*e.g: 353961_353961_2023-06-25_1#0)

3. GCF

ㅤ: 버킷에 객체가 생성될 때마다 객체 데이터를 전처리한 후, 빅쿼리에 로드하는 함수 구현

3-1. 트리거
: GCS에 객체가 생성될때마다 호출합니다.

‘(Amplitude → Google Cloud Storage)’와 ‘(Google Cloud Storage) → Bigquery)’를 Google Cloud Functions로 연결하고자 트리거를 “Google Cloud Storage에 앰플리튜드 파일(객체)가 생성될 때”로 정의했습니다.

트리거 진입함수는 main()으로 설정합니다. 이때 트리거 대상 객체의 파일명을 확인하기 위해 data json 객체를 로드하여 메타 데이터를 확인합니다.

3-2. gcs_read()
: 트리거 수신 위치의 버킷 객체를 참조하여 읽어들입니다.

  • gcs_read()로 트리거 대상 객체의 파일을 읽어오고 빅쿼리의 index가 되어 줄 부분을 파싱합니다.
    • index_prefix : projectID_yyyy-MM-dd_H#partitionInteger.json.gz 파일명에서 ‘yyyy-MM-dd_H#partitionInteger’을 가져와 정수형으로 변환한 뒤 값을 할당합니다.
  • json_objects : 버킷에 저장돼 있던 압축된 아카이브 JSON 파일을 압축해제한 뒤, 데이터프레임으로 변환하기 위해 줄바꿈되어 있는 부분을 기준 삼아 데이터를 분리합니다.

3-3. json_make_dataframe()
: json객체를 total_items_order_completed, item_order_completed 각각의 데이터프레임(df1, df2)으로 변환합니다.

3-4. join_dataframes()
: df1, df2를 index 컬럼 기준으로 조인하여 joined_df라는 데이터프레임을 생성합니다.

3-5. append_to_bigquery()
: joined_df 데이터프레임에 맞는 스키마를 정의하여 빅쿼리에 로드합니다.

해당 작업을 완료하면, 최종적으로 빅쿼리에 데이터가 정상적으로 저장되며, 태블로에 연결해서 시각화할 수 있습니다.

빅쿼리 데이터 태블로 연결 화면

3. 대시보드 체크포인트

3-1. 가장 중점적으로 고민한 부분

통합 프로모션 대시보드이므로 프로모션 간의 비교가 가능하도록 하는 것이 최우선순위 목표였습니다. 하지만 통합 프로모션 대시보드 내에서 개별 프로모션의 성과 및 관련 내용도 바로 파악이 가능하도록 대시보드를 구성하고자 했습니다.

프로모션 리스트 부분에서 프로모션 성과들을 직관적으로 비교해서 확인할 수 있도록 했으며, sales summary내의 각 KPI의 프로모션 평균값을 제공하여 프로모션의 평균값과의 비교가능하게함으로써 프로모션 간의 비교 분석이 가능하도록 대시보드를 구성했습니다. 또한 프로모션 리스트에서 개별 프로모션 클릭 시 해당 프로모션에 해당하는 내용으로 필터링이되어 표현되게함으로써 개별 프로모션의 성과 역시 파악할 수 있도록 대시보드를 구성했습니다.

3-2. 대시보드 구현 시 발생했던 문제점 및 이를 해결하기 위한 과정

데이터를 태블로로 넘긴 후 ERP 기준 매출 데이터와 정합성을 확인하는 과정에서 매출액의 약 0.2%의 차이가 발생함을 확인했습니다. 이는 최종 매출액에서 반품 및 교환 비용을 고려하지 못했기 때문에 발생한 결과였습니다.

따라서 앰플리튜드의 반품 및 교환관련 이벤트인 return_completed의 return_paid_shipping(교환 및 환불금액)관련 항목을 추가하여 해당 금액을 반영해줌으로써 데이터 정합성을 맞췄습니다.

대시보드 구현시 발생했던 문제점 및 이를 해결하기 위한 과정

3-3. 가장 어려웠던 부분

해당 대시보드를 사용하는 고객사는 프로모션의 분류를 크게 할인과 쿠폰 2가지로 구분하고 있습니다.

즉, 1차적으로 가격을 낮춰 세일가에 제품을 구매하는 ‘할인’ 프로모션과 쿠폰을 소지하고 있는 고객이 쿠폰을 직접 사용해서 제품을 구매하는 ‘쿠폰’ 프로모션이 존재합니다. 이때 쿠폰 프로모션의 경우 총 매출 관련 항목과 쿠폰 매출 관련 항목으로 구분해서 성과를 확인할 수 있지만, 할인 프로모션의 경우 쿠폰 관련값이 존재하지 않으므로 쿠폰 매출 관련 성과는 확인이 불가능합니다. 따라서 성과를 확인함에 있어서 쿠폰 프로모션의 경우에는 쿠폰 매출 관련 항목을 확인해야 하고, 할인 프로모션의 경우에는 총 매출 관련 항목을 확인해야 합니다.

이를 적용했을 때 Sales Summary를 확인함에 있어서 결제상품수, 결제건수, 구매고객수의 경우 할인 프로모션의 경우에는 총 매출액 관련 항목으로, 쿠폰 프로모션의 경우에는 쿠폰 매출액 관련 항목으로 구분해서 표현해주어야 합니다.

Sales Summary 스코어 카드

이를 위해 케이스를 나누고, 쿠폰 아이디가 존재할 경우 쿠폰 프로모션으로 판단해서 쿠폰 매출 관련으로 카운트 하고, 쿠폰 아이디가 존재하지 않을 경우 할인 프로모션으로 판단해서 총 매출 관련항목으로 카운트할 수 있도록 계산된 필드를 생성합니다.

SQL
-- 결제상품수 예시
{FIXED [Promotion name1],[Classification],[Coupon Id]: 
    SUM(IF [Classification]='쿠폰' and ([# COUPON ID_1]= [Coupon Id] 
		    OR [# COUPON ID_2]= [Coupon Id] OR [# COUPON ID_3]= [Coupon Id]) 
        THEN 1
        ELSEIF [Classification]='할인' THEN 1
    END)}

4. 대시보드 템플릿

최종적으로 제작된 통합 프로모션 대시보드는 다음과 같습니다.

 통합 프로모션 대시보드 예시

4-1. 대시보드 템플릿 설명

📊 통합프로모션 대시보드 설명
1. 분류(쿠폰/할인) 및 테마 필터
- 해당 필터를 클릭하여 1. 프로모션 리스트에서 프로모션을 확인할 수 있습니다.
- 필터가 동작함에 따라 2. 세일 요약 내의 프로모션 평균이 변동됩니다.

2. 3. 아이템 디테일 내 브랜드별, 카테고리별, 상품별 막대그래프를 클릭하여 상세 판매현황을 확인할 수 있습니다.
- 클릭했던 막대그래프를 재클릭하시면 클릭을 해제하실 수 있습니다.

3. 5. CRM 정보에 표기되는 CRM 리스트 기준은 다음과 같습니다.
1) 전송건수: 10,000건 이상
2) Campaign Category: RAF, NTC(라플 및 공지) 제외
3) App: WO (칼하트윕 제외)

4-2. 해당 템플릿을 사용하는 방법

대시보드 우측 상단의 i표시를 클릭하면, 대시보드에 대한 설명을 확인할 수 있습니다. 프로모션의 분류가 할인일 경우, 1. Promotion List 에 쿠폰 판매건 및 쿠폰 판매액은 0건, 0원으로 표시됩니다. 2. Sales 의 결제 상품수, 결제 건수, 구매고객수의 경우, 프로모션 분류가 쿠폰일 경우에는 쿠폰 판매에 관련된 내용으로, 프로모션 분류가 할인일 경우에는 총 판매액에 관련된 내용으로 표시됩니다.

대시보드 작동예시를 좀 더 자세히 살펴보면 다음과 같습니다.

1. Promotion List

    프로모션 명을 클릭해서 해당 프로모션에 해당하는 2.sales, 3. Item detail, 4. Sale Trend, 5 CRM Info 를 확인할 수 있습니다.
대시보드 작동예시 - 프로모션 리스트

Promotion List 우측 분류 및 테마 필터를 클릭하여 해당하는 프로모션을 확인할 수 있습니다.

대시보드 작동예시 - 필터 확인

2.Sales(sales summary)

해당 프로모션의 총 매출액, 쿠폰 매출액, 결제 상품수, 결제 건수, 구매고객수 및 각 항목에 해당하는 일평균 액수를 확인할 수 있습니다.

Promotion List 우측 분류 및 테마 필터 적용 시, 2.sales KPI의 프로모션 평균이 필터에 해당하는 프로모션의 평균으로 변경됩니다.
대시보드 작동예시 -  프로모션 평균 확인

3. Item datail

좌측의 브랜드별, 카테고리별, 상품별 차트를 클릭해 각 항목에 해당하는 상품의 일자별 판매 현황을 확인할 수 있습니다.

  • 클릭한 항목을 재클릭하면 원본으로 돌아갈 수 있습니다.
대시보드 작동예시 - 상품 세부사항 확인

  • 예시) 상품별 차트에서  Top1 상품 클릭
대시보드 작동예시 - TOP 1 상품 확인

우측 막대그래프에 마우스를 오버하면, 각 일자별 총 매출 및 쿠폰 매출, 총 매출 대비 쿠폰 매출 비율을 확인할 수 있습니다.

대시보드 작동예시 - 쿠폰 및 매출 상관관계 확인

4. Sale Trend & 5.CRM Info

4. Sale Trend에서 프로모션 기간 동안의 총 매출 및 쿠폰 매출, 해당 기간 동안 CRM이 발송된 날짜에 대한 정보를 확인할 수 있습니다.

대시보드 작동예시 - 매출 트렌드 확인

5.CRM Info에서 해당 CRM에 대한 세부 정보를 확인할 수 있습니다.

  • CRM 기준
    1. 전송건수: 10,000건 이상
    2. Campaign Category: RAF, NTC(라플 및 공지) 제외
    3. App: WO (칼하트윕 제외)
대시보드 작동예시 - CRM 현황 및 정보 확인
MARTECH_image_thumbnail
GROWTH

리텐션(Retention)이란?

July 10, 2024

1. 리텐션(Retention)이란?

리텐션(Retention)은 고객이나 사용자가 특정 기간 동안 어떤 제품이나 서비스에 계속 관여하거나 이용하는 비율을 말합니다. 즉, 얼마나 많은 사용자가 시간이 지남에 따라 제품이나 서비스를 계속 사용하는지를 나타내는 지표입니다. 높은 리텐션율은 고객 충성도가 높고, 제품이나 서비스에 대한 만족도가 높음을 의미합니다.

리텐션이 중요한 이유

리텐션을 지속적으로 측정하고 관리하는 것이 중요한 이유는 여러가지가 있습니다. 리텐션은 단순히 고객이 제품이나 서비스를 계속 사용하는 것을 넘어서 기업의 지속가능성과 직접적으로 연결되는 핵심 지표입니다. 리텐션이 중요한 이유를 좀 더 자세히 살펴보면 다음과 같습니다.

  • 비용 효율성
    : 신규 고객을 유치하는 것보다 기존 고객을 유지하는 것이 훨씬 더 적은 비용이 사용됩니다. Harvard Business Review에 따르면 신규 고객 한 명을 확보하는 것이 기존 고객 유지에 비해 5~25배의 비용이 든다고 합니다. 따라서 리텐션을 높이면, 마케팅 및 영업 비용을 절감하고, 장기적으로는 더 높은 수익성으로 이어질 수 있습니다.
  • 수익성 증가
    : 리텐션이 높은 고객은 브랜드에 대한 충성도가 높고, 시간이 지남에 따라 더 많은 제품을 구매하거나 서비스를 이용할 가능성이 높습니다. 이는 평균 거래 규모의 증가, 구매 빈도의 상승, 즉, 총 수익 증가로 이어집니다.

2. 리텐션 측정기준

리텐션을 측정하는 기준에는 다양한 방법이 존재합니다. 그 중 Amplitude에서 확인할 수 있는 리텐션의 종류인 ‘N-day Retention’과 ‘Unbounded Retention’에 대해 좀 더 자세히 알아보려고 합니다.


앰플리튜드 리텐션 차트 화면
‘N-day Retention’과 ‘Unbounded Retention’

2-1. N-day Retention

N-day Retention은 사용자가 처음 제품이나 서비스를 이용한 후 특정 일수(N일) 후에도 계속 이용하는지를 측정하는 방법입니다. 예를 들어, 7-day Retention은 사용자가 서비스를 처음 이용한 후 7일째 되는 날에도 서비스를 이용하는 비율을 의미합니다. 해당 리텐션은 초기 사용자 참여, 온보딩, 새로운 기능, 단기 마케팅 캠페인 분석을 위해 사용됩니다.

2-2. Unbounded Retention

Unbounded Retention은 특정 기간 동안 사용자가 최소 한 번이라도 제품이나 서비스를 이용했는지를 측정하는 방법입니다. 이 방법은 시간이 지나도 사용자가 이탈하지 않고 계속해서 제품을 사용했는지의 여부만을 고려합니다. 해당 리텐션은 장기적인 참여, 고객 충성도, 반복 구매, 주기적인 콘텐츠 업데이트 분석을 위해 사용됩니다.

3. 리텐션 차트&리텐션 커브

3-1. 리텐션 차트란?

앰플리튜드 리텐션 - 코호트 차트


리텐션 차트는 시간에 따른 사용자의 이탈 및 유지 패턴을 시각적으로 표현한 그래프입니다. 이 차트는 특정 기간 동안 사용자 그룹의 리텐션율 변화를 보여줍니다. 리텐션 차트를 통해 크게 행 기준 분석과 열 기준 분석을 수행할 수 있습니다.

앰플리튜드 리텐션 - 코호트 차트 열기준과 행기준 설명
코호트 차트 열 기준 분석
  • 단일 시점에서 코호트 그룹을 비교합니다. 이 방법은 서로 다른 코호트끼리의 비교를 가능하게하여 그룹간의 성과를 측정할 수 있습니다.

코호트 차트 행 기준 분석
  • 일정기간 동안 코호트 그룹을 추적하여 유지율이 어떻게 변하는지 관찰하는 작업으로 장기적인 관점에서 사용자 행동의 추세와 패턴을 이해하는데 도움이 됩니다.

3-2. 리텐션 커브란?

앰플리튜드 리텐션 커브


리텐션 커브는 시간에 따른 리텐션율의 변화를 나타낸 것입니다. 이 커브는 초기 사용자 참여 이후 리텐션율의 감소 패턴을 한눈에 파악할 수 있게 해줍니다.

리텐션 커브는 감소형태에 따라 유형를 크게 3가지로 나눌 수 있습니다.

리텐션 커브 3가지 유형

3-2-1. Declining Curves

시간이 지남에 따라 사용자 참여가 감소되는 패턴의 커브입니다. 이는 가장 흔히 보이는 커브의 형태로, 초기참여 이후 사용자의 관심이 감소됨을 의미합니다.

  • 특징
    • 사용자가 꾸준히 제품을 떠나고 있으며 이는 사용자 만족도나 참여도에 지속적인 문제가 있음을 나타냅니다.
    • 제품이 장기간 사용자를 유지하지 못하고 지속적인 가치를 제공하지 못하는 문제가 있음을 시사합니다.

3-2-2. Flattening Curves

초기 감소 후 리텐션율이 안정적으로 유지되는 패턴의 커브입니다. 이는 사용자들이 제품이나 서비스에 익숙해지고 일정수준의 참여를 계속해서 유지함을 나타냅니다.

  • 특징
    • 초기 감소 후 특정 시점부터 곡선이 평평해 지는데, 이는 나머지 사용자 사이에서 안정적인 유지율을 나타내는 것을 시사합니다.

3-2-3. Smiling Curves

리텐션 감소 후 시간이 지남에 따라 다시 증가하는 패턴의 커브입니다. 이는 매우 긍정적인 상황으로, 사용자들이 초기 이탈후 일정시간이 지나 다시 제품이나 서비스에 관심을 가지기 시작함을 의미합니다.

  • 특징
    • 초기 감소 이후 특정 시점부터 곡선이 상승하기 시작하여 시간이 지남에 따라 사용자가 다시 돌아오거나 참여도가 향상됨을 나타냅니다.
      • 사용자는 처음에는 떠날 수 있지만 제품의 가치를 깨닫거나 업데이트나 재참여 캠페인과 같은 특정 개입으로 인해 다시 돌아올 수 있습니다.

원본 포스팅 링크

리텐션(Retention)이란?

MARTECH_image_thumbnail
GROWTH

구글애널리틱스(GA4)와 앰플리튜드의 차이

July 1, 2024

구글 애널리틱스 vs 앰플리튜드 비교 요약

구글 애널리틱스와 앰플리튜드의 기능, 추적 방식, 분석 항목, 의의와 장단점, 담당자를 비교하자면 하단과 같습니다.  해당 내용의 이해를 위해 차근히 퍼포먼스마케터, 그로스마케터의 직무 요건에서부터 왜 애널리틱스가 중요한지(GA든 Amplitude든) 알아보도록 하겠습니다.

구글 애널리틱스와 앰플리튜드

Google Analytics(구글애널리틱스) vs Amplitude(앰플리튜드)
구글 애널리틱스와 앰플리튜드의 비교 표 이미지


마케터가 하는 일

마케터로 생각하는 직무는 주로 퍼포먼스 마케터일 것입니다. 퍼포먼스마케터, 소위 퍼포마는 브랜드나 대행사(에이전시)에서 마케팅 전략을 수립하고 미디어믹스를 짜고 (매체 별/광고 상품 별로 얼마나 쓸 건지를 짜는 것) 이후 해당 미디어믹스에 따라 광고를 집행한 후에 광고 성과를 관리합니다.

그렇다면 퍼포마의 채용 공고를 분석해 보겠습니다. 퍼포먼스 마케터의 직무 요건 및 우대 사항에는 Google Analytics와 Amplitude가 꽤 자주 등장합니다. 심지어 데이터 분석가 직무에도 있네요. 왜일까요?

  • 발란: 퍼포먼스 마케터 (DA, 5년 이상)
  • 아이디어스: 퍼포먼스 마케터 인턴 (체험형 6개월)
  • 사람인: 데이터 애널리스트 (사업기획팀)

� 마케팅을 잘하기 위해서는 성과 측정도 잘해야 하기 때문입니다.

발란의 퍼포먼스마케터 직무
발란의 퍼포먼스마케터 직무

백패커의 마케팅 인턴 채용 공고
백패커의 마케팅 인턴 채용 공고

사람인의 데이터 분석가(Data Analyst) 채용 공고
사람인의 데이터 분석가(Data Analyst) 채용 공고


어트리뷰션 Attribution? 애널리틱스 Analytics?

한 건의 전환이 일어나기까지, 한 명의 사용자에게 노출되는 광고는 수도 없이 많습니다. 마케팅을 열심히 할수록 그렇습니다. 사용자가 1) 인스타그램 광고도  볼 거고, 2) 유튜브 콘텐츠를 봤을 수도 있고, 3) 카카오 배너 광고를 봤을 수도 있고, 4) 네이버 검색 광고를 봤을 수도 있습니다. 이렇게 수많은 광고 매체를 거쳐, 한 건의 전환이 일어났을 때 가장 중요한 질문은 무엇일까요?

고객 전환까지의 채널 여정
그래서 누가(=어떤 광고 매체가) 잘했는데? 결정적 기여가 누구 건데?

다수의 광고 매체들은 다 자기가 기여를 했다고 말합니다. 그래서 광고 관리자로만 광고 성과를 보면 과도하게 성과가 집계될 수밖에 없고, 중복 집계될 수밖에 없는 것입니다.

일주일 안에 저 광고 매체들에 다 노출되었던 사용자가 전환을 했다고 가정해 볼까요? 그렇다면  기여 기간은 7일인 것이고 (광고 매체의 성과를 인정해 주는 기간) 노출된 매체는 4개, 그중 유상(Paid) 광고 매체 3개입니다. (유튜브 콘텐츠는 자사의 브랜딩이었다고 하면요.)

그럼 그중 누가 이 전환의 성과를 가져갈까요?

� 기여 모델에 따라 다릅니다!

  • First touch Attribution: 첫 번째 접점을 만들어 낸 광고 매체에게 기여/성과를 인정하는 것
  • Last touch Attribution: 마지막 접점을 만들어 낸 광고 매체에게 기여/성과를 인정하는 것
    *First와 Last는 한 개 매체만 인정해 주기 때문에 Single-touch라고도 합니다.
  • Multi touch Attribution: 접점을 만들어 낸 여러 매체들에게 가중치를 주어 기여/성과를 인정하는 것

Single-touch attribution models

이렇게 광고 성과의 기여값을 보다 정확하게 측정하기 위해서 Attribution Tool(어트리뷰션툴), Analytics(애널리틱스)가 존재합니다. Web Analytics로 가장 유명한 것이 구글 애널리틱스인 것이고요.

글의 초반 앰플리튜드 vs 구글애널리틱스 비교표에서 언급했었죠. 구글 애널리틱스는 이처럼 광고 매체들의 전환값의 기여도를 측정하여 마케팅을 효율화하는 것을 목적으로 많이 활용합니다.

광고 성과에 '기여'한 정도를 '분석'하기에 Attribution과 Analytics가 쓰입니다.


'전환'이 어디서 일어나는데?

여기서 또 하나 짚어야 할 것이 있습니다. 그 광고, 클릭하면 어디로 가나요? 클릭해서 이동한 페이지에서 보통 전환이 일어날 테니까요.

광고 클릭하면 당연히 웹페이지로... 아니지 요즘은 앱스토어로...
아니지 요즘은 앱 안의 페이지가 열리던데?

  • 웹(Web) 랜딩(*Landing = 착륙, 이동)            
    우리에게 가장 친숙한 웹페이지로 랜딩 되는 것이 일반적입니다.
  • 앱(App) 랜딩
    최근에는 앱 설치를 유도하며 앱스토어 페이지로 랜딩 되거나 앱이 설치되어 있다면 앱 내의 특정 페이지로 랜딩 되기도 합니다.
  • 웹투앱 (Web to App) 
    혹은 웹으로 먼저 랜딩 시킨 후에 여러 혜택을 소구하여 앱을 설치하게끔 하기도 합니다.


웹에서 앱으로, Web to App에서 사라지는 데이터

마케팅 캠페인이 '웹'에 치중되어 있을 때는 구글애널리틱스의 시대였습니다. 그렇지만 '앱'이 뜨기 시작하고 앱마케팅이 활성화되면서 구글애널리틱스 또한 한계에 부딪힙니다.

� 웹 랜딩 후 앱 설치를 한 유저 데이터에 광고 매체의 소스값이 적혀있던 utm이 유실되기 때문입니다

구글애널리틱스, 앰플리튜드, 미디어의 Attribution 비교 1

웹으로 랜딩 된 후 구매라는 전환 행동이 일어날 때 구글 애널리틱스는 Last touch 기여 설정에 의해서, 해당 전환의 성과는 '페이스북'에게 있다고 측정했습니다.

구글애널리틱스, 앰플리튜드, 미디어의 Attribution 비교 2

그런데 웹 랜딩 이후 앱 설치가 진행되고 앱에서 구매가 일어나면 어떻게 될까요? 사용자의 흔적을 파악할 수 있던 utm (광고 매체의 소스값)이 유실되며 광고 매체의 성과를 잡지 못하고, organic (자연 유입)으로 측정하게 됩니다.

cf. 여기서 utm의 광고 매체 소스값이란...?

구글에 나이키를 검색하면 '스폰서' 광고로 나이키가 뜹니다. 이걸 클릭하면 url이 이렇게 나옵니다.

https://www.nike.com/kr?utm_source=Google&utm_medium=PS&utm_campaign=365DIGITAL_Google_SA_Keyword_Main_PC&cp=72646825390....  > utm_source=Google이라고 알려줍니다. (소스값) utm_medium=PS라고 알려줍니다. (매체) 이 두 개의 조합을 광고 매체의 소스값이라고 합니다.

구글 나이키 검색 결과 페이지 - utm 소스


그래서 쓰는 MMP와 PA

그래서 앱 마케팅이 중요해질수록 MMP와 PA의 인지도 또한 높아질 수밖에 없습니다. MMP는 Mobile Measurement Partners로 앱스토어에 SDK를 붙여 앱 설치 성과를 측정해 주는 솔루션을 말하고, PA(Product Analytics)는 이러한 MMP들을 연동하여 앱 설치 성과를 분석할 수 있도록 도와줍니다.

MMP와 PA 역할 및 솔루션

GA는 Web 위주의 유입 성과 분석툴,
Amplitude는 App 위주의 사용자 행동 분석툴

서비스가 Web 위주인 경우 구글애널리틱스만 사용해도 충분합니다. 다만 App 위주인 경우 App 설치 성과를 분석하는 MMP (Appsflyer, Adjust, Airbridge 등)와 Web to App을 추적하고, App 내 사용자 행동을 분석하는 PA(Amplitude, Mixpanel 등)가 필요합니다!

유저의 웹 to 앱 여정과 마테크 솔루션

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

구글애널리틱스(GA4)와 앰플리튜드의 차이

MARTECH_image_thumbnail
GROWTH

앰플리튜드(Amplitude) Segment Chart

June 28, 2024

프로덕트 분석/성과 분석 툴

그로스마케팅의 기본은 분석입니다. 분석 툴, 주로 Analytics라고 많이 이야기하죠. Google Analytics가 대표적이고요. 이외 Product Analytics라고 했을 때 Mixpanel(믹스패널), Amplitude(앰플리튜드) 등의 솔루션이 있습니다.

Google Analytics(구글애널리틱스), Mixpanel(믹스패널), Amplitude(앰플리튜드) 로고


프로덕트 분석이 뭔가요?

프로덕트 분석은 사용자들이 디지털 프로덕트를 쓰는 방식을 이해해보는 것입니다. 사용자의 행동 데이터를 분석하고, 전환 기회를 파악하고, 사용자의 평생 가치(LTV: Long Time Value)를 높이는 경험을 만들어 사용자를 비즈니스의 핵심으로 만듭니다.

프로덕트 분석을 통해 사용자의 실시간 참여 및 행동 데이터를 추적, 시각화, 분석하여 전체 고객 여정(User Journey)을 최적화할 수 있습니다. 사용자의 라이프사이클 모든 단계를 데이터로 확인하여 디지털 경험을 개선하고, 충성도를 확보하고, 비즈니스 성과로 연결하도록 지원합니다.

전체 고객 여정(User Journey) 예시

(사용자 여정 예시) 광고를 클릭하고 ~ 계정을 생성하고(Onboarding Process라고 함) ~ 가입하고 ~ 기능 A를 경험하고 ~ 모바일로 로그인하고 ~ 첫구매를 하고 ~ 기능 B를 경험하고 ~ 기능 C를 경험하고 ~ 앱푸시를 받고 ~ 구독할 것 같은데 ~ A/B 테스트를 경험하고 ~ 파워 유저가 되고 ~ 남에게 추천하고...

위와 같은 사용자 여정 중에서 하기 질문에 앰플리튜드를 통해서 답할 수 있습니다.

  • Why do users convert or dropoff? (사용자가 전환하거나 이탈하는 이유는 무엇일까요?)

  • Which featurees predict likelihood to buy? 구매 가능성을 예측하는 기능은 무엇인가요?
    *커머스라면 대개 상품/브랜드 찜하기, 장바구니에 상품 담기가 그 기능입니다.

  • What is the cross-device user journey? 크로스 디바이스 유저의 여정은 무엇인가요?
    보통 Web to App으로 Mobile/Web에서 프로덕트를 경험하다가 App을 설치하고 App으로 넘어갑니다.
    *대개 여기서 데이터가 유실됩니다.

  • How did our launch impact monetization? 출시가 수익 창출에 어떤 영향을 미쳤나요?

  • Who are our highest value customers? 우리의 최고 가치 고객은 누구입니까?
    *가치가 가장 높은 고객군의 특성을 알아야, 그 고객군과 유사한 고객들을 더 데려올 수 있고 혹은 기존 고객들이 그 고객과 유사한 행동을 하게끔 유도해야합니다.

  • How likely is churn within user cohorts?사용자 집단 내에서 이탈할 가능성은 얼마나 되나요?
    *이탈 지점과 시점을 알고 있어야 이를 방지하거나 개선할 수 있습니다.


커머스의 필수 지표: 매출, 주문수, 건단가, 객단가

프로덕트 분석이라고 하면 거창해 보이지만 실전은 생각보다 단순합니다. 커머스에서 가장 중요한 지표가 무엇일까요? 바로 매출/주문수/객단가/건단가입니다.

매출=주문수X건단가, 매출=주문자수X객단가 개념으로, 결국 '매출'이 가장 중요한데요.

동일한 매출을 기준으로 주문수가 많아지면 건단가가 낮아지고, 건단가가 높아지면 주문수가 적어집니다. 아주 당연한 얘기지만, 이 내용이 무엇과 연관이 있을까요? 바로 물류비입니다.

건단가가 낮아서 주문수가 많아지면 택배 물량이 많아집니다. 물론 합배송이 가능하냐, 물류 체계가 자체 배송이냐 위탁 배송이냐, 물류 센터가 있느냐 등에 따라 상황은 다를 수 있겠지만 대개 커머스는 주문수와 건단가 중 굳이 택한다면, 건단가를 높이고 주문수를 줄이는 것이 좋습니다. (객단가는 유저수와 객단가를 둘 다 올리는 게 좋고요...ㅎㅎ)


앰플리튜드(Amplitude)의 Segment Chart 만들기: 매출, 주문수, 객단가, 건단가

*매출, 주문수, 객단가, 건단가 차트 모두 '주문 완료'/'구매 완료'/'결제 완료' 와 같은 이벤트와 '주문 금액'/'구매 금액'/'결제 금액'을 뜻하는 이벤트 프로퍼티가 필수입니다.

*여기서 이벤트와 프로퍼티는 모두 개별적으로 설정되는 것으로 통용되는 단어가 아님을 참조해주세요.

1️. 매출 차트 그리기

1. Segmentation by 에서 주문 완료 이벤트를 설정해줍니다.

해당 택소노미에서는 total_items_order_completed 가 주문 완료/결제 완료 이벤트입니다.

그리고 by order_total 이라는 이벤트 프로퍼티를 사용하여 값을 표현해줍니다.

2. ...performed by Any Users는 따로 설정하지 않아도 됩니다. (전체 유저의 매출을 보는 것이고, 특정 유저의 행동을 보고자 하는 것이 아니니까요.)

3. ...measured as 에서 'Properties'를 선택하고 Sum of Property Value를 설정합니다.

4. 일자까지 설정해주면 그래프가 구현됩니다!

5. 그래프 하단에는 데이터 테이블이 표 형식으로도 나오고, 이는 CSV로 다운로드 받을 수 있습니다.

앰플리튜드로 구현한 매출 차트
앰플리튜드로 구현한 매출 차트

매출은 'order_total'이라는 이벤트 프로퍼티의 값(value)를 더한 것이기에
… measured as Sum of Property Value로 설정합니다.

2️. 주문수 차트 그리기

주문수는 쉽습니다! ...measured as Sum of Property Value를 Event Property로 바꿔주면 됩니다.

매출이 구매 이벤트의 금액의 총합이었다면, 주문수는 이벤트가 발생한 수이기 때문입니다.

앰플리튜드에서 구현한 주문수 차트 (+grouped by order_total)
앰플리튜드에서 구현한 주문수 차트 (+grouped by order_total)

Event Totals로 바꿨는데 그래프가 조금 이상하죠? order_total이라는 주문금액값이 grouped by 필터로 걸려있어서 그렇습니다. 금액값 별로 어떻게 구성되어져있는지 보여주는 거죠. 해당 필터를 지워주면 됩니다.

앰플리튜드로 구현한 주문수 그래프
앰플리튜드로 구현한 주문수 그래프

3️. 객단가 차트 그리기

객단가는 매출/주문자수입니다. 그러므로 매출=주문완료 이벤트(+order_total 프로퍼티)의 PROPSUM (PropertySUM)/주문완료 이벤트의 유니크(사용자수)로 수식을 만들어서 적용하면 됩니다. 즉 객단가는 PROPSUM/UNIQUES입니다.

객단가의 추이를 과거와 비교할 수도 있습니다. Comparing to date range ending _ 여기서 일자를 설정하여 두 개의 그래프로 구현되도록 할 수 있습니다. 과거 일자와 비교하면 그 시점의 유저가 **[Previous]**로 표시되고, 이후 시점의 유저가 All User로 표시됩니다.

앰플리튜드 객단가 차트 그리기

4️. 건단가 차트 그리기

건단가는 매출/주문수입니다. 그러므로 주문완료 이벤트의 속성값, 주문액 평균을 확인하면 됩니다. ...measured as Average of Property Value로 설정해줍니다.

앰플리튜드 건단가 차트 그리기

건단가는 주로 프로모션을 진행할 때 부차적으로 확인합니다. 평상시 대비 프로모션 진행 시에 카테고리/브랜드/상품/장바구니 할인 쿠폰이 발급되어 건단가가 낮아지는 경우가 많기 때문입니다.

건단가/객단가는 대개 유사합니다. 다만 예외도 존재합니다. 리셀러가 커머스에 많은 경우, 상품을 대량하는 구매하므로 경우 주문수가 주문자수보다 월등히 많아 건단가는 낮고, 객단가는 높을 수 있습니다.

건단가/객단가는 시즈널리티를 탑니다. 특히 의류 커머스의 경우 S/S에는 반팔 티셔츠가 주가 되기에 객단/건단이 낮아지고, F/W에는 아우터 상품이 메인이 되면서 객단/건단이 높아집니다.


앰플리튜드 대시보드 예시

대시보드 한 판에 차트들을 모을 수 있습니다. 매출도, 구매전환율도, 상품수도 여러 필터로 쪼개보면서 프로덕트의 현황을 확인할 수 있습니다.

앰플리튜드 대시보드 예시


분석 내용 공유하기

앰플리튜드 차트로 확인한 데이터들은 구글 스프레드시트로 이전 성과들과 비교하거나, 노션으로 정리하거나, 간단하게는 슬랙으로 정리하여 공유합니다.

분석 내용 공유 예시

참 쉽죠...?

그로스마케터가프로모션/쿠폰 분석을 하는 과정 중에 앰플리튜드로 세그먼트 차트 (커머스에 꼭 필요한 매출, 주문수, 건단가, 객단가) 그리는 법을 알아보았습니다! 감사합니다.

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

앰플리튜드(Amplitude) Segment Chart

MARTECH_image_thumbnail
EVENT

[그로스 캠프] Ep.2 Amplitude by Martinee (24.6)

June 28, 2024

Amplitude, 아직도 어렵다면?

행사명 : [그로스 캠프] Ep.2 - Amplitude by Martinee

장소: 서울 서초구 서초대로38길 12 마제스타시티 타워2 12F

일시: 2024년 6월 5일 ~ 6월 26일 매주 수 오후 7시

대상

  • Amplitude의 주요 기능들을 포함하여 기초 개념부터 실무 활용까지 배우고 싶은 분
  • Amplitude 기반 그로스 마케팅에 관심이 있으신 분

어떻게 진행하였나요?

Image 1 Image 2
그로스 캠프 2기 세션 시작 전 현장 모습

 [그로스 캠프] Ep.2 Amplitude by Martinee 수강생

그로스 캠프 2기는 웨비나 없이 LV. 1, LV. 2, LV. 3, LV. Expert 총 4번의 세션으로 진행되었고, 레벨이 올라갈수록 실무에 활용가능한 앰플리튜드의 고급 기능까지 배웠습니다.

실습 세션의 경우, 실무에 바로 적용 가능하도록 데모 계정을 통해 직접 앰플리튜드의 차트와 기능을 살펴보았습니다.

세부적으로 확인하고 싶은 유저 데이터를 직접 세팅해보고 집계 기간에 따른 차이를 살펴보며 앰플리튜드 차트 활용 시 주의할 점들까지 알아보았습니다.

 [그로스 캠프] Ep.2 Amplitude by Martinee 퀴즈 화면
LV. 2 세션 퀴즈 시작 화면

각 세션 이후에는 간단한 퀴즈를 통해 배웠던 내용을 쉽게 잊지 않을 수 있었습니다.

마티니 앰플리튜드 유저 가이드북 표지
마티니 앰플리튜드 가이드북 표지

후기 포스팅을 포함하여 적극적으로 참여해주신 분들께는 마티니가 직접 만든 108장 분량 앰플리튜드 가이드북까지 전달드려서 캠프 종료 후에도 앰플리튜드 기능들을 하나씩 적용해보실 수 있습니다.

이렇게 아낌없이 전수해드리는 그로스 캠프, 다음 번엔 놓치면 안되겠죠?

어떤 것들을 배웠나요?

앰플리튜드 필수 차트 살펴보기

Image 1 Image 2
LV.1 세션 실습 모습

 [그로스 캠프] Ep.2 Amplitude by Martinee 강사 이재철

LV.1 ‘탐색적 데이터 분석(EDA)과 가설 발견을 위한 분석 기초’ 세션에서는 앰플리튜드를 다루기 전에 알아야 할 사항과 앰플리튜드의 활용 목적, 구조, 데이터 택소노미 (Data Taxonomy) 설계에 대해 알아보았고 앰플리튜드의 필수 차트인 세그멘테이션 (Segmentation)과 퍼널 (Funnel), 리텐션 (Retention) 차트를 활용하여 분석 기초를 진행해보았습니다.

차트 기능들을 활용할 때는 앰플리튜드에서 정의한 모듈과 필터의 역할을 명확하게 이해해야 하는데요. 이벤트, 유저, 메트릭 모듈 등 그룹을 쪼개고 측정 기준을 정의할 때 Uniques, Active %, Average, User & Event Property 등이 각각 어떤 의미를 가지고 있는지와 라인, 영역, 바 차트들을 어떤 상황에서 활용하는지 배웠습니다.

세부적으로 예시 사례를 기반으로 한 예제 문제 실습을 통해 각 차트별 적합한 활용법을 익혀보는 시간이었습니다.

Segmentation
  • 구매가 많이 발생하는 날의 브랜드별 매출 비중 차이를 확인
  • 프로모션 진행 전후 매출 차이 확인
  • 푸쉬 메시지 타입별 구매 영향도 확인
Funnel
  • 유저별 구매 전환까지 걸리는 시간을 확인
  • 전환까지의 유저 여정 분석
  • 이벤트가 가장 많이 일어나는 파트 확인
Retention
  • 주요 이벤트 및 서비스 사용 간격 및 빈도 점검
  • 핵심 이벤트(Critical Event) 유효성 점검
  • 측정 기준을 통한 시계열 트렌드 확인

내 유저 살펴보기

Image 1 Image 2
Image 1 Image 2
그로스팀 리드 재철님의 LV.2 세션 강의

Image 1 Image 2
LV.2 세션 실습 모습

LV.2 ‘Cohort / LTV / Lifecycle 분석을 활용한 제품 분석 & 유저 분석 심화’ 세션에서는  DAU & MAU와 LifeCycle, Revenue와 LTV, Sign up과 Engagement를 살펴보고 코호트 (Cohort) 분석 정의와 활용에 대해 알아보았습니다.

MAU를 확인할 때는 실질적으로 성장하고 있는지 잘 확인해야 하는데 Formula 기능을 사용하여 서비스의 MAU가 성장하고 있는지를 세그먼트 차트(Segment Chart)를 직접 활용해보며 확인해보았습니다. 라이프사이클 차트(Lifecycle Chart)를 통해서 휴면, 이탈, 유입 사용자의 비중을 살펴보며 실질적으로 MAU가 성장하고 있는지 점검할 수 있었습니다.

하지만 유저 라이프사이클은 매출을 보장해주지 못하기에 LTV까지 꼭! 확인해야 한다는 사실을 잊지 마세요!

코호트 차트 기능을 통해서는 유저의 시계열 데이터를 확인하고 인사이트를 도출할 수 있는데요.

  • 음악  스트리밍앱에서 7일차에 3곡을  즐겨찾기한  사용자
  • 온보딩  중  푸시  알림을  활성화한  사용자
  • 커머스  웹사이트에서  가입  후 7일  내  구매한  사용자

위 예시와 같이 유저 별 행동들을 상세하게 쪼개서 살펴볼 수 있습니다.

지난 한 달 동안 장바구니에 상품을 담았지만 구매는 하지 않은 유저 분석, 회원가입 이후 7일 이내 구매를 하는 유저와 아닌 유저를 비교해보는 예제를 통해 코호트 차트를 활용해보았습니다.

코호트를 메타나 CRM툴로 보내주기까지 한다면 매우 잘 활용할 수 있게 되겠죠!

내 서비스 성장시키기

Image 1 Image 2
그로스팀 리드 재철님의 LV.3 세션 강의

Image 1 Image 2
LV.3 세션 실습 모습

LV.3 ‘비즈니스 성장을 위한 유저 여정 분석(AARRR)과 그로스 모델링’ 세션에서는 앰플리튜드에서 대시보드를 구축하는 과정과 AARRR 프레임 워크(Framework)의 각 단계인 획득 (Acquisition) , 활성화 (Activation), 수익 (Revenue), 재방문 (Retention), 추천 (Referral)의 유저 여정 분석과 그로스 모델링에 대해 배우는 시간을 가졌습니다.

Acquisition
  • LTV/CAC 확인
Activation
  • DAU/MAU 확인
  • 퍼널 별 전환율 확인 후 개선
  • 아하 모먼트(Aha moment) 찾기
Revenue
  • ARPU & ARPPU 확인
Retention
  • 내 서비스 주요 이벤트 찾기
  • 제품 사용 간격 찾기
Referral
  • 입소문 효과 계수 측정

환경 구축하기

Image 1 Image 2
그로스팀 리드 재철님의 LV.Expert 세션 강의

Image 1 Image 2
Image 1 Image 2
LV.Expert 세션 실습 모습

LV. Expert 'Performance & CRM & Growth 분석에 대한 실행을 위한 마케팅 분석 & 자동화 Case Study' 세션에서는 MMP & PA & CRM 솔루션의 연동을 통한 통합 마케팅 환경을 구축하는 이유와 방법에 대해 그 중요성과 과정을 세부적으로 실제 기업 사례를 통해 알아보았습니다.

제품을 많이, 잘 판매하기 위해서 프로모션을 진행하는데 발생하는 매출에 대해 정말 프로모션의 영향인지 확인하기 위해 증분 분석을 진행합니다. Amplitude 퍼널 차트를 통해 실험 집단을 분리해서 A/B 테스트를 진행하여 프로모션의 유효성을 검증하는 과정 공유해드렸습니다.

이외에도 클러스터링 기능을 통한 라플 유저와 일반 유저의 여정 분석 및 비교 방법과 연관 규칙 분석을 통한 카테고리 내 상품별 연관성을 파악하는 방법에 대해서도 배웠습니다.

앰플리튜드 Amplitude 기초자격증 배지 획득 화면

궁금한 것이 있다면?

Image 1 Image 2

살펴본 데이터가 비즈니스에 따라 상이하거나 세션 중 어려운 부분이 있어도 QnA를 통해 상세하게 답변드리고 함께 살펴보며 자신의 비즈니스에 적합한 최적의 활용법을 익힐 수 있는 시간이었습니다.

참여자 후기를 확인해보세요!

 [그로스 캠프] Ep.2 Amplitude by Martinee 종료 후 단체사진

그로스 캠프가 1기에 이어 2기까지 1달 동안 많은 분들의 적극적인 참여 속에 마무리 되었습니다.

LV. 1 세션부터 마지막까지 많은 분들깨서 남겨주신 후기를 확인해보세요!

 [그로스 캠프] Ep.2 Amplitude by Martinee 만족도 결과
최종 만족도 조사 결과

마티니가 여러분의 비즈니스 성공을 위해 언제나 함께 합니다.

마티니가 진행한 다른 세미나들이 궁금하다면?

마티니 이벤트 확인하러 가기!

MARTECH_image_thumbnail
GROWTH

그로스마케팅 앰플리튜드(Amplitude) 부트캠프

June 24, 2024

그로스마케팅이란?

그로스마케팅은 그로스해킹(Growth Hacking) 기법을 기반으로 Growth, 성장을 위해 마케팅하는 것입니다.

성장을 위해 가장 필요한 정보는 무엇일까요? 사용자에 관한 것입니다. 누가 어떻게 사용했는지 알아야, 그 사람과 유사한 사람들을 더 불러올 것이고 (=유입) 어떻게 사용했는지 알아야 어디서 이탈했는지를 찾아 그 지점을 개선시킬 수 있을테니까요.

즉 그로스해킹과 그로스마케팅의 근간은 사용자와 데이터입니다.

사용자 행동을 데이터로 남기고, 이를 분석하여 서비스 개선의 근거로 삼는 것이죠. 사용자의 행동을 이벤트(Event) 혹은 로그데이터 (Log data)라고 이야기하는데요. 이 로그데이터를 분석할 수 있는 툴/솔루션 중 하나가 앰플리튜드(Amplitude)입니다.

앰플리튜드 누가 쓰냐구요? 오늘의집도, 올리브영도, 무신사도 씁니다.

오늘의집에서 확인할 수 있는 앰플리튜드 이벤트(Event)
오늘의집에서 확인할 수 있는 앰플리튜드 이벤트(Event)

오늘의집에 모바일 버전으로 유입되어 제가 한 행동들 (프로모션 Viewed > 콘텐츠 Viewed > 프로모션 Viewed )이 수집되는 것을 확인할 수 있습니다.

이렇게 PC/Web이든 Mobile/Web이든 App이든, 어떤 플랫폼에서든 사용자가 한 행동을 수집하여 분석할 수 있습니다. 사용자 행동 분석은 그로스해킹, 그로스마케팅의 기본이니까요.

그로스마케팅 툴, 앰플리튜드(Amplitude)를 배우고자

그로스마케터, 개발자, 서비스기획자, 퍼포먼스마케터, CRM마케터 등 다양한 직무의 실무자들이 모입니다.

앰플리튜드를 더 잘 사용하기 위해 마티니에서 개최한 앰플리튜드 부트캠프 1기에는 김과외, 당근마켓, 사람인, 잡코리아, 현대홈쇼핑, 비소나이, 타이어픽, CJ올리브영 등의 재직자 분들이 오셨었습니다. 마케터를 지망하는 취준생도, 이제 막 취업한 신입도 아닌 유니콘 스타트업의 연차가 있는 실무자들이 앰플리튜드를 배우기 위해서 모입니다.

 앰플리튜드 부트캠프 1기 현장 모습
 앰플리튜드 부트캠프 1기 설문 응답 시트

사용자를 이해하고 분석하여 그로스(Growth)를 도모합니다.

앰플리튜드(Amplitude)를 학습하고, 도입하고, 활용하고자 하는 이유는 대다수 유저 분석을 위함입니다. 그렇다면 유저 분석은 어떻게 할 수 있는 것일까요?

 앰플리튜드 부트캠프 1기 세션 모습
 앰플리튜드 부트캠프 1기 응답 시트 내 유저 분석 검색 결과
유저 분석의 필요성을 모두가 알고 있습니다.


이벤트(Event)와 프로퍼티(Property)를 수집하여 현황을 분석합니다.

(1) 사용자의 행동(Event)만 수집하면 구매수가 늘어난 현상에 대해 발견할 수 있습니다. '구매'를 Event로 수집했을 때입니다.

이벤트 예시

(2) 사용자의 행동(Event)에 행동과 관련된 추가 속성값(Property)를 수집하면

좀 더 자세한 정황을 파악할 수 있습니다. '구매'라는 Event에 Event Property로 Brand_name이 추가로 수집되었을 때입니다. 구매수가 실제 증가한 브랜드는 'Nike'이고 'Vans'는 감소했다는 것을 알 수 있습니다. Nike의 반응도가 높으니 재고를 미리 확인해두면 좋겠죠? 현상을 분석하여 이후 상황에 적절한 대응을 취할 수 있습니다.

이벤트 및 프로퍼티 예시

(3) 사용자의 행동(Event)에 행동과 관련된 추가 속성값(Property) 그리고 사용자와 관련된 속성값(User Property)를 수집하면 가장 자세하게 현황을 분석할 수 있습니다.

이벤트 및 프로퍼티 예시 2

17일에서 18일의 구매수 증가에 기여한 구매 내역은 meta로 유입된 신규 유저의 Nike 구매입니다. (30건에서 70건으로, 200%이상 증가) organic으로 유입된 기존 유저의 Nike 구매는 이틀 간 동일했고, organic으로 유입된 기존 유저의 Vans 구매는 60건에서 40건으로 감소했네요.

즉 Nike의 구매수가 늘었다라는 분석이, meta 광고에 의해 유입된 신규 유저들의 Nike의 구매수가 늘었다. 라고 훨씬 자세해졌습니다.

구매수 100 > 120, 20%의 증가가 있었다라는 표면적인 확인에서 Nike 브랜드 증가가 일어났다는 조금 더 깊이있는 확인으로 어떤 경로에 의해 어떤 특성을 가진 유저에 의한 구매수 증가였는지까지 분석이 가능해진 것이죠.

분석이 깊이있을수록 전략과 실행방안도 구체성을 가집니다. 메타 광고에 의해 유입된 신규 유저들의 증가세가 확인되었으니, 해당 광고 매체를 활성화시키는 것이 좋겠죠. 어떤 광고 소재가 좋은 효율을 가져왔는지 분석하고 그 소재를 베리에이션하여 (다양한 버젼으로 만들어보는 것) 예산을 증액하여 광고를 운영해자는 실행 방안이 나오기 쉬워집니다.


서비스 내 주요 이벤트(유입, 조회, 가입, 구매 등) 분석하고 마케팅하기

이벤트와 이벤트 프로퍼티, 유저 프로퍼티 등의 설계가 완료되면 (이를 총칭하여 택소노미, taxonomy를 설계한다고 합니다.) 차트를 구성하여 주요 지표들의 수치를 확인할 수 있습니다.

회원가입수_연령별

가입완료(Event:sign_up_completed)수를 나이(User Property:user_age)로 나눠볼 수도 있고요.

(예시) 데이터 분석을 기반한 퍼포먼스마케팅

가입 관련 데이터 분석을 했을 때, 서비스 내의 유입 대비 가입 전환율이 30대가 가장 높다면 퍼포먼스마케팅 광고의 타겟 대상을 30대로 집중해준다면 동일 비용 대비 좀 더 광고 효율이 높아지겠죠?

연령별 회원가입 수

회원가입수_연령별 주문수_신규/기존유저

주문완료(Event:order_completed)수를 유저 상태(User Status: New or not)로 나눠볼 수도 있습니다.

신규와 기존 주문데이터 영역차트

(예시) 데이터 분석을 기반한 CRM마케팅

주문수의 유저 비중을 확인했을 때 절대적으로 기존 유저의 비중이 높기 때문에 두 가지 방안을 생각할 수 있겠는데요.

(1) 비중이 낮은 신규 유저의 구매 활성화를 위해서 신규 유저 타겟으로 추가 쿠폰을 발급하는 프로모션을 운영하고 이를 홍보하는 CRM 마케팅을 진행할 수 있겠습니다.

29CM 데이터 분석을 기반한 CRM마케팅 예시

혹은 (2) 비중이 높은 기존 유저의 구매수를 더 장려하기 위해서 기존 유저들이 선호하는 브랜드의 신상품 런칭 소식을 알려주는 CRM 마케팅을 진행할 수도 있겠고요.

도미노피자 카카오톡 알림톡 CRM 마케팅 예시

앰플리튜드가 그로스마케팅의 정답일 수는 없습니다.

그로스해킹과 그로스마케팅에 쓰여지는 수많은 마테크 솔루션 중 하나일 뿐입니다. 앰플리튜드(Amplitude)는 프로덕트 애널리틱스로 (행동 분석 솔루션) 유용한 것인지, 만능인 것은 아닙니다. 솔루션의 사용이 성장을 보장해주지는 않습니다. 그러나 사용자를 더 잘 이해하는 것은 서비스의 개선 그리고 성장과 직결될 것입니다.

마테크 솔루션 분류 이미지
 앰플리튜드 부트캠프 1기 표지

앰플리튜드 부트캠프는 현재 2회차까지 진행되었으며 (1회차 격주 2시간씩 2회 운영) 다음 일자는 24년 1월 정도로 예정되어 있습니다. 마티니의 링크드인이나 인스타그램을 통해 소식을 공유받으실 수 있습니다.

링크드인 https://www.linkedin.com/feed/update/urn:li:activity:7103207584077139968

인스타그램 https://www.instagram.com/martinee_official/

홈페이지 https://martinee.io/

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

그로스마케팅 앰플리튜드(Amplitude) 부트캠프

MARTECH_image_thumbnail
GROWTH

퍼포먼스마케팅이란? 성과 측정이 가능한 것!

June 19, 2024

소위 퍼포마 라고도 부르는 퍼포먼스마케팅에 대해서 얘기해보려고 합니다. 마케팅이라는 개념이 워낙 넓어서인지 다소 모호하게 느껴질 때가 많은데요.

현직 그로스마케터의 입장에서 퍼포먼스마케팅의 개요와 사례에 대해 최대한 구체적으로 소개해보겠습니다. 퍼포먼스마케터를 준비하시는 취준생 분들 혹은 이미 마케터로 일하는 분들께도 도움이 되었으면 합니다.

일상에서 쉽게 만나볼 수 있는 마케팅

마케팅은 모든 곳에 있습니다. 출근 길, 지하철에서 본 스크린도어 광고도 마케팅이고요. 인스타그램 스토리를 넘기다보면 나오는 브랜드의 블랙프라이데이 할인 광고도 마케팅이죠.

지하철 스크린도어 옥외광고 (OOH)
지하철 스크린도어 옥외광고 (OOH)

거실 방에 틀어져있던 TV에서 본 TV CF도 마케팅, 핸드폰으로 뉴스를 볼 때 옆에따라다니는 이미지들도 마케팅입니다. 엊그제 무심코 온라인 커뮤니티 글에서 읽었던 글이 마케팅일 수도 있을겁니다.

퍼포먼스마케팅이란? 성과 측정이 가능한 마케팅!

Performance Marketing이란 '성과'에 초점을 맞춘 마케팅입니다. 위에 예시로 들었던 마케팅들 중에서 성과를 명확히 알 수 있는 마케팅은 무엇일까요?

1) 지하철 스크린도어

2) 인스타그램 스토리

3) TV CF

4) 온라인 뉴스 배너 광고

5) 온라인 커뮤니티 글

몇 명에게 보여졌을까요? 그리고 몇 명이 진짜로 '봤을까요?' 그리고 몇 명이 그냥 본 것 외에 (수동적 차원) 다음 행동을 했을까요? (적극적 차원)

1) 스크린도어, 3) TV CF, 5) 커뮤니티 글의 경우 광고 노출 = 광고 조회라고 보기 애매합니다.

1)의 경우는 지나쳤을 뿐 진짜 보지는 않았을 수 있으니까요.

3) 또한 마찬가지입니다. 광고가 틀어져있었을 뿐 시청자는 자리를 비웠을 수도 있고요.

5)의 경우는 글 내에 다음 행동을 유도하는 장치가 있냐 없냐에 따라 달라질 수 있겠네요.

2) 인스타그램 스토리, 4) 뉴스 배너 광고는 광고 노출수, 다음 행동을 유도하는 영역의 클릭수, 이후 전환수와 전환율 등 성과로 볼 수 있는 다양한 수치를 확인할 수 있습니다.

즉 여기서는 2) 인스타그램 스토리와 4) 뉴스 배너 광고를 퍼포먼스마케팅이라고 볼 수 있겠네요.

포인트는 광고를 봤다는 것을 증명할 수 있는가?입니다.

인스타그램 스토리나 뉴스 배너 광고의 경우 증명할 수 있습니다. 그 브랜드나 상품에 흥미가 생겼을 때, '클릭'하게 되니까요. CTA (Call To Action)이라고 하는 행동 유도 장치 버튼을 통해서요.

Image 1 Image 2
인스타그램 스토리 광고

결론적으로 퍼포먼스 마케팅은 성과를 측정할 수 있는 마케팅을 말하며, 외부에 있는 사용자를 내부의 서비스로 유입시킬 때 주로 사용됩니다.

커머스를 예시로 들면 유입~가입~첫구매 혹은 유입~재구매를 위한 UA Marketing과 Retargeting Markteting이 있습니다.

  • User Acquisition은 사용자 획득으로 외부에 존재하는 유저들을 서비스 내부로 데려오는 것이고,
  • Retargeting은 유입된적 있지만 다시 떠나있는 이들을 다시 한 번 타겟팅하여 서비스 내부로 또 데려오는 것입니다.
외부에 있는 사람들을 내부(서비스)로 데려오는 것
외부에 있는 사람들을 내부(서비스)로 데려오는 것!

퍼포먼스마케팅의 배너 광고와 검색 광고

퍼포마에서 활용하는 광고는 크게 1) 배너 광고와 2) 검색 광고로 나눌 수 있습니다.

1) 배너 광고는 불특정 다수에게 광고 콘텐츠를 노출시키는 것을 것입니다. 물론 대상의 타겟팅을 정교화할 수 있지만 (성별, 연령대 등의 인구통계학적 특징 외에 주요 관심사, 기타 행동) 최근에는 오픈 타겟이라고 하여 다른 조건 없이 광고의 모수로 삼는 경우가 많습니다. (광고 매체들의 머신 러닝이 정교화되어 알아서 타겟팅을 해주기 때문입니다.)

배너 광고 매체로는 페이스북/인스타그램(메타), 구글/유튜브, 네이버, 카카오 등이 있습니다. 페이스북 피드 광고, 인스타그램 스토리 광고, 구글/네이버/카카오의 배너 광고들이 그 예시입니다.

Image 1 Image 2
카카오와 네이버의 배너 광고
유튜브의 홈 화면의 배너 광고
유튜브의 배너 광고

퍼포먼스마케팅의 주요 지표

배너 광고는 목표에 따라 중요하게 여기는 지표 또한 달라지는데요. 목표에 따른 캠페인으로는 브랜드 인지도 향상, 유입(=트래픽) 증대를 위한 트래픽 캠페인과 가입/앱설치/매출 증대 등을 위한 전환 캠페인이 있습니다. 주요 지표로는 도달수, 노출수, 노출당비용, 클릭수, 클릭율, 클릭당비용, 전환수, 전환당비용, 전환율 등을 통해 성과를 측정할 수 있습니다.

  • 목표 (1)  브랜드 인지도 향상
  • 세부 목표: 최대한 많은 사람들에게 보여지게 하기
  • 주요 지표: 도달수, 노출수

  • 목표 (2) 웹사이트의 유입 증대
  • 세부 목표:  최대한 많은 사람들이 들어오게 하기
  • 주요 지표: 클릭수, 유입수 트래픽 캠페인

  • 목표 (3) 커머스 매출 증대
  • 세부 목표: 최대한 많은 주문 발생시키기
  • 주요 지표: 결제수

페이스북 광고 관리자 화면 (결과: 구매, 등록 완료, 조회 등)
페이스북 광고 관리자 화면 (결과: 구매, 등록 완료, 조회 등)

2) 검색 광고는 배너 광고보다는 고관여자에게 광고 콘텐츠가 노출됩니다. 보통 배너 광고를 통해 상품을 인지하고 이후에 그 상품군이 필요할 때 키워드를 검색하여 구매하기 때문이죠.

검색을 했을 때는 구매 직전일 가능성이 높습니다. 검색을 하는 것 자체가 이미 구매 의도가 있다는 것이니까요. 그러므로 검색 광고는 배너 광고보다 대상 모수는 적고 경쟁도가 치열하여 비용이 높지만, 상대적으로 구매로 이어지는 전환율이 높습니다.

  • 네이버 검색 광고: 파워링크, 쇼핑검색 등
  • 구글 검색 광고
Image 1 Image 2
퍼포먼스마케팅 구글 검색페이지

퍼포먼스마케팅에서 주의할 점!

제일 조심해야하는 점은 '숫자'입니다. 가장 중요한 만큼 가장 위험할 수 있는데요. 성과 측정에 초점을 맞추기 때문에 숫자에 현혹되기 쉽기 때문입니다. ROAS: Return On Ad Spend, 광고 수익률 - 가 주요 지표로 여겨지는 만큼 이 숫자'만을' 보게될 때를 주의해야합니다.

ROAS 200% vs ROAS 1000%

여기서 ROAS 1000%의 광고가 무조건 좋은 소재라고 판단할 수 없습니다. 기간과 비용 등 다른 수치들을 함께 봐야죠.

  • 최근 7일 간 100만원의 마케팅 비용을 집행하여 ROAS 1000%가 나왔다면 매출은 1,000만원일 것입니다.
  • 어제 1일 간 1,000만원의 비용을 써서 ROAS 200%가 나왔다면 매출은 2,000만원일 것입니다.

마케팅은 비용을 많이 쓸수록 난이도가 높아지므로 ROAS 수치만으로 판단할 수는 없습니다.

퍼포먼스마케팅도 그로스마케팅도 중요한 것은 데이터

퍼포먼스마케팅과 그로스마케팅의 가장 큰 공통점은 '숫자'로 대변되는 데이터를 근거로 한다는 것입니다. 메타 광고의 매출 증대를 목표 전환 캠페인에서는 광고 비용과 ROAS 등의 수치를 중요시할 것이고요.

그로스마케팅의 경우 리텐션(재방문율/재구매율)을 개선하고자 했을 때는 재방문수, 재구매수의 절대적인 수치와 전체 방문 중 재방문수의 비중, 전체 구매 중 재구매수의 비중 등 상대적인 수치를 봐야할 것입니다.

마케팅을 하는 경우는 크게 인하우스와 대행사(에이전시)로 나뉩니다. 인하우스에서 퍼포먼스마케터로 광고 매체를 직접 운영하거나 (self-serving이라고 많이들 표현합니다.) 대행사와 논의하며 일하는 경우가 있고요. 대행사에서 퍼포마를 한다면 여러 고객사들을 맡아서 다양한 광고매체를 경험할 수 있습니다.

보통 전자(인하우스)에서 퍼포먼스마케터로 일하는 경우 그로스마케터처럼 일하는 상황도 자주 발생합니다. 매출 성장에 필요한 모든 마케팅들을 도맡아서 하다보면 꼭 유상 광고 매체만 운영하는 것이 아닌, 인스타그램도 관리하고, 제휴 마케팅도 진행하고, 프로모션도 관리하고, 자사몰 상세페이지를 기획할 수도 있기 때문이죠.

Data-driven Marketing

데이터를 기반으로 한 의사결정과 마케팅을 하기 위해서 데이터 환경이 구축되어 있어야 합니다. 퍼포먼스마케팅에서 주로 다루는 광고 매체들의 성과의 명확한 분석을 위해서는 기여(Attribution)와 접점(Touchpoints)에 대한 결정과 설정이 필요하기 때문입니다.

이를 위해 MMP(Mobile Measurement Partner)인 에어브릿지(Airbridge)나 앱스팔라이어(Appsflyer), 애드저스트(Ajdust)를 활용하는 것이고요. CRM 마케팅과의 연계 캠페인을 운영하기 위해서 브레이즈(Braze)와의 연동을 구현하기도 합니다.

그리고 결국 궁극적인 전환 성과를 판단하기 위해서 DB Data (User Data)를 연동하여 비교하기도 하죠. 데이터 분석의 깊이에 따라 사용자에 대한 이해도가 달라지는 만큼 데이터 파이프라인 구축은 중요합니다.

데이터 파이프라인에서의 퍼포먼스마케팅 매체의 순서
데이터 파이프라인에서의 퍼포먼스마케팅 매체의 순서
데이터 파이프라인 구축 예시 이미지
데이터 파이프라인 구축

데이터파이프라인 구축을 지원하는

풀스택 마케팅 컨설팅펌 마티니아이오

https://martinee.io/

원본 포스팅 링크

퍼포먼스마케팅이란? 성과 측정이 가능한 것!