-
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 하나라도 만족 '마케터 관점의 데이터분석 > 마케터의 파이썬 활용법' 카테고리의 다른 글
6. 페이스북 광고 캠페인 전환 분석 (8) 2025.07.22 5. 정적페이지와 동적페이지 데이터 수집 (5) 2025.07.14 4. 웹크롤링으로 마케팅 리서치 해보기 (6) 2025.07.04 3. 전환 조건부터 퍼널 분석까지, 마케터의 파이썬 공부 (5) 2025.06.23 2. A/B 테스트부터 뉴스레터까지, 마케터의 파이썬 활용법 (3) 2025.06.18