f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.6 KiB
6.6 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-finished-goods | Finished Goods (제품 완성품) | 10_Wiki/Topics | verified | self |
|
none | A | 0.88 | applied |
|
2026-05-10 | pending |
|
Finished Goods
매 한 줄
"매 manufacturing 의 의 의 sale-ready inventory". Raw material → WIP → Finished Goods. 매 inventory turnover, 매 demand forecast, 매 safety stock 의 critical. 매 modern: 매 ML demand forecast + 매 real-time visibility.
매 핵심
매 inventory tier
- Raw material.
- WIP (Work in Progress).
- Finished Goods (FG).
- MRO (maintenance, repair, ops).
매 metric
- Inventory turnover = COGS / avg FG.
- Days of inventory = 365 / turnover.
- Stockout rate.
- Service level.
- Carrying cost (보관, capital, obsolete).
매 strategy
- MTS (Make-to-stock).
- MTO (Make-to-order).
- ATO (Assemble-to-order).
- ETO (Engineer-to-order).
- JIT (Just-in-time).
매 응용
- Demand forecast: 매 ML.
- Safety stock.
- Reorder point.
- EOQ (Economic Order Quantity).
- ABC analysis: 매 80/20 importance.
💻 패턴
Inventory turnover
def turnover(cogs_year, avg_inventory_value):
return cogs_year / avg_inventory_value
def days_of_inventory(turnover):
return 365 / turnover # 매 lower = leaner
EOQ (Wilson formula)
import math
def eoq(annual_demand, order_cost, holding_cost_per_unit):
return math.sqrt(2 * annual_demand * order_cost / holding_cost_per_unit)
Safety stock
from scipy.stats import norm
def safety_stock(service_level, std_demand_during_lead, lead_time_days):
z = norm.ppf(service_level)
return z * std_demand_during_lead * math.sqrt(lead_time_days)
def reorder_point(avg_demand_per_day, lead_time_days, safety_stk):
return avg_demand_per_day * lead_time_days + safety_stk
ABC analysis
import pandas as pd
def abc(df):
"""매 80/20 importance."""
df = df.sort_values('annual_value', ascending=False)
df['cum_pct'] = df.annual_value.cumsum() / df.annual_value.sum()
df['class'] = df.cum_pct.apply(lambda p: 'A' if p < 0.8 else 'B' if p < 0.95 else 'C')
return df
Demand forecast (ML)
import xgboost as xgb
def forecast_demand(history, exog):
"""매 history: time series. exog: promo, season, price."""
X = create_features(history, exog) # 매 lag, rolling, seasonality
y = history.shift(-7) # 매 1-week ahead
model = xgb.XGBRegressor().fit(X[:-7], y[:-7])
return model.predict(X[-7:])
Bill of Materials (BOM)
@dataclass
class BOM:
finished_good: str
components: dict[str, int] # 매 part: qty
def total_components(self, n_units):
return {part: qty * n_units for part, qty in self.components.items()}
MRP run (simplified)
def mrp_run(forecast_fg, on_hand, bom, lead_time):
"""매 매 component 의 의 의 plan."""
plan = {}
for fg, qty in forecast_fg.items():
net_need = max(0, qty - on_hand.get(fg, 0))
if net_need > 0:
for part, ratio in bom[fg].items():
plan[part] = plan.get(part, 0) + net_need * ratio
return {part: {'order_qty': q, 'order_by': today() - timedelta(days=lead_time[part])} for part, q in plan.items()}
Inventory carrying cost
def carrying_cost(unit_cost, holding_rate=0.25, qty=1, time_year=1):
"""매 holding rate = 매 storage + capital + obsolete."""
return unit_cost * holding_rate * qty * time_year
Stockout cost
def stockout_cost(unit_lost_margin, prob_stockout, expected_demand_during_stockout):
return unit_lost_margin * prob_stockout * expected_demand_during_stockout
JIT signal (kanban)
class KanbanCard:
"""매 trigger production / replenish."""
def __init__(self, part, qty, supplier):
self.part = part; self.qty = qty; self.supplier = supplier
def consume(self): self.send_signal_to(self.supplier)
ERP integration (SAP-like)
def sync_to_erp(fg_movement):
erp_api.post('/inventory/movement', json={
'material': fg_movement.sku,
'plant': fg_movement.plant,
'storage_loc': fg_movement.bin,
'qty': fg_movement.qty,
'movement_type': fg_movement.type,
})
Real-time visibility (RFID / IoT)
def rfid_event_handler(event):
update_inventory(event.sku, event.location, event.timestamp)
if get_quantity(event.sku) < reorder_point(event.sku):
trigger_replenishment(event.sku)
Forecast accuracy (MAPE, WAPE)
def mape(actual, forecast):
return abs((actual - forecast) / actual).mean() * 100
def wape(actual, forecast):
return abs(actual - forecast).sum() / actual.sum() * 100
LLM-aided demand sensing
def demand_sense(news_signals, social_trends, llm):
prompt = f"""You are a supply chain expert.
News: {news_signals}
Social: {social_trends}
Output JSON with demand impact predictions for these SKUs..."""
return json.loads(llm.generate(prompt))
매 결정 기준
| 상황 | Approach |
|---|---|
| Stable demand | EOQ + safety stock |
| Variable demand | ML forecast + dynamic |
| Seasonal | + seasonality features |
| Custom product | MTO / ETO |
| Mass | MTS + JIT |
| Critical SKU | A class — tight monitor |
기본값: 매 ML forecast + 매 ABC class + 매 dynamic safety stock + 매 ERP/MRP integration + 매 RFID visibility.
🔗 Graph
- 부모: Supply-Chain
- 응용: ERP · MRP
- Adjacent: Dynamic Pricing & Offers · E-commerce-Optimization
🤖 LLM 활용
언제: 매 manufacturing. 매 retail FG planning. 매 supply chain. 언제 X: 매 service-only.
❌ 안티패턴
- No safety stock: 매 stockout cascade.
- Fixed reorder regardless demand: 매 over/under.
- A/B/C uniform treatment: 매 efficiency lose.
- No forecast eval: 매 bias accumulate.
- JIT without supplier reliability: 매 risk.
🧪 검증 / 중복
- Verified (APICS, Sahin OR textbook, ERP standards).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-04-20 | Auto-reinforced |
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — inventory + 매 EOQ / safety / ABC / MRP / forecast code |