UNPKG

monte-carlo-simulator

Version:

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

83 lines (70 loc) 2.38 kB
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 }