v2.0

GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!

Watch the launch videoWatch

Supply Chain Risk Evaluator

Assessment system that analyzes supplier data, geopolitical factors, and market conditions to prioritize supply chain vulnerabilities.

Solution

This advanced risk assessment tool helps procurement teams make informed decisions by evaluating multiple supply chain risk factors. The system analyzes supplier location risk levels, historical performance metrics, and availability of alternative sourcing options to establish a baseline risk profile. It then applies real-time adjustments based on current geopolitical tensions and market volatility to calculate a more accurate risk score.

For critical components, the system provides specific mitigation recommendations tailored to each risk level, from standard monitoring procedures for low-risk scenarios to immediate action plans for critical situations. The evaluation includes lead time impact assessment and priority classification, enabling teams to focus resources on the most vulnerable parts of their supply chain. This systematic approach helps organizations reduce disruption risks, maintain business continuity, and make strategic sourcing decisions.

How it works

The decision graph evaluates supply chain risks through four sequential stages:

  1. Input Collection: Gathers comprehensive supplier data including location, performance scores, alternative source availability, and product details along with market conditions and geopolitical factors.

  2. Baseline Risk Calculation: A decision table evaluates supplier location risk level, historical performance metrics, and alternative sourcing options to determine an initial risk score, category, and recommended mitigation actions.

  3. Risk Factor Adjustment: The system applies multipliers based on current geopolitical tensions (1.3x if present) and market volatility levels (1.0-1.2x depending on severity) to adjust the baseline risk score.

  4. Final Assessment: The adjusted risk score determines the final risk category (low, medium, high, or critical), expected lead time impact, and organizational priority level for action.

Where teams use it

  • Procurement and sourcing strategy development
  • Supply chain resilience planning
  • Vendor management and evaluation
  • Business continuity risk assessment
  • Strategic component sourcing decisions
  • Inventory management optimization
  • Supplier relationship management

Inside the decision model

Supply Chain Risk Evaluator ships as a JDM decision graph with 4 nodes, 2 decision tables and 11 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.

Decision graph4 nodes · read-only
input requesttable supplierRiskEvaluationexpression geopoliticalRiskCalculationtable overallRiskAssessment
01

Request

input

An assessment request bundles a supplier object (location, performanceScore, alternateSourcesCount, products) with environment fields: geopoliticalTensions, marketVolatility, supplyCategory, and leadTimeData. The baseline table reads only the supplier attributes; the environment fields come in later as multipliers.

Sample requestJSON
{
  "supplier": {
    "name": "GlobalTech Supplies Inc.",
    "location": "medium_risk_region",
    "performanceScore": 82,
    "alternateSourcesCount": 2,
    "products": [
      {
        "id": "P123",
        "name": "Semiconductor Chip",
        "criticalComponent": true
      }
    ],
    "relationshipDurationMonths": 36
  },
  "geopoliticalTensions": true,
  "marketVolatility": "medium",
  "supplyCategory": "electronics",
  "leadTimeData": {
    "averageDays": 45,
    "historicalVariance": 8
  }
}
02

Supplier Risk Evaluation

table

Baseline risk combines supplier.location, supplier.performanceScore, and supplier.alternateSourcesCount across seven first-hit rows, each emitting a score, category, and mitigation string. A 'high_risk_region' supplier scoring under 70 with fewer than 2 alternatives is 'critical' at 80 points with 'Immediate action required: Identify alternative suppliers'; better performance in the same region still rates 'high' at 65. 'medium_risk_region' rows split at a performanceScore of 80 into 60-point 'high' with a dual-sourcing recommendation or 40-point 'medium' with quarterly reviews, 'low_risk_region' suppliers land at 35 or 15 depending on performance and having at least 3 alternates, and unmatched combinations default to 50 and a detailed assessment.

The three axes are the standard vocabulary of supplier risk: where the supplier sits, how reliably they have delivered, and how easily they can be replaced. Making scarce alternatives the trigger for the worst scores reflects real resilience thinking, since a struggling supplier is only a crisis when there is no second source, and shipping a concrete mitigation string with each row turns the score into an action rather than a dashboard number. The point values themselves are calibration choices for the 40/60/75 bands downstream.

Decision tablefirst hit policy
Supplier Locationsupplier.locationHistorical Performance Scoresupplier.performanceScoreAlternative Sources Countsupplier.alternateSourcesCountRisk Scoreassessment.baseRiskScoreRisk Categoryassessment.baseRiskCategoryRecommended Mitigationassessment.recommendedAction
'high_risk_region'< 70< 280'critical''Immediate action required: Identify alternative suppliers'
'high_risk_region'>= 70-65'high''Develop backup suppliers and increase safety stock'
'medium_risk_region'< 80< 360'high''Implement dual-sourcing strategy'
'medium_risk_region'>= 80-40'medium''Monitor supplier performance and conduct quarterly reviews'
'low_risk_region'< 75-35'medium''Schedule regular performance reviews'
'low_risk_region'>= 75>= 315'low''Standard monitoring procedures'

+1 more row in the downloadable template

03

Geopolitical Risk Calculation

expression

Environmental stress scales the baseline: geopoliticalFactor is 1.3 when geopoliticalTensions is true, marketVolatilityFactor steps 1.2, 1.1, or 1.0 for 'high', 'medium', or calm markets, and adjustedRiskScore multiplies assessment.baseRiskScore by both, rounded and capped at 100 via min([...], 100). Using multipliers rather than flat additions means external shocks amplify already-fragile suppliers more than solid ones, which is how disruption actually propagates.

Expressions3 fields
geopoliticalFactorgeopoliticalTensions == true ? 1.3 : 1.0
marketVolatilityFactormarketVolatility == 'high' ? 1.2 : (marketVolatility == 'medium' ? 1.1 : 1.0)
adjustedRiskScoremin([round(assessment.baseRiskScore * $.geopoliticalFactor * $.marketVolatilityFactor), 100])
04

Overall Risk Assessment

table

Final banding cuts adjustedRiskScore at three thresholds under a first hit policy: 75 or more is 'critical' with 'significant' lead time impact and 'immediate' priority, 60 or more is 'high', 40 or more is 'medium', and the catch-all is 'low' with 'minimal' impact and 'routine' priority.

Because the multipliers can push a 60-point baseline past 75, the bands are what let geopolitical or market stress genuinely reclassify a supplier rather than just nudge a number. Translating the score into leadTimeImpact and priorityLevel gives procurement two operational handles, what to expect and how fast to act, which is what a risk register needs to drive workload.

Decision tablefirst hit policy
Adjusted Risk ScoreadjustedRiskScoreFinal Risk CategoryfinalAssessment.riskCategoryLead Time ImpactfinalAssessment.leadTimeImpactPriority LevelfinalAssessment.priorityLevel
>= 75'critical''significant''immediate'
>= 60'high''moderate''high'
>= 40'medium''minor''medium'
-'low''minimal''routine'

Make this template
your own.

Load Supply Chain Risk Evaluator into GoRules, adjust the rules to your policy, and ship it behind your own API.