| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- ๊ฐ๋ฐ์๊ต์ก
- ์ด์ปค๋จธ์ค๋ฐ์ดํฐ๋ถ์
- ํฌํธํด๋ฆฌ์ค
- ํ๊ตญ์์ฐ์ฑ๋ณธ๋ถ
- ํ๊ต์ํ
- ํ๋๋์๋ง์ง
- ์นด์นด์ค์ํฐํ๋ผ์ด์ฆ
- ๋ฐ์ดํฐ๋ถ์ํฌํธํด๋ฆฌ์ค
- ํ๊ตํ์ฝ์ต์คํ๋ ์ค
- ํ๋ฃจ๊ธฐ๋ก
- ํ๋ธ๋ก
- ํด๋ผ์ฐ๋์์ง๋์ด
- sql
- ๋ฐ์ดํฐ๋ถ์
- Kaggle
- tableau
- ํด๋ผ์ฐ๋๊ฐ๋ฐ์
- AIaaS๋ง์คํฐํด๋์ค2๊ธฐ
- ๋ถํธ์บ ํ
- ์นด์นด์คํด๋ผ์ฐ๋
- AIaaS
- ํ์ด์ฌ๋ฌธ๋ฒ
- wecookieyou
- ์ค๋์ดํผํฉํ ๋ฆฌ
- ์ค๋์๋กํ
- ํ๋๋์์๋์น
- ์์ข ๋์นดํ
- ๊พธ์์ง๋ํํ์ฐ
- olist
- ์ธํด์ํ
- Today
- Total
Alroha
[Olist ์ด์ปค๋จธ์ค ๋ถ์ #5] Tableau๋ก RFM ์ธ๊ทธ๋จผํธ ์๊ฐํํ๊ธฐ ๋ณธ๋ฌธ
[Olist ์ด์ปค๋จธ์ค ๋ถ์ #5] Tableau๋ก RFM ์ธ๊ทธ๋จผํธ ์๊ฐํํ๊ธฐ
ํค์ด๋กํ 2026. 7. 9. 15:41๐ฏ ์ด๋ฒ ํฌ์คํ ๋ชฉํ
SQL๋ก ๋ง๋ RFM ๋งํธ๋ฅผ Tableau์ ์ฐ๊ฒฐํ๊ณ , ๊ณ์ฐ๋ ํ๋๋ก R/F/M ์ ์๋ฅผ ์ง์ ๋ง๋ค์ด ๊ณ ๊ฐ์ 5๊ฐ ์ธ๊ทธ๋จผํธ๋ก ๋ถ๋ฅํ์ต๋๋ค.
๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ: Tableau Public (๋ฌด๋ฃ) ๐ ๋ฐ์ดํฐ: mart_rfm.csv
๐ง RFM ์ธ๊ทธ๋จผํธ๋?
93,357๋ช ์ ๊ณ ๊ฐ์ ๊ฐ๋ณ๋ก ๋ณผ ์๋ ์์ต๋๋ค. RFM ์ ์๋ก ๊ทธ๋ฃนํํด์ผ "์ด๋ค ๊ณ ๊ฐ์๊ฒ ๋ฌด์จ ๋ง์ผํ ์ ํด์ผ ํ๋๊ฐ" ์ ๋ตํ ์ ์์ต๋๋ค.
์ธ๊ทธ๋จผํธ ํน์ง ๋ง์ผํ ์ ๋ต
| VIP | ์ต๊ทผ·์์ฃผ·๋ง์ด ๊ตฌ๋งค | ํ๋ฆฌ๋ฏธ์ ํํ, ์ถฉ์ฑ๋ ํ๋ก๊ทธ๋จ |
| ์ถฉ์ฑ๊ณ ๊ฐ | ์์ฃผ ๊ตฌ๋งคํ์ง๋ง ์ต๊ทผ์ฑ ๋ณดํต | ์ฌ๊ตฌ๋งค ์ฟ ํฐ, ์ ์ํ ์๋ฆผ |
| ์ดํ์ํ | ๊ณผ๊ฑฐ์ ์์ฃผ ์์ง๋ง ์ต๊ทผ ์์ | ์๋ฐฑ ์บ ํ์ธ, ํ ์ธ ์คํผ |
| ์ ๊ท๊ณ ๊ฐ | ์ต๊ทผ ์ฒซ ๊ตฌ๋งค | ์จ๋ณด๋ฉ, 2์ฐจ ๊ตฌ๋งค ์ ๋ |
| ์ผ๋ฐ๊ณ ๊ฐ | ๋๋จธ์ง | ์ผ๋ฐ ํ๋ก๋ชจ์ |
โ๏ธ STEP 1. ๊ณ์ฐ๋ ํ๋ ๋ง๋ค๊ธฐ
๊ฒฝ๋ก: ๋ฐ์ดํฐ ํจ๋ ๋น ๊ณณ ์ฐํด๋ฆญ → ๊ณ์ฐ๋ ํ๋ ๋ง๋ค๊ธฐ
๐ก ์๋จ ๋ฉ๋ด "๋ถ์" ํญ๊ณผ ํท๊ฐ๋ฆฌ์ง ๋ง์ธ์ — ๊ทธ๊ฑด ์ถ์ธ์ ·์ฐธ์กฐ์ ์ถ๊ฐํ๋ ํจ๋์ ๋๋ค.
R_Score (์ต์ ์ฑ)
IF [Recency] <= 100 THEN 3
ELSEIF [Recency] <= 300 THEN 2
ELSE 1
END
Recency๋ ๋ฎ์์๋ก ์ต๊ทผ ๊ตฌ๋งค → ๋ฎ์ ๊ฐ์ ๋์ ์ ์(3์ )
F_Score (๋น๋)
- R_Score ์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑํฉ๋๋ค.
IF [Frequency] >= 3 THEN 3
ELSEIF [Frequency] = 2 THEN 2
ELSE 1
END
M_Score (๊ธ์ก)
IF [Monetary] >= 500 THEN 3
ELSEIF [Monetary] >= 200 THEN 2
ELSE 1
END
RFM_Segment (์ต์ข ๋ถ๋ฅ)
IF [R_Score] = 3 AND [F_Score] >= 2 AND [M_Score] >= 2 THEN 'VIP'
ELSEIF [R_Score] >= 2 AND [F_Score] >= 2 THEN '์ถฉ์ฑ๊ณ ๊ฐ'
ELSEIF [R_Score] = 1 AND [F_Score] >= 2 THEN '์ดํ์ํ'
ELSEIF [R_Score] = 3 AND [F_Score] = 1 THEN '์ ๊ท๊ณ ๊ฐ'
ELSE '์ผ๋ฐ๊ณ ๊ฐ'
END

๐ ์๊ฐํ 1. ์ธ๊ทธ๋จผํธ๋ณ ๊ณ ๊ฐ ์ — ๋ง๋ ์ฐจํธ
1. RFM_Segment → ์ด ์ ๋ฐ
2. ์นด์ดํธ(Customer Unique Id) → ํ ์ ๋ฐ
3. RFM_Segment → ์์
4. ์นด์ดํธ → ๋ ์ด๋ธ
5. ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
์ธ์ฌ์ดํธ: ์ผ๋ฐ๊ณ ๊ฐ์ด ์๋์ ๋ค์ — VIP๋ ์์์ง๋ง ๋งค์ถ ๊ธฐ์ฌ๋๊ฐ ํต์ฌ

๐ ์๊ฐํ 2. ์ธ๊ทธ๋จผํธ๋ณ ํ๊ท Monetary — ๋ง๋ ์ฐจํธ
1. RFM_Segment → ์ด ์ ๋ฐ
2. Monetary (ํ๊ท ) → ํ ์ ๋ฐ
3. RFM_Segment → ์์
4. ํ๊ท Monetary → ๋ ์ด๋ธ
์ธ์ฌ์ดํธ ํฌ์ธํธ: VIP ๊ณ ๊ฐ์ ํ๊ท ๊ตฌ๋งค์ก์ด ์ผ๋ฐ๊ณ ๊ฐ ๋๋น ๋ช ๋ฐฐ์ธ์ง ํ์ธ (1.7๋ฐฐ)

๐ ์๊ฐํ 3. ์ธ๊ทธ๋จผํธ ๋น์ค — ํธ๋ฆฌ๋งต
1. Show Me → ํธ๋ฆฌ๋งต ์ ํ
2. RFM_Segment → ์์
3. ์นด์ดํธ(Customer Unique Id) → ํฌ๊ธฐ
4. RFM_Segment + ์นด์ดํธ → ๋ ์ด๋ธ
ํธ๋ฆฌ๋งต์ ๋น์ค์ ๋ฉด์ ์ผ๋ก ํํํด ๋์๋ณด๋์์ ๊ฐ์ฅ ์ํฉํธ ์๋ ์ฐจํธ์ ๋๋ค.

๐จ ์ํ์ฐฉ์ค & ํธ๋ฌ๋ธ์ํ
โ ์ค์ 1. ๊ณ์ฐ๋ ํ๋ ๋ฉ๋ด๋ฅผ ๋ชป ์ฐพ์
์ํฉ: ์๋จ "๋ถ์" ํญ์์ ๊ณ์ฐ๋ ํ๋๋ฅผ ์ฐพ์ผ๋ ค ํจ ๋ฌธ์ : ์๋จ ๋ถ์ ํญ์ ์ถ์ธ์ ·์ฐธ์กฐ์ ์ถ๊ฐ ํจ๋ — ๊ณ์ฐ๋ ํ๋ ์์ ํด๊ฒฐ: ๋ฐ์ดํฐ ํจ๋ ๋น ๊ณณ ์ฐํด๋ฆญ → ๊ณ์ฐ๋ ํ๋ ๋ง๋ค๊ธฐ
โ ์ค์ 2. ๋ง๋ ์ฐจํธ๊ฐ ํฌ๋ก์คํญ์ผ๋ก ๋์ด
์ํฉ: ์ด์ RFM_Segment, ํ์ Customer Unique Id๋ฅผ ์ฌ๋ ธ๋๋ ๊ณ ๊ฐ ID๊ฐ ํ๋ง๋ค ํผ์ณ์ง ํฌ๋ก์คํญ ํํ๋ก ์ถ๋ ฅ๋จ
์์ธ: Customer Unique Id๊ฐ ์ฐจ์(๊ฐ๋ณ ์๋ณ์)์ผ๋ก ์ธ์๋์ด ์ง๊ณ ์ ๋จ
ํด๊ฒฐ:
ํ ์ ๋ฐ์ Customer Unique Id ์ ๊ฑฐ
→ ์นด์ดํธ(mart_rfm) ์ธก์ ๊ฐ์ ํ ์ ๋ฐ์ ์ฌ๋ฆฌ๊ธฐ
๊ตํ: ์ง๊ณ(COUNT) ๋ฅผ ํ์ ์ฌ๋ ค์ผ ์ธ๊ทธ๋จผํธ๋ณ ํฉ์ฐ์ด ๋ฉ๋๋ค
๐ก RFM ์ ์ ๊ธฐ์ค ์ค์ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ ์ค๋ช
| ๋ถ์์ ๊ธฐ์ค | ์์ 33% → 3์ , ์ค๊ฐ → 2์ , ํ์ → 1์ |
| ๋น์ฆ๋์ค ๊ธฐ์ค | "30์ผ ๋ด ๊ตฌ๋งค = ํ์ฑ๊ณ ๊ฐ" |
| ์๋ ์ค์ | ๋ฐ์ดํฐ ๋ถํฌ ํ์ธ ํ ์ง์ ๊ตฌ๊ฐ ์ง์ (์ค๋ ๋ฐฉ์) |
๐ก ํ๊ณ
์ํ ์
- ๊ณ์ฐ๋ ํ๋ 4๊ฐ๋ฅผ ์์๋๋ก ์์ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ง๋๋ ๋ก์ง ์ดํด
- ํธ๋ฆฌ๋งต์ผ๋ก ์ธ๊ทธ๋จผํธ ๋น์ค์ ๋ฉด์ ์ผ๋ก ์ง๊ด์ ์ผ๋ก ํํ
- ๊ฐ ์ธ๊ทธ๋จผํธ์ ๋น์ฆ๋์ค ์๋ฏธ(๋ง์ผํ ์ ๋ต)๋ฅผ ์ฐ๊ฒฐํด์ ํด์
์์ฌ์ด ์
- ๊ณ์ฐ๋ ํ๋ ๊ฒฝ๋ก๋ฅผ ์ฒ์์ ๋ชป ์ฐพ์ ์๊ฐ ์์
- ํฌ๋ก์คํญ vs ์ง๊ณ ์ฐจํธ์ ์ฐจ์ด๋ฅผ ์ฒ์์ ํท๊ฐ๋ฆฐ ๊ฒ → ์ฐจ์ vs ์ธก์ ๊ฐ ๊ฐ๋ ์ ํญ์ ๋จผ์ ํ์ธํ๋ ์ต๊ด ํ์
[๊ณผ์ ] 6๊ฐ ์ค์ต ๊ณผ์
- ์ธ๊ทธ๋จผํธ๋ณ ๊ณ ๊ฐ ์๋ฅผ ๋ง๋ ์ฐจํธ๋ก ๋ง๋ค๊ณ → ๊ฐ์ฅ ๋ง์ ์ธ๊ทธ๋จผํธ๋? ์ผ๋ฐ ๊ณ ๊ฐ
- VIP ๊ณ ๊ฐ์ ํ๊ท Monetary๋ ์ผ๋ฐ๊ณ ๊ฐ ๋๋น ๋ช ๋ฐฐ์ธ๊ฐ? 1.7๋ฐฐ
- ํธ๋ฆฌ๋งต์์ ์ดํ์ํ ๊ณ ๊ฐ์ด ์ ์ฒด์ ๋ช %๋ฅผ ์ฐจ์งํ๋๊ฐ? 0.2%
๐ ๋ค์ ํฌ์คํ
[Olist ์ด์ปค๋จธ์ค ๋ถ์ #6] Tableau ๋์๋ณด๋ ์์ฑ — KPI + RFM + ๋ฐฐ์ก ํ ํ๋ฉด์ ๋ด๊ธฐ
๋ณธ ์๋ฆฌ์ฆ๋ Kaggle์ Olist Brazilian E-Commerce ๋ฐ์ดํฐ์ ์ ํ์ฉํ ํฌํธํด๋ฆฌ์ค ํ๋ก์ ํธ์ ๋๋ค.
