UNPKG

monte-carlo-simulator

Version:

Business decision framework with Monte Carlo risk analysis - instant via npx

83 lines (70 loc) 2.39 kB
name: AI Tool Adoption Analysis (Conservative) category: Technology description: Conservative scenario with higher costs, lower productivity gains, and slower adoption version: 1.0.0 tags: [ai, tools, adoption, conservative, 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: 45 # Higher cost assumption min: 10 max: 100 step: 5 description: Monthly subscription cost per developer - key: productivityGain label: Expected Productivity Gain (%) type: number default: 8 # Lower productivity gain min: 5 max: 40 step: 1 description: Expected productivity improvement percentage - key: adoptionRate label: Team Adoption Rate (%) type: number default: 55 # Slower 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 // Conservative modeling - more variance on the downside const actualAdoption = (adoptionRate / 100) * (0.6 + random() * 0.4) const actualProductivity = (productivityGain / 100) * (0.6 + random() * 0.5) // Calculate savings with conservative 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 }