๊ด€๋ฆฌ ๋ฉ”๋‰ด

Alroha

[Olist ์ด์ปค๋จธ์Šค ๋ถ„์„ #4] Tableau๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Olist ์ด์ปค๋จธ์Šค ๋ถ„์„ #4] Tableau๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”ํ•˜๊ธฐ

ํ—ค์ด๋กœํ•˜ 2026. 6. 25. 18:12

 

๐ŸŽฏ ์ด๋ฒˆ ํฌ์ŠคํŒ… ๋ชฉํ‘œ

SQL๋กœ ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋งˆํŠธ 3๊ฐœ๋ฅผ Tableau Public์— ์—ฐ๊ฒฐํ•˜๊ณ , ๋ง‰๋Œ€ ์ฐจํŠธ · ํžˆ์Šคํ† ๊ทธ๋žจ · ๋ฆฌ๋ทฐ ๋ถ„์„ ์ฐจํŠธ 3๊ฐ€์ง€๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ดค์Šต๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๋„๊ตฌ: Tableau Public (๋ฌด๋ฃŒ) ๐Ÿ“ ๋ฐ์ดํ„ฐ: mart_rfm.csv / mart_delivery.csv / mart_review.csv


๐Ÿ“ค STEP 0. MySQL → CSV ์ถ”์ถœ

Tableau Public์€ MySQL ์ง์ ‘ ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€ํ•˜๋ฏ€๋กœ Workbench์—์„œ CSV๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

SELECT * FROM mart_rfm;      -- mart_rfm.csv
SELECT * FROM mart_delivery; -- mart_delivery.csv
SELECT * FROM mart_review;   -- mart_review.csv

Export ๋ฐฉ๋ฒ•: Result Grid ์šฐ์ธก ์ƒ๋‹จ ๐Ÿ“Š ์•„์ด์ฝ˜ → Export as CSV


๐Ÿ”— STEP 1. Tableau ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ

์ฃผ์˜: 3๊ฐœ ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ์†Œ์Šค์— JOINํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ๋ณ„๋„ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ: Connect → Text file → mart_rfm.csv
๋‘ ๋ฒˆ์งธ: ๋ฐ์ดํ„ฐ ๋ฉ”๋‰ด → ์ƒˆ ๋ฐ์ดํ„ฐ ์›๋ณธ → mart_delivery.csv
์„ธ ๋ฒˆ์งธ: ๋ฐ์ดํ„ฐ ๋ฉ”๋‰ด → ์ƒˆ ๋ฐ์ดํ„ฐ ์›๋ณธ → mart_review.csv

์—ฐ๊ฒฐ ํ›„ ์›Œํฌ์‹œํŠธ ์ขŒ์ธก ์ƒ๋‹จ์—์„œ 3๊ฐœ ์†Œ์Šค๋ฅผ ์ „ํ™˜ํ•˜๋ฉฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


๐Ÿง  STEP 2. ํ•ต์‹ฌ ๊ฐœ๋… — ์ฐจ์› vs ์ธก์ •๊ฐ’

Tableau์—์„œ ๋ฐ˜๋“œ์‹œ ์ดํ•ดํ•ด์•ผ ํ•  ๊ฐœ๋… 2๊ฐ€์ง€:

๊ตฌ๋ถ„ ์˜๋ฏธ ์ƒ‰์ƒ ์˜ˆ์‹œ

์ฐจ์› (Dimension) ๋ถ„๋ฅ˜·๊ทธ๋ฃน ๊ธฐ์ค€ ๐Ÿ”ต ํŒŒ๋ž€์ƒ‰ Customer State, Review Sentiment
์ธก์ •๊ฐ’ (Measure) ์ง‘๊ณ„ํ•  ์ˆซ์ž ๐ŸŸข ์ดˆ๋ก์ƒ‰ Delay Days, Review Score, Monetary

๐Ÿ’ก ์ฐจ์›์€ ์—ด/ํ–‰์—, ์ธก์ •๊ฐ’์€ **๋งˆํฌ(์ƒ‰์ƒ·ํฌ๊ธฐ·๋ ˆ์ด๋ธ”)**์— ์˜ฌ๋ฆฐ๋‹ค


๐Ÿ“Š ์‹œ๊ฐํ™” 1. ๊ณ ๊ฐ ์ฃผ(State)๋ณ„ ์ฃผ๋ฌธ ๊ฑด์ˆ˜ — ๋ง‰๋Œ€ ์ฐจํŠธ

์‚ฌ์šฉ ๋ฐ์ดํ„ฐ: mart_delivery

1. Customer State → ์—ด
2. Order Id (COUNT) → ํ–‰
3. Is Delayed → ์ƒ‰์ƒ
4. Show Me → ์ˆ˜ํ‰ ๋ง‰๋Œ€
5. ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

์ธ์‚ฌ์ดํŠธ: SP(์ƒํŒŒ์šธ๋ฃจ)๊ฐ€ ์••๋„์  1์œ„ — ๋ธŒ๋ผ์งˆ ์ „์ฒด ์ฃผ๋ฌธ์˜ ์•ฝ 40% ์ง‘์ค‘


๐Ÿ“Š ์‹œ๊ฐํ™” 2. ๋ฐฐ์†ก ์†Œ์š”์ผ ๋ถ„ํฌ — ํžˆ์Šคํ† ๊ทธ๋žจ

์‚ฌ์šฉ ๋ฐ์ดํ„ฐ: mart_delivery

Bin(๊ตฌ๊ฐ„) ๋งŒ๋“ค๊ธฐ:

๋ฐ์ดํ„ฐ ํŒจ๋„ → Actual Delivery Days ์šฐํด๋ฆญ
→ ๋งŒ๋“ค๊ธฐ → ๊ตฌ๊ฐ„์ฐจ์›
→ Bin Size: 3 ์ž…๋ ฅ

๐Ÿ’ก ํ•œ๊ตญ์–ด Tableau๋Š” "๋ฒ„ํ‚ท" ๋Œ€์‹  "๊ตฌ๊ฐ„์ฐจ์›" ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค

1. Actual Delivery Days (๊ตฌ๊ฐ„์ฐจ์›) → ์—ด
2. Order Id (COUNT) → ํ–‰
3. Show Me → ํžˆ์Šคํ† ๊ทธ๋žจ

์ธ์‚ฌ์ดํŠธ: 10~20์ผ ๊ตฌ๊ฐ„์— ์ฃผ๋ฌธ์ด ์ง‘์ค‘ — ๋ธŒ๋ผ์งˆ ํ‰๊ท  ๋ฐฐ์†ก ํ˜„์‹ค


๐Ÿ“Š ์‹œ๊ฐํ™” 3. ๋ฆฌ๋ทฐ ์ ์ˆ˜๋ณ„ ํ‰๊ท  ์ง€์—ฐ ์ผ์ˆ˜ — ๋ง‰๋Œ€ ์ฐจํŠธ

์‚ฌ์šฉ ๋ฐ์ดํ„ฐ: mart_review

1. Review Score → ์—ด
2. Review Score ์šฐํด๋ฆญ → ๋ถˆ์—ฐ์†ํ˜•์œผ๋กœ ๋ณ€ํ™˜
3. Delay Days (ํ‰๊ท ) → ํ–‰
4. ๋งˆํฌ ํŒจ๋„ → ๋ง‰๋Œ€๋กœ ๋ณ€๊ฒฝ

๊ฒฐ๊ณผ ์ฐจํŠธ:

Review Score ํ‰๊ท  Delay Days

1์  -5์ผ
2์  -10์ผ
3์  -10์ผ
4์  -12์ผ
5์  -14์ผ

์ธ์‚ฌ์ดํŠธ ํ•ด์„:

Y์ถ•์ด ์Œ์ˆ˜ = ์˜ˆ์ •์ผ๋ณด๋‹ค ์ผ์ฐ ๋„์ฐฉํ–ˆ๋‹ค๋Š” ์˜๋ฏธ 5์  ๋ฆฌ๋ทฐ๋Š” ํ‰๊ท  14์ผ ์ผ์ฐ ๋„์ฐฉ → ๋น ๋ฅธ ๋ฐฐ์†ก = ๋†’์€ ๋งŒ์กฑ๋„ ๋ฐ์ดํ„ฐ๋กœ ์ฆ๋ช…

์ถ”๊ฐ€ ์ธ์‚ฌ์ดํŠธ: 1์  ๋ฆฌ๋ทฐ๋„ ํ‰๊ท  5์ผ ์ผ์ฐ ๋„์ฐฉํ–ˆ์Œ์—๋„ ๋‚ฎ์€ ์ ์ˆ˜ → ๋ฐฐ์†ก ์™ธ ์š”์ธ(์ƒํ’ˆ ๋ถˆ๋Ÿ‰, ์„ค๋ช…๊ณผ ๋‹ค๋ฆ„ ๋“ฑ)์ด ๋ถˆ๋งŒ์กฑ ์›์ธ์ผ ๊ฐ€๋Šฅ์„ฑ ↑


๐Ÿšจ ์‹œํ–‰์ฐฉ์˜ค & ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

โŒ ์‹ค์ˆ˜ 1. 3๊ฐœ CSV๋ฅผ ํ•˜๋‚˜์˜ ์†Œ์Šค์— JOIN

์ƒํ™ฉ: mart_rfm์— mart_delivery, mart_review๋ฅผ ๊ด€๊ณ„(Relationship)๋กœ ์—ฐ๊ฒฐ ์‹œ๋„ ๋ฌธ์ œ: ๊ณตํ†ต ํ‚ค๊ฐ€ ์—†์–ด ์ด ๊ด€๊ณ„๋ฅผ ๋งŒ๋“ค ์ผ์น˜ํ•˜๋Š” ํ•„๋“œ๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค ๊ฒฝ๊ณ  ๋ฐœ์ƒ ํ•ด๊ฒฐ: ๊ด€๊ณ„ ์ œ๊ฑฐ ํ›„ ๊ฐ ํŒŒ์ผ์„ ์ƒˆ ๋ฐ์ดํ„ฐ ์›๋ณธ์œผ๋กœ ๋ณ„๋„ ์—ฐ๊ฒฐ

๊ตํ›ˆ: ๋งˆํŠธ 3๊ฐœ๋Š” ๋ถ„์„ ๋‹จ์œ„๊ฐ€ ๋‹ฌ๋ผ JOIN ๋ถˆ๊ฐ€. ์›Œํฌ์‹œํŠธ๋งˆ๋‹ค ์†Œ์Šค๋ฅผ ์ „ํ™˜ํ•ด์„œ ์‚ฌ์šฉ


โŒ ์‹ค์ˆ˜ 2. Bin Size ๋ฉ”๋‰ด๋ฅผ ์ฐพ์ง€ ๋ชปํ•จ

์ƒํ™ฉ: ์—ด ์„ ๋ฐ˜์˜ ํ•„๋“œ ์šฐํด๋ฆญ → ๋ฉ”๋‰ด์—์„œ Bin Size ์—†์Œ ํ•ด๊ฒฐ: ์—ด ์„ ๋ฐ˜์ด ์•„๋‹Œ ์ขŒ์ธก ๋ฐ์ดํ„ฐ ํŒจ๋„์—์„œ ์šฐํด๋ฆญ → ๋งŒ๋“ค๊ธฐ → ๊ตฌ๊ฐ„์ฐจ์›

๊ตํ›ˆ: Tableau ์„ค์ •์€ **์„ ๋ฐ˜(์œ„)**์ด ์•„๋‹Œ **๋ฐ์ดํ„ฐ ํŒจ๋„(์™ผ์ชฝ)**์—์„œ ํ•˜๋Š” ๊ฒƒ์ด ๋งŽ๋‹ค


โš ๏ธ ์ฃผ์˜. ๊บพ์€์„  vs ๋ง‰๋Œ€ ์ฐจํŠธ ์„ ํƒ

์ƒํ™ฉ: Review Score vs Delay Days๋ฅผ ๊บพ์€์„ ์œผ๋กœ ํ‘œํ˜„ ๋ฌธ์ œ: Review Score๊ฐ€ ์—ฐ์†ํ˜•์œผ๋กœ ์ธ์‹๋˜์–ด 0์  ๊ตฌ๊ฐ„๊นŒ์ง€ ํ‘œ์‹œ๋จ ํ•ด๊ฒฐ:

  1. Review Score ์šฐํด๋ฆญ → ๋ถˆ์—ฐ์†ํ˜•์œผ๋กœ ๋ณ€ํ™˜
  2. ๋งˆํฌ ํŒจ๋„ → ๋ง‰๋Œ€๋กœ ๋ณ€๊ฒฝ

๊ตํ›ˆ: ์ ์ˆ˜·๋“ฑ๊ธ‰์ฒ˜๋Ÿผ ์นดํ…Œ๊ณ ๋ฆฌ ์„ฑ๊ฒฉ์˜ ์ˆซ์ž๋Š” ๋ถˆ์—ฐ์†ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅธ ์ฐจํŠธ๊ฐ€ ๋‚˜์˜จ๋‹ค


๐Ÿ’ก ํšŒ๊ณ 

์ž˜ํ•œ ์ 

  • 3๊ฐœ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ JOIN ์—†์ด ๊ฐ๊ฐ ์—ฐ๊ฒฐํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์„ ์ตํž˜
  • ์Œ์ˆ˜ Delay Days์˜ ์˜๋ฏธ๋ฅผ ์ •ํ™•ํžˆ ํ•ด์„ (์ผ์ฐ ๋„์ฐฉ = ์Œ์ˆ˜)
  • ์ฐจํŠธ์—์„œ ์ฆ‰์‹œ ๋น„์ฆˆ๋‹ˆ์Šค ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœํ•œ ๊ฒƒ

์•„์‰ฌ์šด ์ 

  • ์ฐจ์›/์ธก์ •๊ฐ’ ๊ฐœ๋…์ด ์ฒ˜์Œ์—” ํ—ท๊ฐˆ๋ ค ์ž˜๋ชป๋œ ํ•„๋“œ ๋ฐฐ์น˜๋กœ ์ฐจํŠธ๊ฐ€ ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋‚˜์˜จ ๊ฒƒ
  • ํ•œ๊ตญ์–ด UI๋ผ ๋ฒ„ํ‚ท ๋Œ€์‹  ๊ตฌ๊ฐ„์ฐจ์›์„ ์ฐพ๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ ๊ฒƒ

๋ฐฐ์šด ๊ฒƒ

"์ˆซ์ž๋ณด๋‹ค ์ฐจํŠธ๊ฐ€ ๋จผ์ € ์„ค๋“ํ•œ๋‹ค." ๋ฐฐ์†ก์ด ๋น ๋ฅผ์ˆ˜๋ก ๋ฆฌ๋ทฐ๊ฐ€ ๋†’๋‹ค๋Š” ์‚ฌ์‹ค์€ SQL์—์„œ๋„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, Tableau ์ฐจํŠธ ํ•˜๋‚˜๋กœ ๋ˆ„๊ตฌ๋“  5์ดˆ ์•ˆ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.


๐Ÿ”œ ๋‹ค์Œ ํฌ์ŠคํŒ…

[Olist ์ด์ปค๋จธ์Šค ๋ถ„์„ #5] Tableau LOD ๊ณ„์‚ฐ์‹์œผ๋กœ RFM ์„ธ๊ทธ๋จผํŠธ ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ


๋ณธ ์‹œ๋ฆฌ์ฆˆ๋Š” Kaggle์˜ Olist Brazilian E-Commerce ๋ฐ์ดํ„ฐ์…‹์„ ํ™œ์šฉํ•œ ํฌํŠธํด๋ฆฌ์˜ค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.