monte-carlo-simulator
Version:
Business decision framework with Monte Carlo risk analysis - instant via npx
76 lines (65 loc) • 2.12 kB
YAML
name: Technology Investment Decision
category: Technology
description: Analyze technology investment decisions considering productivity gains, costs, and adoption risks
version: 1.0.0
tags: [technology, investment, productivity, automation]
parameters:
- key: toolCost
label: Annual Tool Cost ($)
type: number
default: 25000
min: 1000
max: 500000
step: 1000
description: Annual cost for the technology solution
- key: teamSize
label: Team Size
type: number
default: 10
min: 1
max: 100
step: 1
description: Number of team members who will use the technology
- key: productivityGain
label: Expected Productivity Gain (%)
type: number
default: 20
min: 5
max: 50
step: 1
description: Expected productivity improvement percentage
- key: adoptionRate
label: Team Adoption Rate (%)
type: number
default: 80
min: 30
max: 100
step: 5
description: Percentage of team expected to adopt the technology
outputs:
- key: annualSavings
label: Annual Savings ($)
description: Total annual cost savings from productivity gains
- key: netBenefit
label: Net Annual Benefit ($)
description: Annual savings minus tool costs
- key: roi
label: ROI Percentage
description: Return on investment percentage
simulation:
logic: |
// Calculate productivity savings
const avgSalary = 120000 // Average developer salary
const actualAdoption = (adoptionRate / 100) * (0.8 + random() * 0.4) // Add uncertainty
const effectiveProductivity = (productivityGain / 100) * actualAdoption
// Calculate savings with some variance
const savingsVariance = 0.8 + random() * 0.4
const annualSavings = teamSize * avgSalary * effectiveProductivity * savingsVariance
// Calculate net benefit and ROI
const netBenefit = annualSavings - toolCost
const roi = toolCost > 0 ? (netBenefit / toolCost) * 100 : 0
return {
annualSavings: Math.round(annualSavings),
netBenefit: Math.round(netBenefit),
roi: Math.round(roi * 10) / 10
}