Machine Hours
Direct Labor Hours
Units of Production
Direct Labor Cost (Percentage)
Prime Cost (Percentage)
Calculation Result
The Overhead Absorption Rate (OAR) is:
How to Calculate Overhead Absorption Rate for Each Department
In cost accounting, correctly allocating indirect costs to specific products or services is crucial for accurate pricing and profitability analysis. The Overhead Absorption Rate (OAR) is the method used to charge overhead costs to cost units. When a company operates multiple departments (e.g., Machining, Assembly, Packaging), calculating a separate OAR for each department ensures that products passing through these departments absorb costs reflective of the resources they actually consume.
The Formula
The standard formula for calculating the predetermined overhead absorption rate is:
OAR = Total Budgeted Overhead Costs / Total Budgeted Allocation Base
This rate is typically calculated at the beginning of a financial period using budgeted (estimated) figures, as actual costs are not known until the end of the period.
Choosing the Right Allocation Base
To calculate the OAR for a specific department, you must select an allocation base that drives costs in that department. Common bases include:
Machine Hours: Best for capital-intensive departments where machinery does the primary work (e.g., a robotic assembly line).
Direct Labor Hours: Best for labor-intensive departments where manual work drives activity (e.g., manual finishing or painting).
Units of Production: Used when the company produces a single, uniform product.
Direct Labor Cost: Expressed as a percentage, used when wage rates vary significantly within the department.
Why Calculate Departmental Rates?
Using a single "blanket" rate for the entire factory can lead to cost distortion. For example, if Product A spends 10 hours in the expensive Machining department and 1 hour in Assembly, while Product B does the reverse, a blanket rate might undercost Product A and overcost Product B. Departmental rates solve this by assigning costs based on the specific departmental resources used.
Practical Example
Consider a manufacturing company with two departments: Fabrication and Assembly.
Department 1: Fabrication (Machine Intensive)
Budgeted Overheads: $500,000
Budgeted Machine Hours: 25,000 hours
Calculation: $500,000 / 25,000 = $20.00 per Machine Hour
Department 2: Assembly (Labor Intensive)
Budgeted Overheads: $200,000
Budgeted Labor Cost: $400,000
Calculation: ($200,000 / $400,000) × 100 = 50% of Direct Labor Cost
Using the calculator above, you can input the specific overheads and activity bases for any department to determine precisely how much overhead should be added to the cost of your products.
function updateBaseLabel() {
var baseSelect = document.getElementById("absorptionBase");
var baseLabel = document.getElementById("baseLabel");
var selectedValue = baseSelect.value;
if (selectedValue === "machine_hours") {
baseLabel.innerText = "Total Budgeted Machine Hours";
document.getElementById("baseActivityLevel").placeholder = "Enter total machine hours";
} else if (selectedValue === "labor_hours") {
baseLabel.innerText = "Total Budgeted Direct Labor Hours";
document.getElementById("baseActivityLevel").placeholder = "Enter total labor hours";
} else if (selectedValue === "units") {
baseLabel.innerText = "Total Budgeted Units of Production";
document.getElementById("baseActivityLevel").placeholder = "Enter total units";
} else if (selectedValue === "labor_cost") {
baseLabel.innerText = "Total Budgeted Direct Labor Cost";
document.getElementById("baseActivityLevel").placeholder = "Enter total labor cost";
} else if (selectedValue === "prime_cost") {
baseLabel.innerText = "Total Budgeted Prime Cost";
document.getElementById("baseActivityLevel").placeholder = "Enter total prime cost";
}
}
function calculateOAR() {
// Get input values
var overheadCost = parseFloat(document.getElementById("overheadCosts").value);
var baseActivity = parseFloat(document.getElementById("baseActivityLevel").value);
var baseType = document.getElementById("absorptionBase").value;
var deptName = document.getElementById("deptName").value;
// Get result elements
var resultBox = document.getElementById("resultOutput");
var oarValueElement = document.getElementById("oarValue");
var oarExplanationElement = document.getElementById("oarExplanation");
var resDeptNameElement = document.getElementById("resDeptName");
// Validate inputs
if (isNaN(overheadCost) || overheadCost < 0) {
alert("Please enter a valid positive number for Overhead Costs.");
return;
}
if (isNaN(baseActivity) || baseActivity <= 0) {
alert("Please enter a valid number greater than zero for the Allocation Base.");
return;
}
// Calculation Logic
var oar = overheadCost / baseActivity;
var formattedResult = "";
var explanationText = "";
// Handle display based on dept name
if (deptName.trim() !== "") {
resDeptNameElement.innerText = "for " + deptName;
} else {
resDeptNameElement.innerText = "";
}
// Format Logic based on type
if (baseType === "machine_hours") {
formattedResult = "$" + oar.toFixed(2) + " per Machine Hour";
explanationText = "For every machine hour used, $" + oar.toFixed(2) + " of overhead costs will be allocated to the product.";
} else if (baseType === "labor_hours") {
formattedResult = "$" + oar.toFixed(2) + " per Direct Labor Hour";
explanationText = "For every hour of direct labor worked, $" + oar.toFixed(2) + " of overhead costs will be allocated to the product.";
} else if (baseType === "units") {
formattedResult = "$" + oar.toFixed(2) + " per Unit";
explanationText = "Every single unit produced will absorb $" + oar.toFixed(2) + " of overhead costs.";
} else if (baseType === "labor_cost") {
var percentage = oar * 100;
formattedResult = percentage.toFixed(2) + "% of Direct Labor Cost";
explanationText = "Overhead is charged at a rate of " + percentage.toFixed(2) + "% of the direct labor wages paid for the job.";
} else if (baseType === "prime_cost") {
var percentage = oar * 100;
formattedResult = percentage.toFixed(2) + "% of Prime Cost";
explanationText = "Overhead is charged at a rate of " + percentage.toFixed(2) + "% of the total prime cost (Materials + Labor).";
}
// Display results
oarValueElement.innerText = formattedResult;
oarExplanationElement.innerText = explanationText;
resultBox.style.display = "block";
}