monte-carlo-simulator
Version:
Business decision framework with Monte Carlo risk analysis - instant via npx
83 lines (70 loc) • 2.38 kB
YAML
name: AI Tool Adoption Analysis (Aggressive)
category: Technology
description: Aggressive scenario with lower costs, higher productivity gains, and faster adoption
version: 1.0.0
tags: [ai, tools, adoption, aggressive, scenario]
parameters:
- key: teamSize
label: Team Size
type: number
default: 20
min: 5
max: 200
step: 1
description: Number of developers who will use AI tools
- key: monthlyToolCost
label: Monthly Tool Cost per Developer ($)
type: number
default: 20 # Lower cost assumption
min: 10
max: 100
step: 5
description: Monthly subscription cost per developer
- key: productivityGain
label: Expected Productivity Gain (%)
type: number
default: 25 # Higher productivity gain
min: 5
max: 40
step: 1
description: Expected productivity improvement percentage
- key: adoptionRate
label: Team Adoption Rate (%)
type: number
default: 90 # Faster adoption
min: 30
max: 95
step: 5
description: Percentage of team expected to actively use tools
outputs:
- key: annualCost
label: Annual Tool Cost ($)
description: Total annual cost for AI tools
- key: annualSavings
label: Annual Productivity Savings ($)
description: Cost savings from productivity improvements
- key: netBenefit
label: Net Annual Benefit ($)
description: Annual savings minus costs
- key: roi
label: ROI Percentage
description: Return on investment percentage
simulation:
logic: |
// Calculate costs (same logic as base simulation)
const annualCost = teamSize * monthlyToolCost * 12
// Aggressive modeling - more variance on the upside
const actualAdoption = (adoptionRate / 100) * (0.9 + random() * 0.2)
const actualProductivity = (productivityGain / 100) * (0.8 + random() * 0.5)
// Calculate savings with optimistic estimates
const avgDeveloperCost = 120000
const annualSavings = teamSize * avgDeveloperCost * actualAdoption * actualProductivity
// Calculate metrics
const netBenefit = annualSavings - annualCost
const roi = annualCost > 0 ? (netBenefit / annualCost) * 100 : 0
return {
annualCost: Math.round(annualCost),
annualSavings: Math.round(annualSavings),
netBenefit: Math.round(netBenefit),
roi: Math.round(roi * 10) / 10
}