Cost-Benefit Analysis
Calculer la VAN, le ROI et le ratio avantage-coût pour l'évaluation du projet.
Coûts
Avantages
| Année | Coûts | Avantages | Flux de trésorerie net |
|---|---|---|---|
| 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 |
À propos de cet outil
L'analyse coût-bénéfices est un outil économique fondamental permettant de comparer la valeur financière des avantages par rapport aux coûts de mise en œuvre d'un projet ou d'une initiative. Elle aide les individus, les organisations et les agences gouvernementales à prendre des décisions éclairées en quantifiant si un investissement générera des rendements positifs. Les métriques principales—la valeur actuelle nette (VAN), le retour sur investissement (ROI) et le rapport bénéfice-coût (RBC)—vous permettent d'évaluer les projets sur une base normalisée et de classer les opportunités concurrentes selon leur mérite financier.
Pour utiliser cet outil, entrez vos coûts d'investissement initial et énumérez les avantages et les coûts annuels au cours de la durée de vie du projet. Spécifiez un taux d'actualisation (généralement 5-10% pour la plupart des décisions commerciales) pour tenir compte de la valeur du temps de l'argent, qui reflète l'inflation et le coût d'opportunité. La calculatrice calcule alors la VAN (le gain net total en dollars d'aujourd'hui), le ROI (le rendement en pourcentage par rapport à l'investissement initial) et le rapport bénéfice-coût (avantages divisés par les coûts). Une VAN positive, un ROI supérieur à votre seuil cible et un RBC supérieur à 1,0 indiquent tous un projet financièrement viable.
Cette analyse est essentielle pour la budgétisation des investissements, la planification des infrastructures, la politique environnementale et les décisions d'expansion commerciale. Les chefs de projet et les analystes financiers utilisent ces métriques pour justifier les investissements auprès des parties prenantes et comparer les alternatives ayant des calendriers différents. N'oubliez pas que l'analyse coût-bénéfices repose sur des prévisions précises des coûts et avantages futurs ; l'analyse de sensibilité (ajustement des taux d'actualisation ou des estimations d'avantages) peut vous aider à comprendre comment les hypothèses affectent le résultat.
Questions Fréquentes
Implémentation du Code
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.