Files
2nd/10_Wiki/Topics/AI_and_ML/Finished Goods.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
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>
2026-05-20 23:52:15 +09:00

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
finished goods
FG
finished inventory
supply chain
MRP
ERP
none A 0.88 applied
supply-chain
inventory
manufacturing
erp
mrp
finished-goods
2026-05-10 pending
language applicable_to
ERP / Supply Chain
Manufacturing
Logistics
Forecast

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).

매 응용

  1. Demand forecast: 매 ML.
  2. Safety stock.
  3. Reorder point.
  4. EOQ (Economic Order Quantity).
  5. 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

🤖 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