Calculate Straight Line and Double Declining Balance Rates
Straight Line
Double Declining Balance
Annual Depreciation Rate:0.00%
Total Depreciable Base:$0.00
First Year Expense:$0.00
Book Value (End Year 1):$0.00
How to Calculate a Depreciation Rate
Depreciation is the process of allocating the cost of a tangible asset over its useful life. Understanding how to calculate the depreciation rate is essential for accounting, tax purposes, and assessing the true value of your assets over time. The "rate" represents the percentage of the asset's value that is expensed each year.
Key Components of Depreciation
Before using the formula, you need three specific numbers:
Asset Original Cost: The total price paid to acquire the asset, including taxes, shipping, and setup fees.
Salvage Value (Residual Value): The estimated worth of the asset at the end of its useful life. This is the amount you expect to sell it for.
Useful Life: The estimated number of years the asset will remain productive and in service.
Method 1: Straight Line Depreciation Rate
The Straight Line method is the simplest and most commonly used. It assumes the asset loses value evenly over time. The rate is constant every year.
Depreciation Rate = (1 / Useful Life) × 100%
Example: If you buy a machine with a useful life of 5 years:
Calculation: 1 ÷ 5 = 0.20
Rate: 20% per year.
To find the annual expense: (Cost – Salvage Value) × Rate.
Method 2: Double Declining Balance Rate
The Double Declining Balance (DDB) method is an accelerated depreciation method. It assumes the asset loses more value in the early years of its life (typical for technology or vehicles). The rate is double that of the straight-line method.
DDB Rate = (2 / Useful Life) × 100%
Example: For the same machine with a 5-year life:
Straight Line Rate: 20%
DDB Rate: 20% × 2 = 40%
Note: With DDB, the rate is applied to the Book Value at the beginning of the year, not the depreciable base (Cost – Salvage), until the value reaches the salvage value.
Why Depreciation Rate Matters
Calculating the correct depreciation rate ensures your financial statements are accurate. An incorrect rate can lead to overstated profits (and higher taxes) or understated asset values. Using our calculator above allows you to quickly compare how the Straight Line and Double Declining methods impact your annual expenses.
function calculateDepreciation() {
// 1. Get input values
var costInput = document.getElementById('assetCost');
var salvageInput = document.getElementById('salvageValue');
var lifeInput = document.getElementById('usefulLife');
var methodSelect = document.getElementById('deprMethod');
var resultsDiv = document.getElementById('resultsContainer');
var cost = parseFloat(costInput.value);
var salvage = parseFloat(salvageInput.value);
var life = parseFloat(lifeInput.value);
var method = methodSelect.value;
// 2. Validate inputs
if (isNaN(cost) || cost < 0) {
alert("Please enter a valid positive Original Cost.");
return;
}
if (isNaN(salvage) || salvage < 0) {
alert("Please enter a valid positive Salvage Value.");
return;
}
if (isNaN(life) || life = cost) {
alert("Salvage Value cannot be greater than or equal to the Original Cost.");
return;
}
// 3. Define calculation variables
var rate = 0;
var depreciableBase = cost – salvage;
var annualExpense = 0;
var bookValue = 0;
// 4. Perform calculations based on method
if (method === 'straightLine') {
// Straight Line Logic
// Rate is 1 / Life
rate = (1 / life);
// Expense is (Cost – Salvage) / Life OR Base * Rate
annualExpense = depreciableBase * rate;
bookValue = cost – annualExpense;
} else if (method === 'doubleDeclining') {
// Double Declining Logic
// Rate is (1 / Life) * 2
rate = (1 / life) * 2;
// Expense is Book Value (Start of Year) * Rate
// Start of Year 1 Book Value is just Cost (Salvage is ignored in calculation base for DDB usually, but we stop at salvage)
annualExpense = cost * rate;
// Check if expense drops below salvage
if ((cost – annualExpense) < salvage) {
annualExpense = cost – salvage;
}
bookValue = cost – annualExpense;
}
// 5. Format Output
var ratePercentage = (rate * 100).toFixed(2) + "%";
var baseFormatted = "$" + depreciableBase.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
var expenseFormatted = "$" + annualExpense.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
var bookValueFormatted = "$" + bookValue.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
// 6. Update DOM
document.getElementById('displayRate').innerText = ratePercentage;
document.getElementById('displayBase').innerText = baseFormatted;
document.getElementById('displayExpense').innerText = expenseFormatted;
document.getElementById('displayBookValue').innerText = bookValueFormatted;
// 7. Show Results
resultsDiv.classList.add('visible');
}
function resetDepreciation() {
document.getElementById('assetCost').value = '';
document.getElementById('salvageValue').value = '';
document.getElementById('usefulLife').value = '';
document.getElementById('deprMethod').value = 'straightLine';
document.getElementById('resultsContainer').classList.remove('visible');
}