자기계발 Diary

오늘의 공부day_5(마케터에게 데이터분석이란? 필요할까?, SQL 공)

siron94 2024. 11. 7. 18:40
  • 마케터에게 데이터분석이란? 필요할까?

 

  • 데이터분석 능력이 왜 필요할까?

데이터분석 능력을 '어떻게' 준비하는지 보다는 마케팅에서 데이터분석이 '왜' 필요한지가 더 중요합니다.

목적이 명확해야 방향성을 올바르게 정할 수 있기 때문입니다.

데이터분석이 필요한 이유는 '데이터를 분석해서 나온 인사이트를 바탕으로 더 나은 의사결정을 하기 위해서'이라고 생각합니다.

예를 들어 감으로 A를 선택하는 것보다 A, B, C, D, 지표에 근거해서 A를 선택하는 것이 성공 확률을 높이기 때문입니다.

특히 디지털 중심으로 운영되는 브랜드의 경우는 데이터에 대한 의존도가 더욱 높습니다.

브랜딩 콘텐츠를 제작하는 '콘텐츠 마케터'와 앱 서비스의 질적 성장을 만드는 '그로스 마케터'는 각자 역할이 다릅니다.

 

 

  •  데이터분석 실제로는 어떻게 사용될까?

예시를 통해 데이터를 어떤 식으로 활용하는지 알려드리겠습니다

상황. 서비스 대규모 할인 프로모션 광고로 유입되는 고객이 크게 늘었지만, 실제 서비스를 결제한 고객은 0.5% 뿐이었다. 그로스 마케터 심씨는 왜 99.5%의 고객이 구입하지 않고 이탈했는지 찾기 위해 데이터를 보다가 이상한 점을 발견한다.

 

페이지에 머무는 시간도 상당히 높고, 결제를 시도하는 사람들도 상당히 많았지만, 특정 구간에서 전환율이 확 떨어지는 것을 볼 수 있었다. '로그인 단계'가 이탈 지점인 것을 파악하고, 로그인 단계를 뜯어보기 시작했고, 가설을 하나 세웠다.
'회원가입 방식이 너무 복잡해서, 고객이 중간에 참지 못하고 이탈한다'
그로스 마케터 심 씨는 기존 '이메일, 휴대폰 전화번호' 회원가입 방식에 추가로 카카오톡과 네이버 '간편 로그인' 방식을 추가한다. 프로모션을 조금 더 연장해서 2주 정도 지켜본 결과, 아래 그래프처럼 '결제 방식 선택'으로 넘어가는 비율과 '결제 완료' 비율 모두 상승했다.

 

'그로스 마케터'의 경우 이렇게 고객의 행동 데이터를 바탕으로 서비스의 개선점을 찾고 가설-검증을 통해 더 매력적인 서비스를 만드는 역할을 합니다 그리고 데이터를 다각도로 분석해 보고 정확한 해석이 필요합니다.

 

 

  • 그럼 이제 어떻게 준비하면 될까요?

마케터에게 '데이터 분석'능력은 데이터를 읽고 방향성을 설정하고 그 속에서 인사이트를 찾는 등. 데이터를 통해 가설을 세우고 검증하는 '기획력'에 가깝다고 할 수 있습니다.

데이터 기반의 의사결정 하는 습관을 만들고, 가설 - 검증의 방식을 실생활이나 프로젝트에 접목시키고 일련의 과정들을 기록하는 게 좋습니다.

실생활에 접목시킬 수 있는 예시를 보겠습니다

심 씨가 다니는 헬스장 라커룸 입구에서 유난히 사람들이 많이 자빠졌다. 처음에는 대수롭지 않게 넘겼지만, 동일한 현상이 계속 반복되는 것을 느낀 심 씨는 무엇이 이유인지 살펴봤다. 입구 주변을 살펴보니 한쪽 벽 특정 부분에 손때가 많이 묻어있는 것을 볼 수 있었다. 해당 부분이 미끄러워서 손으로 짚는 사람들이 많이 자빠질 수 있겠다는 생각을 했다.

 

그 이후로 사람들의 행동을 유심히 지켜보며, 사람들이 입구를 드나들면서 그 부분을 짚는 힘에 의존해서 드나들던 사람들이 자빠지는 것을 확인했다. 헬스장에 해당 사실을 알려 그 부분에 미끄럼방지 패드를 부착했고, 그 이후로는 자빠지는 비율이 크게 줄었다.

 

데이터 : 특정 부분의 손 때 (시각화된 데이터)
가설 : 사람들이 손으로 많이 짚는 곳이 미끄러워서 넘어지는 것이다.
검증 : 실제 사람들의 행동에서 확인 완료
개선 : 미끄럼 방지 패드 부착

 

이 처럼 가설을 세우고 검증하고 개선하는 하나의 프로세스가 만들어졌습니다. 이런 식으로 구조화해 보는 것이 좋은 방법입니다. 실생활이나 주변에서 '문제 인식 - 가설 수립 - 검증(with 데이터) - 개선'의 프로세스를 적용하고 정리해 두면 큰 도움이 됩니다. 데이터 분석에 필요한 툴은 말 그대로 위와 같은 프로세스를 수행하는데 도움 되는 도구일 뿐입니다. 데이터 기반의 사고방식이 체득되지 않았다면 활용도는 크지 않습니다.

 

 

  • 그래서 마케터에게 데이터 분석 능력이 꼭 필요할까?

필요합니다. 하지만 중요한 것이 있습니다. '데이터를 읽고 문제를 정의하고, 어떤 지표를 개선해야 하는지 알 수 있는 능력'입니다.

 

 


SQL 공부

 

  • SQL로 간단한 User Segmentation 해보기
분류 결과를 활용하여 다양한 정보를 파악할 수 있습니다.
새로운 분류 또는 카테고리를 만들 때 조건문을 사용하여 다양한 분석과 작업을 수행할 수 있습니다.
 
 
1.실습 10세 이상, 30세 미만의 고객의 나이와 성별로 그룹 나누기 (이름도 같이 출력)
select name,
           age,
           gender,
           case when (age between 10 and 19) and gender='male' then "10대 남자"
                    when (age between 10 and 19) and gender='female' then "10대 여자"
                    when (age between 20 and 29) and gender='male' then "20대 남자"
                    when (age between 20 and 29) and gender='female' then "20대 여자" end "그룹" 
from customers
where age between 10 and 29
 
2.실습 음식 단가, 음식 종류 별로 음식점 그룹 나누기
(Korean = 한식 Japanese, Chinese, Thai, Vietnamese, Indian = 아시아식 그외 = 기타)
select restaurant_name,
           price/quantity "단가",
           cuisine_type,
           order_id,
           case when (price/quantity <5000) and cuisine_type='Korean' then '한식1'
                    when (price/quantity between 5000 and 15000) and cuisine_type='Korean' then '한식2'
                    when (price/quantity > 15000) and cuisine_type='Korean' then '한식3'
                    when (price/quantity <5000) and cuisine_type in ('Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '아시아식1'
                    when (price/quantity between 5000 and 15000) and cuisine_type in ('Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '아시아식2'
                    when (price/quantity > 15000) and cuisine_type in ('Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '아시아식3'
                    when (price/quantity <5000) and cuisine_type not in ('Korean', 'Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '기타1'
                    when (price/quantity between 5000 and 15000) and cuisine_type not in ('Korean', 'Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '기타2'
                    when (price/quantity > 15000) and cuisine_type not in ('Korean', 'Japanese', 'Chinese', 'Thai', 'Vietnamese', 'Indian') then '기타3' end "식당 그룹"
from food_orders

 

 

  • 조건문으로 서로 다른 식을 적용한 수수료 구해보기

1. 실습 지역과 배달시간을 기반으로 배달수수료 구하기

(식당 이름, 주문 번호 함께 출력)

(지역 : 서울, 기타 - 서울일 때는 수수료 계산 * 1.1, 기타일 때는 곱하는 값없음 시간 : 25분, 30분 - 25분 초과하면 음식 가격의 5%, 30분 초과하면 음식 가격의 10%)

2. 실습







 

주문 시기와 음식 수를 기반으로 배달할증료 구하기

(주문 시기 : 평일 기본료 = 3000 / 주말 기본료 = 3500 음식 수 : 3개 이하이면 할증 없음 / 3개 초과이면 기본료 * 1.2)

select order_id,
           price,
           quantity,
           day_of_the_week,
           if(day_of_the_week='Weekday', 3000, 3500)*(if(quantity<=3, 1, 1.2)) "할증료"
from food_orders

 

 

  • SQL문에 문제가 없는 것 같은데 왜 오류가 나나요? (Data Type 오류 해결하기)

 

  • 문자/숫자 계산했더니 오류가 났어요
SQL 문을 회사에서 써봤는데요, avg, substring 등 함수를 썼더니 에러메시지에 ‘data type’ 단어가 뜨면서 실행되지 않아요

 

우리가 실습하는 Mysql과 다르게, 다른 SQL 문법에서는 data type 이 다를 때 연산이 되지 않을 수 있습니다.

숫자가 포함되어 있지만 문자 형으로 저장이 되어있을 수 있습니다 따라서 문자, 숫자를 혼합하여 함수에 사용할 때에는 데이터 타입을 변경해주어야 합니다

 

사용방법

--숫자로 변경
cast(if(rating='Not given', '1', rating) as decimal) 

--문자로 변경
concat(restaurant_name, '-', cast(order_id as char))

 

 


의사결정 습관을 만들기 위해 실생활에서 문제인식-가설-검증-개선 방식 프로세스를 활용한다는 점이 신기했다. 의사결정의 중요성에 대해 알았고 더 나은 의사결정을 습관을 들여야 하는 점이 흥미로웠다.

SQL공부는 조건문을 활용하는 시간이었고 생각보다 어렵진 않았다.