Agent Skills: Sensitivity Analyzer

Sensitivity analysis skill for identifying critical inputs and understanding model behavior under uncertainty

simulationID: a5c-ai/babysitter/sensitivity-analyzer

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/plugins/babysitter/skills/babysit/process/specializations/domains/business/decision-intelligence/skills/sensitivity-analyzer

Skill Files

Browse the full folder contents for sensitivity-analyzer.

Download Skill

Loading file tree…

plugins/babysitter/skills/babysit/process/specializations/domains/business/decision-intelligence/skills/sensitivity-analyzer/SKILL.md

Skill Metadata

Name
sensitivity-analyzer
Description
Sensitivity analysis skill for identifying critical inputs and understanding model behavior under uncertainty

Sensitivity Analyzer

Overview

The Sensitivity Analyzer skill provides comprehensive capabilities for identifying critical inputs and understanding how model outputs respond to parameter changes. It supports both local (one-at-a-time) and global sensitivity analysis methods, enabling robust decision-making under uncertainty.

Capabilities

  • One-at-a-time (OAT) sensitivity
  • Global sensitivity analysis (Sobol indices, Morris screening)
  • Tornado diagram generation
  • Spider plot creation
  • Parameter importance ranking
  • Threshold identification
  • Breakeven analysis
  • Scenario comparison

Used By Processes

  • Monte Carlo Simulation for Decision Support
  • Multi-Criteria Decision Analysis (MCDA)
  • Prescriptive Analytics and Optimization
  • What-If Analysis Framework

Usage

One-at-a-Time (OAT) Analysis

# Define OAT analysis
oat_config = {
    "base_case": {
        "price": 100,
        "volume": 10000,
        "cost": 60,
        "fixed_costs": 200000
    },
    "variations": {
        "price": {"range": [-20, 20], "step": 5, "unit": "%"},
        "volume": {"range": [-30, 30], "step": 10, "unit": "%"},
        "cost": {"range": [-15, 15], "step": 5, "unit": "%"},
        "fixed_costs": {"range": [-10, 10], "step": 5, "unit": "%"}
    },
    "output_variable": "profit"
}

Global Sensitivity (Sobol Indices)

# Define Sobol analysis
sobol_config = {
    "parameters": {
        "price": {"bounds": [80, 120], "distribution": "uniform"},
        "volume": {"bounds": [7000, 13000], "distribution": "uniform"},
        "cost": {"bounds": [50, 70], "distribution": "uniform"}
    },
    "sample_size": 10000,
    "calculate_second_order": True
}

Morris Screening

Efficient screening method for many parameters:

  • Identifies parameters with negligible effects
  • Distinguishes linear vs. non-linear effects
  • Detects interaction effects

Sensitivity Indices

| Index | Meaning | |-------|---------| | S1 (First-order) | Direct effect of parameter | | ST (Total) | Direct + all interaction effects | | S2 (Second-order) | Pairwise interaction effect |

Visualization Types

  1. Tornado Diagram: Horizontal bars showing impact range
  2. Spider Plot: Lines showing output vs. % change in each input
  3. Scatter Plot: Output vs. single input with trend line
  4. Sobol Bar Chart: First-order and total indices comparison
  5. Morris Plot: Mean vs. standard deviation of elementary effects

Input Schema

{
  "analysis_type": "OAT|sobol|morris|breakeven",
  "model": "function or expression",
  "parameters": {
    "param_name": {
      "base_value": "number",
      "range": ["number", "number"],
      "distribution": "string"
    }
  },
  "options": {
    "sample_size": "number",
    "output_variable": "string",
    "calculate_interactions": "boolean",
    "confidence_level": "number"
  }
}

Output Schema

{
  "analysis_type": "string",
  "parameter_rankings": [
    {
      "parameter": "string",
      "importance_score": "number",
      "effect_direction": "positive|negative",
      "first_order_index": "number",
      "total_index": "number"
    }
  ],
  "breakeven_points": {
    "parameter": {
      "breakeven_value": "number",
      "current_distance": "number"
    }
  },
  "interactions": [
    {
      "parameters": ["string", "string"],
      "interaction_index": "number"
    }
  ],
  "tornado_data": {
    "parameter": {
      "low_output": "number",
      "high_output": "number",
      "swing": "number"
    }
  },
  "visualization_paths": ["string"]
}

Best Practices

  1. Start with Morris screening for many parameters (>10)
  2. Use Sobol indices for detailed analysis of top parameters
  3. Include parameter correlations when they exist
  4. Report confidence intervals for sensitivity indices
  5. Consider non-linear effects (total vs. first-order indices)
  6. Communicate results using tornado diagrams for executives
  7. Document parameter ranges and their justification

Interpretation Guidelines

Sobol Index Interpretation

  • High S1, High ST: Important direct effect
  • Low S1, High ST: Important through interactions
  • High S1, Low ST-S1: Few interactions
  • Low ST: Parameter can be fixed at nominal value

Breakeven Analysis

Identifies the parameter value where:

  • NPV = 0
  • Profit = 0
  • Decision changes
  • Threshold is crossed

Integration Points

  • Receives model from Monte Carlo Engine
  • Feeds into Decision Visualization for charts
  • Supports MCDA methods for weight sensitivity
  • Connects with Real Options Analyzer for volatility impact