Lewati ke konten
🛠️ToolsShed

Cost-Benefit Analysis

Hitung NPV, ROI, dan rasio benefit-cost untuk evaluasi proyek.

Biaya

Manfaat

$127,006
Net Present Value
1.88
Rasio Manfaat-Biaya
87.50%
ROI
1.82 tahun
Periode Pengembalian
TahunBiayaManfaatArus Kas Bersih
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

Tentang alat ini

Analisis biaya-manfaat adalah alat ekonomi fundamental untuk membandingkan nilai finansial manfaat terhadap biaya implementasi proyek atau inisiatif. Ini membantu individu, organisasi, dan lembaga pemerintah membuat keputusan berdasarkan informasi dengan mengukur apakah investasi akan memberikan pengembalian positif. Metrik utama—nilai sekarang bersih (NPV), pengembalian investasi (ROI), dan rasio manfaat-biaya (BCR)—memungkinkan Anda mengevaluasi proyek berdasarkan standar yang sama dan menentukan peringkat peluang yang bersaing berdasarkan keuntungan finansial mereka.

Untuk menggunakan alat ini, masukkan biaya investasi awal Anda dan cantumkan manfaat dan biaya tahunan selama umur proyek. Tentukan tingkat diskon (biasanya 5-10% untuk sebagian besar keputusan bisnis) untuk memperhitungkan nilai waktu uang, yang mencerminkan inflasi dan biaya peluang. Kalkulator kemudian menghitung NPV (total keuntungan bersih dalam dolar hari ini), ROI (pengembalian persentase relatif terhadap investasi awal), dan rasio manfaat-biaya (manfaat dibagi biaya). NPV positif, ROI di atas ambang target Anda, dan BCR lebih besar dari 1.0 semuanya menunjukkan proyek yang layak secara finansial.

Analisis ini penting untuk penganggaran modal, perencanaan infrastruktur, kebijakan lingkungan, dan keputusan ekspansi bisnis. Manajer proyek dan analis keuangan menggunakan metrik ini untuk membenarkan investasi kepada pemangku kepentingan dan membandingkan alternatif dengan jadwal yang berbeda. Ingat bahwa analisis biaya-manfaat bergantung pada prakiraan akurat biaya dan manfaat masa depan; analisis sensitivitas (menyesuaikan tingkat diskon atau estimasi manfaat) dapat membantu Anda memahami bagaimana asumsi mempengaruhi hasilnya.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.