ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. 고객 세그먼트부터 타겟팅 로직까지
    마케터 관점의 데이터분석/마케터의 파이썬 활용법 2025. 6. 12. 10:55

    ➢ 고객을 코드로 대입해서 이해해 보기
    ➢ 리스트, 딕셔너리, 조건문으로 마케팅 자동화 시작하기

     

    0.1 리스트(list)는 고객 세그먼트다?

     

    👀 마케터가 리스트를 활용하는 방법

     

    고객을 세그먼트로 분류할 때, 우리 마케터들은 고객 리스트를 만든다.

    VIP 고객군, 이탈자, 신규 유입자, 리타겟팅 후보군 등등...

     

    고객을 나눌 때 : 

    "최근 30일 구매 고객 리스트"
    "이탈 유저 명단"
    "이벤트 응모자 명단"

     

    이러한 세그먼트들은 파이썬에서 리스트[list]로 활용할 수 있다.


    💬 리스트란 무엇인가? 

    파이썬에서 리스트는 말 그대로 여러 값을 한 줄로 묶는 구조이다.

    대괄호 [ ] 안에 값을 쉼표(,)로 나열하면 끝.

     

    그리고 중요한 건, 리스트는 순서가 있고 수정이 가능하다.

     

    마케터가 고객군을 다룰 때 필요한 '추가/삭제/재정렬'이 가능하다.


    파이썬 리스트로 '고객  세그먼트'를 선언해 보자

    active_users = ["민지","서준","지우","하윤"]

     

    이 예시 리스트로 캠페인을 보낼 타겟을 결정할 수 있다.

    또한 마케팅 퍼널 단계별로 리스트를 나뉠 수 있다.

    funnel = {
    "awareness" : ["SNS 방문자", "블로그 유입자"],
    "interest" : ["이메일 구독자", "장바구니 담은 유저"],
    "conversion" : ["결제 완료 고객"]
    }

    apppend() 와 remove() 로 실시간 타겟 세팅

    신규 고객이 유입 됐을 때:

    active_users.append("도윤")

     

    비활성화되거나 이탈한 유저 삭제 시:

    active_users.remove("지우")

     

    출력 결과:

    ["민지","서준","하윤","도윤"]

     

     

    리스트는 타겟의 상태를 반영하며,

    마케터에게 '상태'를 추적하는 것과 비슷하다.

     

     

    구매했는가?
    반응했는가?
    이탈했는가?

    이런 상태를 리스트로 표현하면

    아래와 같이 타겟팅 로직을 코드화할 수 있다.

    if "하윤" in active_users:
    	print("리마인드 메시지 발송")

    for 반복문으로 마케팅 자동화해 보기

    for user in active_users:
    	print(f"{user} 고객님, 이번 주 특별 혜택을 확인하세요!")

     

    출력 예시:

     

    예를 들어 100명의 유저에게 100개의 메시지를 보내기 위해

    100개의 행을 복사/붙여넣기 하지 않아도 된다.

    리스트 + for 반복문으로 마케팅 자동화가 가능하다.


    마케팅용 리스트 메서드 정리

    메서드 기능 실무 응용
    [] 세그먼트 타겟 고객 묶음
    append() 리스트 끝에 추가 신규 고객 추가
    remove() 특정 값 삭제 캠페인 제외 대상 ex) 이탈자 삭제 등
    len() 리스트 길이 확인 고객 수 리포팅
    in 조건 체크(값 포함 여부) 특정 고객 존재 여부 판단
    for 반복문 일괄 실행 (~까지) 텍스트 자동화, 뉴스레터 발송 등

     


     

    0.2 딕셔너리(dictionary)는 CRM이다?

    리스트가 고객의 '모음집'이라면,

    딕셔너리는 고객의 '속성 정보'이다.

     

    이름, 이메일, 최근 구매일, 구매 횟수, 고객 등급 등

     

    이것은 우리가 CRM 데이터를 다룰 때 늘 보던 정보들이다.

    이런 정보들을 파이썬에서 딕셔너리로 활용할 수 있다.

     

    딕셔너리는 데이터를 '속성(Key)'과 '값(Value)'의 쌍으로 저장하는 구조이다.

     명의 고객을 정의하거나, 여러 고객을 비교 분석할  사용할  있다.

    ➢  고객 속성 저장하기 - CRM 필드 구조 매핑
    ➢  조건별 캠페인 실행 - key를 기준으로 필터링
    ➢  메시지 개인화(카피) - value를 텍스트에 삽입
    ➢  세그먼트 리포트 - 구룹별 분석


    • 어떤 고객이 
    • 어떤 등급이고 
    • 어떤 캠페인 대상인지
    customer = {
    "name" : "지민",
    "age" : 28,
    "membership" : "vip",
    "recent_purchase" : "2025-06-10",
    "channel" : "email"
    }

     

    • Key : 속성 이름 ("name", "age", "membership", "recent_purchase", "channel")
    • Value : 실제 데이터 값 ("지민", 28, "vip", "2025-06-10", "email")

    예시) 고객 정보 관리

    customer = {
    "name": "이영희",
    "email": "lee@exmaple.com",
    "grade": "VIP"
    }
    # 정보 추가(최근 구매일 추가)
    customer["last_purchase"] = "2025-06-10"
    # 고객 등급 변경
    customer["grade"] = "VVIP"
    # 특정 키 삭제 (이메일 삭제)
    del customer["email"]

    출력 결과:

    print(customer)
    {'name': '이영희', 'grade': 'VVIP', 'last_purchase': '2025-06-10'}

    마케팅 CRM 파이썬 로직

    • 이 고객은 VIP인가?
    • 구매 후 30일 지났나?
    • 카카오채널 구독자인가? 
    if customer["membership"] == "VIP":
    	print("VIP 전용 프로모션 발송")
    if customer["channel"] == "kakao":
    	print("카카오 전용 메시지 발송")

     

    이탈 유저 타겟 리타겟팅 

    crm = {
    "user_001":{"name":"은우","tier":"silver","is_active": True},
    "user_002":{"name":"수아","tier": "vip","is_active": False}
    }
    for user in crm:
    	if not crm[user]["is_active"]:
        		print(f"{crm[user]['name']}님, 다시 오신다면 ... 혜택이 기다립니다...")

     

    get() 으로 타겟 속성 확인

    CRM 데이터를 다룰 땐 값이 없을 수도 있다.

    그럴 때 get() 사용 가능.

     

    customer.get("membership") # 없으면 None 반환

     

    in 으로  존재 여부 파악 (타겟 유효성)

    if "membership" in customer:
    	print("멤버십 등급 보유 고객")

     

    마케팅용 딕셔너리 메서드 정리

    메서드 기능 실무 응용
    dict.keys() 모든 key 가져오기 CRM 필드 리스트 조회할 때
    dict.values() 모든 value 가져오기 고객 데이터 확인할 때
    dict.items() key-value 쌍으로 가져오기 데이터 반복처리
    get() 안전하게 value 가져오기 누락된 정보 오류 방지
    del dict[key] 특정 key 삭제 속성 제거할 때

     

    "이 고객은 어떤 전환을 했는가?"
    "이 조건에 반응할 것인가?"
    이런 CRM을 파이썬에서 딕셔너리로 활용 가능하다.

    03. 조건문은 타겟팅이다? 

    구매 안 한 유저에게만 메시지 보내자
    단골인데 반응 없는 고객은 리타겟팅하자
    첫 방문 고객이고 장바구니에 담았으면 혜택 알람 띄우자


    우리 마케터들이 자주 사용하는 조건들이다.

    이런 조건들을 if, elif, else 조건문으로 활용할 수 있다.

    조건문으로 리타겟팅 설정하기

    user = {
    "name":"예린",
    "grade":"gold",
    "purchase": False,
    "cart": True
    }
    
    if user["purchase"]:
    	print("구매 감사 메시지 발송")
    elif user["cart"]:
    	print("장바구니 할인 알람 메시지 발송")
    else:
    	print("신규 고객 웰컴 캠페인 시작")

     

    등급별 혜택 메시지 보내기

    customer = {
    "name" : "김민지",
    "grade" : "VVIP" 
    }
    
    if customer["grade"] == "VVIP":
    	print("VVIP 전용 10% 할인 쿠폰 발송")
    elif customer["grade"] == "VIP":
    	print("VIP 고객 전용 8% 할인 쿠폰 발송")
    elif customer["grade"] == "gold":
    	print("gold 고객 전용 5% 할인 쿠폰 발송")
    else:
    	print("일반 고객 대상 2% 할인 쿠폰 발송")

    유입 경로 + 구매 여부

    if user["channel"] == "kakako" or user["channel"] == "email":
    	print("이탈 방지 메시지 채널별 AB 테스트 실행")

     

    리마케팅 설정 : 조건문 + 딕셔너리 + 수치 조건

    customer = {
    "name" : "박예지",
    "purchase_count":6,
    "grade":"VIP"
    }
    
    if customer["purchase_count"] >= 5 and customer["grade"] == "VIP":
    	print("VIP 누적 구매자 대상 리마케팅을 시작합니다.")
    else:
    	print("조건 미충족으로 리마케팅 대상에서 제외됩니다.")

     

    • 세그먼트
    • AB 테스트
    • 리타겟팅
    • 캠페인 전환율 높이기

    마케팅용 조건문 메서드 정리

    메서드 기능 실무응용
    if 조건 충족 시 행동 구매 여부 판단
    elif 다른 조건 분기 장바구니 여부
    else 모든 조건 불충족 시 기본 웰컴 메시지
    and / or / not 복합 조건 처리 타겟 조건 세분화
    in , not in 존재 여부 체크 캠페인 대상 필터링

     

    조건문에서 많이 쓰는 비교 연산자

    연산자 의미 예시 결과
    == 같다 x == 10 True
    != 같지 않다 x != 10 False
    > 크다 x > 5 True
    < 작다 x < 3 False
    >= 크거나 같다 x >= 5 True
    <= 작거나 같다 x <= 5 True
    and 그리고 x > 5 and y < 10 둘 다 만족
    or 또는 x > 5 or y = < 10 하나라도 만족
Designed by Tistory.