์์ฌ ๋ฐ์ฃผ ํ๋๋ โ ์์ ๋ ธํธ (๊ฒฐ์ ยท๊ทผ๊ฑฐ)
๋ชฉํ
์์ ํ ์์ง์์ ์ผ + ML ์์ธก ํ๋งค๋ + BOM์ ์ฐ๊ฒฐํด, "์ด๋ค BOM ์์ฌ๋ฅผ ์ธ์ ๊น์ง ์ ๊ณ ํ๊ณ ์ผ๋ง๋ ๋ฐ์ฃผํด์ผ ํ๋์ง"๋ฅผ ํ๋์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด.
ํ์ ๋ ๊ฒฐ์ (2026-06-12)
- ์์ง์์ ์ผ = ์์ธก ํ๋งค๋ ๋์ ๊ธฐ์ค (ํ์ฌ์ฌ๊ณ ๋ฅผ ์์ธก ์ผ๋ณ ํ๋งค๋ก ์ฐจ๊ฐํด 0 ๋๋ ๋ ).
- ๊ทผ๊ฑฐ: ๊ณ์ ์ฑ ๋ฐ์ + ์์ฌ ์๋ ๊ณ์ฐ๊ณผ ์ผ๊ด์ฑ. ์ volume์ ๊ณผ๊ฑฐ ๊ฐ์ค์๋ ํด๋ฐฑยท๋ณ๊ธฐ.
- ๋ถ์์ฌ ์
๊ณ ๋ฐ๋๋ผ์ธ = ์์ง์์ ์ผ โ ๋ฆฌ๋ํ์(45์ผ ๊ธฐ๋ณธ, ์ฌ๋ผ์ด๋ ์กฐ์ ).
- "๋ฐ์ฃผ์ผ"์ด ์๋๋ผ "์์ฌ๊ฐ ์ ๊ณ ๋ผ ์์ด์ผ ํ๋ ๋ง๊ฐ์ผ" ๊ฐ๋ .
- ๋์ = ์ ์ฒด BOM ์์ฌ (์์์ฌ+๋ถ์์ฌ ๋ชจ๋).
- ์์น = ์ ๊ท ํญ์ผ๋ก ๋จผ์ ์ถ๊ฐ(Phase1) โ ํ์ธ ํ BOMยท์์ง๊ธฐํ๊ณผ ํตํฉ(Phase2).
- ๊ทผ๊ฑฐ: ๊ธฐ์กด ์์ง๊ธฐํ ํญ(600์ค+) ์ง์ ๋ณํฉ์ ์ด์๊ธฐ๋ฅ ์์ ์ํ. ๋จ๊ณ ๋ถ๋ฆฌ๋ก ์ํ 0.
๋ฐ์ดํฐ ์์ค
- ์์ธก: demand_forecasts (product_name, forecast_date, predicted_qty) โ ์ฐ๋ฆฌ๊ฐ ์ ์ฌ.
- ํ์ฌ์ฌ๊ณ : raw_sojin โ load_google_sojin_data_v6 / calculate_sojin_metrics (ํ๋ช , ํ์ฌ์ฌ๊ณ ).
- BOM: bom_df (parent_name, child_name, child_code, unit_qty) โ get_base_data_cached.
- ๋งค์นญ: clean_product_name ํผ์ง์กฐ์ธ (๊ธฐ์กด ๋ก์ง ์ฌ์ฌ์ฉ).
๋ฆฌ์คํฌ
- ํ๋ช ๋งค์นญ๋ฅ (์์ธกโ์์งโBOM)์ด ๋ฎ์ผ๋ฉด ์ปค๋ฒ๋ฆฌ์ง ๋ถ์ค โ Phase0์์ ๋จผ์ ๊ฒ์ฆ.
- 45/90 ๋ธ๋ก ํ์ด๋ฐ ๋ก์ง์ ์ฌ์ฉ์๊ฐ ๋์๋ณด๋ ๋ณด๊ณ ์ต์ข ํ์ ์์ (ํ์ธ1).