Cost-Benefit Analysis
Calcola NPV, ROI e rapporto beneficio-costo per la valutazione dei progetti.
Costi
Benefici
| Anno | Costi | Benefici | Flusso di cassa netto |
|---|---|---|---|
| 1 | $120,000 | $75,000 | $-45,000 |
| 2 | $20,000 | $75,000 | $55,000 |
| 3 | $20,000 | $75,000 | $55,000 |
| 4 | $20,000 | $75,000 | $55,000 |
| 5 | $20,000 | $75,000 | $55,000 |
Informazioni sullo strumento
L'analisi costi-benefici è uno strumento economico fondamentale per confrontare il valore finanziario dei benefici rispetto ai costi di implementazione di un progetto o un'iniziativa. Aiuta individui, organizzazioni e agenzie governative a prendere decisioni informate quantificando se un investimento produrrà rendimenti positivi. Le metriche principali—valore attuale netto (VAN), ritorno sull'investimento (ROI) e rapporto benefici-costi (RBC)—consentono di valutare i progetti su una base standardizzata e classificare le opportunità concorrenti in base al loro valore finanziario.
Per utilizzare questo strumento, inserisci i tuoi costi di investimento iniziale ed elenca i benefici e i costi annuali durante la vita utile del progetto. Specifica un tasso di sconto (tipicamente 5-10% per la maggior parte delle decisioni aziendali) per tenere conto del valore temporale del denaro, che riflette l'inflazione e il costo opportunità. Il calcolatore quindi calcola il VAN (il guadagno netto totale in dollari odierni), il ROI (il ritorno percentuale relativo all'investimento iniziale) e il rapporto benefici-costi (benefici divisi per costi). Un VAN positivo, un ROI superiore alla tua soglia target e un RBC maggiore di 1.0 indicano tutti un progetto finanziariamente fattibile.
Questa analisi è essenziale per la programmazione dei capitali, la pianificazione delle infrastrutture, le politiche ambientali e le decisioni di espansione aziendale. I project manager e gli analisti finanziari utilizzano queste metriche per giustificare gli investimenti agli stakeholder e confrontare alternative con diversi tempi di realizzazione. Ricorda che l'analisi costi-benefici si basa su previsioni accurate dei costi e dei benefici futuri; l'analisi di sensibilità (regolazione dei tassi di sconto o delle stime dei benefici) può aiutarti a capire come i presupposti influenzano il risultato.
Domande Frequenti
Implementazione del Codice
def cost_benefit_analysis(costs, benefits, years: int, discount_rate: float):
"""
costs/benefits: list of {'name': str, 'amount': float, 'type': 'one-time'|'annual'}
discount_rate: as decimal (0.08 for 8%)
"""
cash_flows = []
cumulative_pv = 0.0
cumulative_net = 0.0
payback_year = None
for year in range(1, years + 1):
year_costs = sum(
c['amount'] for c in costs
if c['type'] == 'annual' or (c['type'] == 'one-time' and year == 1)
)
year_benefits = sum(
b['amount'] for b in benefits
if b['type'] == 'annual' or (b['type'] == 'one-time' and year == 1)
)
net = year_benefits - year_costs
df = 1 / (1 + discount_rate) ** year if discount_rate > 0 else 1
pv = net * df
cumulative_pv += pv
cumulative_net += net
if payback_year is None and cumulative_net >= 0:
payback_year = year
cash_flows.append({'year': year, 'costs': year_costs, 'benefits': year_benefits, 'net': net, 'pv': pv, 'cumulative_pv': cumulative_pv})
total_costs = sum(cf['costs'] for cf in cash_flows)
total_benefits = sum(cf['benefits'] for cf in cash_flows)
npv = cumulative_pv
bcr = total_benefits / total_costs if total_costs > 0 else 0
roi = (total_benefits - total_costs) / total_costs * 100 if total_costs > 0 else 0
return {'npv': npv, 'bcr': bcr, 'roi': roi, 'payback_year': payback_year, 'cash_flows': cash_flows}
# Example
costs = [
{'name': 'Initial Investment', 'amount': 100000, 'type': 'one-time'},
{'name': 'Annual Operating', 'amount': 20000, 'type': 'annual'},
]
benefits = [
{'name': 'Revenue', 'amount': 60000, 'type': 'annual'},
{'name': 'Cost Savings', 'amount': 15000, 'type': 'annual'},
]
result = cost_benefit_analysis(costs, benefits, years=5, discount_rate=0.08)
print(f"NPV: ${result['npv']:,.0f}")
print(f"BCR: {result['bcr']:.2f}")
print(f"ROI: {result['roi']:.1f}%")
print(f"Payback: Year {result['payback_year']}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.