
학습목표 / 사전지식: 목표는 “고객을 등급별로 나눠줘”라는 막연한 요청을 거래 데이터 정리, RFM 점수 계산, 세그먼트 표 작성 순서로 바꾸는 것이다. [GL-14] 선수지식은 없어도 되며, 표를 붙여 넣고 결과 열을 확인하면 된다. [GL-14]
고객 데이터 분석은 처음부터 정답을 맞히는 일이 아니다. 흐릿한 질문을 손에 잡히는 작업 순서로 바꾸는 일에 가깝다. [GL-14] GL-14의 핵심 표현인 “모호→실행계획”이 이번 실습의 뼈대다. [GL-14]
RFM은 Recency, Frequency, Monetary의 줄임말이며, 여기서는 “최근에 샀는가, 자주 샀는가, 많이 썼는가”를 고객별 점수로 정리하는 틀로 사용한다. [GL-14] 비유하면 냉장고 재료를 신선도, 개수, 가격표로 나누어 보는 방식이다. [GL-14]
Skills는 반복되는 작업 순서를 미리 적어 두고 같은 방식으로 실행하게 만드는 장치로 다룬다. [GL-14] 이번 클립에서는 거래 데이터가 들어오면 먼저 클리닝하고, 고객 단위로 묶고, RFM 점수를 계산하고, 마지막에 CRM 행동 표로 바꾸는 절차를 Skill에 고정한다. [GL-14]
Codex 작업 화면은 입력창, 파일 첨부 영역, 응답 영역으로 나누어 보면 된다. [GL-14] 새 대화에서 거래 데이터를 붙여 넣거나 파일로 첨부한 뒤 실행 버튼을 누른다. [GL-14]
Skill을 파일로 관리하는 환경에서는 rfm-clean-segment/SKILL.md처럼 이름이 드러나는 파일을 만든다. [GL-14] 파일을 만들 수 없으면 같은 내용을 프롬프트 맨 위에 붙여 넣는다. [GL-14]
준비물은 거래 데이터 네 열이다. [GL-14] customer_id는 고객을 구분하는 값, order_id는 주문을 구분하는 값, order_date는 구매일, amount는 구매금액으로 사용한다. [GL-14]
1단계에서는 새 대화 입력창에 작은 거래 데이터를 붙여 넣는다. [GL-14]
Use the rfm-clean-segment skill.
Reference date: 2026-06-30
Transaction data:
customer_id,order_id,order_date,amount
C001,O-1001,2026-06-27,120000
C001,O-1002,2026-05-18,83000
C002,O-1003,2026-01-09,45000
C003,O-1004,2026-06-01,210000
C003,O-1005,2026-06-15,190000
C004,O-1006,2025-12-20,33000
C005,O-1007,2026-06-26,76000
C005,O-1008,2026-04-02,91000
C005,O-1009,2026-03-11,64000
Task:
Clean the data, calculate RFM, assign customer segments, and show the final table.
2단계에서는 첫 응답에서 Cleaning checks, RFM calculation plan, Segment rules 같은 구조가 생겼는지 확인한다. [GL-14] 이 확인은 결과를 바로 믿기보다 모호한 요청이 실행 계획으로 바뀌었는지 보는 과정이다. [GL-14]
3단계에서는 점수 규칙을 명확히 넣는다. [GL-14] 기준이 없으면 같은 거래 데이터라도 다른 세그먼트가 나올 수 있으므로, 촬영에서는 1점부터 5점까지의 점수와 총점 구간을 직접 지정한다. [GL-14]
Use this scoring rule:
- Recency score: lower recency_days is better, score 1 to 5.
- Frequency score: higher order_count is better, score 1 to 5.
- Monetary score: higher total_amount is better, score 1 to 5.
Segments:
- Champions: total RFM score 13-15
- Loyal: 10-12
- Needs attention: 7-9
- At risk: 3-6
Return a customer-level table and explain only the segment logic.
4단계에서는 결과 표의 열을 확인한다. [GL-14] customer_id, recency_days, order_count, total_amount, R_score, F_score, M_score, segment가 있으면 고객 단위 표로 읽을 수 있다. [GL-14]
5단계에서는 CRM 행동 표를 요청한다. [GL-14] 세그먼트별 다음 행동까지 붙이면 운영 자료가 된다. [GL-14]
Create an action table for CRM.
Columns: segment, customer_count, example_customers, recommended_next_action.
Do not invent campaign results or revenue impact.
아래 Skill은 “모호→실행계획”을 반복 가능한 작업 순서로 적어 둔 예시다. [GL-14]
---
name: rfm-clean-segment
description: 거래 데이터를 정리하고 고객별 RFM 점수와 세그먼트를 분류
---
You turn transaction-level data into a customer-level RFM segmentation table.
Always do this in order:
1. Check required columns: customer_id, order_id, order_date, amount.
2. Clean dates and numeric amounts.
3. Aggregate by customer.
4. Calculate recency_days from the provided reference date.
5. Score R, F, and M from 1 to 5.
6. Assign segments using the user's segment rules.
7. Return a final customer table and a CRM action table.
Rules:
- Ask for a reference date if missing.
- Do not invent missing transactions, campaign results, or revenue impact.
- Explain assumptions before the final table.
- Keep the output in Korean unless the user asks otherwise.
Always do this in order는 생각의 순서를 고정하는 부분이다. [GL-14] Rules는 기준일 누락과 없는 성과 만들기를 막는 부분이다. [GL-14]
$rfm-clean-segment
아래 거래 데이터를 기준일 2026-06-30으로 RFM 분류해줘.
[paste transaction table]
응용은 VIP 후보 추출, 휴면 고객 점검, 멤버십 등급 초안, 영업 우선순위 표로 넓힐 수 있다. [GL-14] 목적이 달라져도 기준일, 고객 단위 집계, 세그먼트 규칙은 먼저 고정해야 한다. [GL-14]
첫 함정은 기준일도 없이 Recency를 계산하는 것이다. [GL-14] Reference date를 넣고, 없으면 먼저 물어보라는 규칙을 Skill에 박아 두면 막을 수 있다. [GL-14]
둘째 함정은 거래 단위 표를 고객 단위로 합치지 않는 것이다. [GL-14] Aggregate by customer를 넣고 고객 한 명당 한 행인지 확인하면 된다. [GL-14]
셋째 함정은 있지도 않은 캠페인 성과나 매출 효과를 지어내는 것이다. [GL-14] Do not invent campaign results or revenue impact를 넣어 행동 제안과 성과 예측을 갈라 두면 해결된다. [GL-14]
오늘의 핵심은 “고객을 나눠줘”라는 모호한 요청을 Skill로 실행 계획화하는 것이다. [GL-14]
customer_id, order_id, order_date, amount를 확인했는가. [GL-14]본문의 [...] 표기는 아래 근거에서 확인할 수 있습니다.