AgentSkillsCN

Analyze Supply Chain Risk

分析供应链风险

SKILL.md

Skill: Analyze Supply Chain Risk

Domain

supply_chain

Description

Evaluates supply chain vulnerabilities across suppliers, logistics, and inventory to identify risks and recommend mitigation strategies.

Tags

supply-chain, risk-management, procurement, logistics, resilience

Use Cases

  • Supplier risk assessment
  • Supply chain mapping
  • Disruption scenario planning
  • Inventory buffer optimization

Proprietary Business Rules

Rule 1: Single Source Dependency

Risk scoring for single-source and critical path dependencies.

Rule 2: Geographic Concentration

Risk assessment for regional concentration of supply base.

Rule 3: Financial Health Scoring

Supplier financial stability indicators and credit risk.

Rule 4: Lead Time Variability

Risk from inconsistent delivery performance.

Input Parameters

  • product_id (string): Product identifier
  • suppliers (list): Supplier details and metrics
  • inventory_levels (dict): Current inventory data
  • demand_forecast (dict): Expected demand
  • logistics_routes (list): Transportation routes
  • historical_disruptions (list): Past supply issues

Output

  • overall_risk_score (float): Composite risk score
  • risk_categories (dict): Risk by category
  • vulnerable_nodes (list): Critical vulnerabilities
  • mitigation_recommendations (list): Risk mitigation actions
  • scenario_impacts (dict): Disruption scenario analysis

Implementation

The risk analysis logic is implemented in risk_analyzer.py and references parameters from CSV files:

  • thresholds.csv - Reference data
  • country_risks.csv - Reference data
  • scenarios.csv - Reference data
  • category_weights.csv - Reference data
  • parameters.csv - Reference data.

Usage Example

python
from risk_analyzer import analyze_risk

result = analyze_risk(
    product_id="PROD-001",
    suppliers=[{"id": "SUP-A", "location": "CN", "spend_pct": 0.6, "lead_time_days": 45}],
    inventory_levels={"on_hand": 5000, "safety_stock": 2000},
    demand_forecast={"monthly": 3000},
    logistics_routes=[{"mode": "ocean", "origin": "CN", "transit_days": 28}],
    historical_disruptions=[{"date": "2025-03", "duration_days": 14, "cause": "port_congestion"}]
)

print(f"Risk Score: {result['overall_risk_score']}")

Test Execution

python
from risk_analyzer import analyze_risk

result = analyze_risk(
    product_id=input_data.get('product_id'),
    suppliers=input_data.get('suppliers', []),
    inventory_levels=input_data.get('inventory_levels', {}),
    demand_forecast=input_data.get('demand_forecast', {}),
    logistics_routes=input_data.get('logistics_routes', []),
    historical_disruptions=input_data.get('historical_disruptions', [])
)