When an activity cost pool is driven by multiple operational factors—such as plant utility costs depending on both machine running hours ($X_1$) and outside ambient temperature ($X_2$)—using a single cost driver understates model accuracy. Multiple Linear Regression (MLR) expands the cost function to capture the combined effect of two or more independent cost drivers.
The Multiple Linear Regression Model
The general formula for an activity cost pool driven by $k$ cost drivers is expressed as:
$$Y = a + b_1 X_1 + b_2 X_2 + \dots + b_k X_k$$
Where:
- $Y$ = Total Activity Cost Pool (Dependent Variable)
- $a$ = Fixed Overhead Component (Y-intercept)
- $X_1, X_2, \dots, X_k$ = Individual Cost Drivers (Independent Variables)
- $b_1, b_2, \dots, b_k$ = Partial Regression Coefficients (Slope for each driver, holding all other drivers constant)
Step-by-Step Implementation Process
Step 1: Identify and Collect Operational Data
Collect paired monthly or weekly observations for the total cost pool and all potential drivers.
| Month | Total Power Cost (Y) | Machine Hours (X1) | Outside Temp °C (X2) |
| Jan | $12,500 | 1,200 | 18°C |
| Feb | $13,100 | 1,300 | 22°C |
| Mar | $15,800 | 1,400 | 30°C |
| Apr | $18,200 | 1,500 | 35°C |
Step 2: Estimate Parameters (Matrix Formulation)
Because solving multiple slopes simultaneously by hand is complex, parameter estimates ($\mathbf{\beta}$) are calculated via matrix algebra (or software such as Excel, Python, or R):
$$\mathbf{\beta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}$$
Where:
- $\mathbf{\beta} = \begin{bmatrix} a \\ b_1 \\ b_2 \end{bmatrix}$
- $\mathbf{X}$ = Matrix of input driver observations with a leading column of 1s
- $\mathbf{Y}$ = Vector of observed activity costs
Step 3: Numerical Example and Interpretation
Suppose running the MLR algorithm on plant utility data yields the following cost equation:
$$Y = \$2,500 + \$8.50(X_1) + \$120.00(X_2)$$
- Fixed Cost ($a = \$2,500$): Baseline monthly facility overhead regardless of activity or weather.
- Driver 1 Coefficient ($b_1 = \$8.50$): Each additional machine hour increases utility cost by $8.50, assuming temperature remains constant.
- Driver 2 Coefficient ($b_2 = \$120.00$): Each $1^\circ\text{C}$ increase in average outside temperature adds $120.00 in cooling energy costs, assuming machine hours remain constant.
Critical Statistical Validation Checks
To ensure the multiple regression model is reliable for Activity-Based Costing (ABC) allocations, evaluate three primary diagnostic metrics:
1. Adjusted $R$-Squared ($R^2_{\text{adj}}$)
Unlike standard $R^2$, which artificially increases whenever any new driver is added, Adjusted $R^2$ penalizes unnecessary variables:
$$R^2_{\text{adj}} = 1 - \left[ \frac{(1 - R^2)(n - 1)}{n - k - 1} \right]$$
Where $n$ is sample size and $k$ is the number of drivers. If adding a second driver increases $R^2_{\text{adj}}$, the second driver legitimately improves model precision.
2. Multicollinearity Check (Variance Inflation Factor - VIF)
If two cost drivers are strongly correlated with each other (e.g., direct labor hours and machine hours), the model cannot isolate their individual impacts.
$$\text{VIF}_j = \frac{1}{1 - R_j^2}$$
- Rule of Thumb: A $\text{VIF} > 5.0$ indicates severe multicollinearity. If present, drop one of the overlapping drivers.
3. Statistical Significance ($p$-values / $t$-stat)
Check whether each driver coefficient ($b_j$) is statistically different from zero:
- Threshold: Ensure the $p$-value for each driver is less than $0.05$ ($95\%$ confidence level).
Model Validation Summary
| Statistical Metric | Acceptance Threshold | Purpose in Cost Allocation |
| Adjusted $R^2$ | $\ge 0.80$ | Verifies overall explanatory power of the combined drivers. |
| $p$-Value per Driver | $< 0.05$ | Confirms each individual driver has a statistically meaningful impact. |
| VIF (Multicollinearity) | $< 5.0$ | Ensures cost drivers are independent of one another. |