# ๐Ÿ“ˆ ์ƒํ’ˆ ์ˆ˜์š”์˜ˆ์ธก โ€” Prophet ์‹œ๊ณ„์—ด ML (ํฌํŠธํด๋ฆฌ์˜ค ๋ฐ๋ชจ) > ์ƒํ’ˆ๋ณ„ ๊ณผ๊ฑฐ ํŒ๋งค ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ **๋ฏธ๋ž˜ ์ˆ˜์š”๋ฅผ ์˜ˆ์ธก**ํ•˜๋Š” ์‹œ๊ณ„์—ด ๋จธ์‹ ๋Ÿฌ๋‹ ์‹œ์Šคํ…œ. > ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ **์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๊ทธ๋ž˜ํ”„(HTML)**๋กœ ์ƒ์„ฑํ•ด ๋ฐœ์ฃผ/์ƒ์‚ฐ ์˜์‚ฌ๊ฒฐ์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ## ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•˜๋Š” ์ผ ์˜๋ฅ˜ ๋ธŒ๋žœ๋“œ์˜ ์ƒ์‚ฐ ๋ฆฌ๋“œํƒ€์ž„์€ ๋ณดํ†ต ํ•œ ๋‹ฌ ์ด์ƒ์ž…๋‹ˆ๋‹ค. "์ง€๊ธˆ ์ฃผ๋ฌธํ•ด์•ผ ๋‘ ๋‹ฌ ๋’ค์— ๋ฐ›๋Š”๋‹ค"๋Š” ๊ตฌ์กฐ์—์„œ, ๊ฐ์œผ๋กœ ๋ฐœ์ฃผํ•˜๋ฉด ์žฌ๊ณ  ๊ณผ์ž‰/๋ถ€์กฑ์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๊ณผ๊ฑฐ ํŒ๋งค ๋ฐ์ดํ„ฐ๋กœ ๋ฏธ๋ž˜ ์ˆ˜์š”๋ฅผ ์˜ˆ์ธกํ•ด ๋ฐœ์ฃผ ์‹œ์ ์˜ ์˜์‚ฌ๊ฒฐ์ • ๊ทผ๊ฑฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 1. **์›” ํŒ๋งค๋Ÿ‰ ์ง‘๊ณ„** โ€” ์ผ ๋‹จ์œ„ ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒํ’ˆ(์ฝ”๋“œ)๋ณ„ ์›” ํŒ๋งค๋Ÿ‰/ํ‰๊ท  ํŒ๋งค๊ฐ€๋กœ ์ง‘๊ณ„ 2. **์‹œ๊ณ„์—ด ๋ชจ๋ธ ํ•™์Šต** โ€” Prophet(๋กœ์ง€์Šคํ‹ฑ ์„ฑ์žฅ) + ํ•œ๊ตญ ๊ณตํœด์ผยทํŠน์ˆ˜ ์ด๋ฒคํŠธ(๋ธ”๋ž™ํ”„๋ผ์ด๋ฐ์ด/์„ค๋‚ ) ๋ฐ˜์˜ 3. **๋„๋ฉ”์ธ ๊ทœ์น™ ์ ์šฉ** โ€” ๋น„์ˆ˜๊ธฐ(4~8์›”)๋Š” ์ƒํ•œ์„ (cap)์„ ๋‚ฎ์ถฐ ๋ฐœ์ฃผ ์ œํ•œ ๊ทœ์น™์„ ๋ชจ๋ธ์— ๋ฐ˜์˜ 4. **์˜ˆ์ธก ํ›„์ฒ˜๋ฆฌ** โ€” ์ด์ƒ์น˜ ์Šค๋ฌด๋”ฉ, ์ƒ/ํ•˜ํ•œ ํด๋ฆฌํ•‘ 5. **์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์‹œ๊ฐํ™”** โ€” ์‹คํŒ๋งค๋Ÿ‰(๋นจ๊ฐ•) + ์˜ˆ์ธก ํ‰๊ท  + ์˜ˆ์ธก ๋ฒ”์œ„๋ฅผ HTML ๊ทธ๋ž˜ํ”„๋กœ ์ œ๊ณต ## ํ•ต์‹ฌ ๊ธฐ์ˆ  ํฌ์ธํŠธ | ๊ตฌ๋ถ„ | ๋‚ด์šฉ | |------|------| | ์‹œ๊ณ„์—ด ๋ชจ๋ธ | Prophet (logistic growth, ์—ฐ๊ฐ„ ๊ณ„์ ˆ์„ฑ ์•ฝํ•˜๊ฒŒ, ์ฃผ๊ฐ„/์ผ๊ฐ„ ๋น„ํ™œ์„ฑํ™”) | | ์™ธ๋ถ€ ๋ณ€์ˆ˜ | ํ•œ๊ตญ ๊ณตํœด์ผ + ๋ธ”๋ž™ํ”„๋ผ์ด๋ฐ์ด/ํฌ๋ฆฌ์Šค๋งˆ์Šค/์„ค๋‚  ํŠน์ˆ˜ ์ด๋ฒคํŠธ | | ๋„๋ฉ”์ธ ๊ทœ์น™ | ๋น„์ˆ˜๊ธฐ(4~8์›”) ๋ฐœ์ฃผ ์ œํ•œ โ†’ ์ƒํ•œ์„ (cap)์œผ๋กœ ๊ตฌํ˜„ | | ์ „์ฒ˜๋ฆฌ | ์ตœ๊ทผ 6๊ฐœ์›” ํ•„ํ„ฐ, ์›” ์ง‘๊ณ„, ๊ฒฐ์ธก์›” 0 ์ฒ˜๋ฆฌ, ํ‰๊ท  ํŒ๋งค๊ฐ€ ๋ณ‘ํ•ฉ | | ์‹œ๊ฐํ™” | Plotly ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ HTML (ํ˜ธ๋ฒ„ ์‹œ ํŒ๋งค๋Ÿ‰/ํ‰๊ท ๊ฐ€ ํ‘œ์‹œ) | ## ๋ฐ๋ชจ ์‹คํ–‰ ๋ฐฉ๋ฒ• ```bash pip install -r requirements.txt python demand_forecast.py ``` ์‹คํ–‰ํ•˜๋ฉด `output/` ํด๋”์— ์ƒํ’ˆ(PRD-101 ~ PRD-108)๋ณ„ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์˜ˆ์ธก ๊ทธ๋ž˜ํ”„์™€ `index.html`์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. > ๐Ÿ’ก ๊ทธ๋ž˜ํ”„์—์„œ **๋นจ๊ฐ„ ์„  = ์‹คํŒ๋งค๋Ÿ‰**, **ํŒŒ๋ž€ ์„  = ์˜ˆ์ธก ํ‰๊ท **, **์—ฐํ•œ ์˜์—ญ = ์˜ˆ์ธก ๋ฒ”์œ„**์ž…๋‹ˆ๋‹ค. > ๋น„์ˆ˜๊ธฐ(4~8์›”)์— ์˜ˆ์ธก์ด ๊ธ‰๊ฐํ•˜๋Š” ๋ชจ์Šต์—์„œ ๋„๋ฉ”์ธ ๊ทœ์น™(cap)์ด ๋ฐ˜์˜๋œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ``` ml-demand-forecast/ โ”œโ”€โ”€ demand_forecast.py # ์ „์ฒ˜๋ฆฌ โ†’ Prophet ํ•™์Šต โ†’ ์˜ˆ์ธก โ†’ ์‹œ๊ฐํ™” ํŒŒ์ดํ”„๋ผ์ธ โ”œโ”€โ”€ data/ โ”‚ โ””โ”€โ”€ demo_sales.xlsx # ํ•ฉ์„ฑ ์˜ˆ์‹œ ํŒ๋งค ๋ฐ์ดํ„ฐ (์‹ค๋ฐ์ดํ„ฐ ๋น„์‹๋ณ„ํ™”) โ”œโ”€โ”€ output/ # ์ƒ์„ฑ๋œ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๊ทธ๋ž˜ํ”„ (HTML) โ””โ”€โ”€ requirements.txt ``` ## ์‹ค๋ฌด ์ ์šฉ ์Šคํ† ๋ฆฌ - **๋ฌธ์ œ**: ์ค‘๊ตญ ์ƒ์‚ฐ ๋ฆฌ๋“œํƒ€์ž„(์•ฝ 1๊ฐœ์›”) ํ™˜๊ฒฝ์—์„œ ๊ฐ์— ์˜์กดํ•œ ๋ฐœ์ฃผ โ†’ ์žฌ๊ณ  ๊ณผ์ž‰/๋ถ€์กฑ ๋ฐ˜๋ณต - **ํ•ด๊ฒฐ**: SKU๋ณ„ ์ˆ˜์š”์˜ˆ์ธก์„ ์ œ๊ณตํ•ด ๋ฐœ์ฃผยท์ถœํ•˜ ์˜์‚ฌ๊ฒฐ์ •์˜ ์ฐธ๊ณ  ์ง€ํ‘œ๋กœ ํ™œ์šฉ - **์„ค๊ณ„ ์˜๋„**: ์˜ˆ์ธก์„ "๊ฐ•์ œ"๊ฐ€ ์•„๋‹Œ "์ฐธ๊ณ  ๋„๊ตฌ"๋กœ ์ œ๊ณต โ€” ํ˜„์žฅ์˜ ํŒ๋‹จ๊ถŒ์„ ์นจํ•ดํ•˜์ง€ ์•Š์•„ ๋„์ž… ์ €ํ•ญ์„ ์ค„์ด๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™ --- *๋ณธ ๋ฐ๋ชจ๋Š” ์‹ค์ œ ํŒ๋งค ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ํ•ฉ์„ฑ ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ๋กœ ๊ต์ฒดํ•œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.*