For applied transfer-pricing work, I prefer the conventional econometric formulation because every step is visible, reproducible, and open to challenge.
Regulatory support for using regression analysis is found in Section 1.482-1(e)(2)(iii)(B), which says that reliability may be increased through application of a “valid statistical method” and explicitly says that a statistical method other than the interquartile range (IQR) may be used if it provides a more reliable measure. Section 1.482-1(f)(2)(iv) separately permits evaluation of arm’s-length results using “sampling and other valid statistical techniques.”
Start with an economically meaningful (reduced form) equation. In my application, revenue is related to operating expense:
REVT(i,t)=\lambda_0+\lambda_1XOPR(i,t)+\varepsilon(i,t),\qquad XOPR=COGS+XSGAEstimate \lambda_0 and \lambda_1 by ordinary least squares. OLS supplies the coefficient estimates, their standard errors, and the R-squared, a familiar goodness-of-fit statistics.
The important inferential question is whether the classical homoskedastic (equal variance among comparables) assumption is sustainable. Corporate comparables may differ in scale and residual variance. I therefore prefer HC3 heteroskedasticity-consistent (HC) standard errors for cross-sectional benchmarking. The HC3 standard errors leave the OLS coefficients unchanged; they replace the estimated covariance matrix and give added protection against influential high-leverage observations.
The HC3 covariance estimator
The design is a panel. Index the comparables i = 1, …, n and the years t = 1, …, T, so the sample size is N = nT: for example, eight comparables with three years of data give N = 24 observations. Collect them as y = X\lambda + ε, where X is of order N \times k with a leading column of ones, k = 2 (intercept and slope), and λ = (\lambda_0, \lambda_1)'. Write b = (b_0, b_1)' for the OLS estimator of \lambda. The estimator, the residuals, and the leverage of observation (i,t) are defined below. Write x(i,t) for the k × 1 vector of regressors belonging to observation (i,t), so that x(i,t)′ = (1, XOPR(i,t)) is the row of X for that observation and X′ = [x(1,1), …, x(n,T)]. Write y(i,t) = REVT(i,t) for the corresponding element of the N × 1 vector y. The majuscule X is the design matrix; XOPR names the Compustat variable in its second column:
b=(X'X)^{-1}X'y
\\[8pt]
e(i,t)=y(i,t)-x(i,t)'b
\\[8pt]
h(i,t)=x(i,t)'(X'X)^{-1}x(i,t)Define H = X(X′X)⁻¹X′, and h(i,t) is the diagonal element of H for observation (i,t). The HC3 covariance estimate is the sandwich formed from the middle matrix S. It is written S, not M, because M is reserved for the residual maker I − H, which is of order N \times N and unrelated; S is of order k \times k and estimates the covariance of the score vector X'ε:
V(b)=(X'X)^{-1}S(X'X)^{-1}
\\[8pt]
S=\sum_{i,t}\frac{e(i,t)^2}{(1-h(i,t))^2}x(i,t)x(i,t)'The reported standard errors are the square roots of the diagonal elements of V(b). A divisor of one gives HC0; a divisor of (1-h(i,t)) gives HC2; the squared divisor of HC3 weights each squared residual by the influence of its own observation. That is the property one wants when a benchmark set of five to fifteen comparables contains one or two companies much larger than the rest. Report the slope b_1 with its HC3 standard error, and the 68% confidence interval.
Bounds on the divisor
The divisor is bounded, and the bounds carry the economics. With a leading column of ones in X, the leverage of each observation satisfies 0 < 1/N \leq h(i,t) \leq 1, and the leverages sum to the number of estimated coefficients, \sum h(i,t) = k = 2, so the average leverage is k/N. The HC3 divisor (1-h(i,t))^2 therefore lies between zero and one:
0\leq(1-h(i,t))^2\leq\left(1-\frac{1}{N}\right)^2<1Because the divisor cannot exceed one, the weight 1 / (1 − h(i,t))² is never less than one. HC3 inflates every squared residual, and inflates most the residuals belonging to the observations of greatest leverage. As h(i,t) approaches its upper bound the divisor approaches zero and the weight increases without limit; at h(i,t) = 1 the observation is fitted exactly, its residual is zero, and the ratio is undefined. A high-leverage comparable pulls the fitted line toward itself and thereby understates its own residual, and the divisor restores what the fit removed.
Procedure
Inspect the data and the scatterplot; estimate the OLS regression with an intercept; report HC3 standard errors; and use the resulting regression for the arm’s-length inference or adjustment being considered. If the data reveal influential outliers or other departures that materially affect the fitted relationship, robust regression can be reported as a sensitivity check rather than concealed inside an elaborate reformulation.
For transfer pricing, transparency matters. A court, tax authority, taxpayer, or opposing expert can see the observations, the equation, the coefficient estimates, the residuals, the leverage values, and the standard-error calculation. The regression method can be replicated from the same data without interpretive machinery.
My preference is therefore methodological parsimony: use OLS for estimation, HC3 for heteroskedasticity-robust inference, and diagnostics to identify what the data are actually doing. Statistical sophistication should improve reliability, not obscure the calculation.
References
Sanford Weisberg, Applied Linear Regression, 4th ed. (Hoboken: Wiley, 2014), § 7.2.1, “Accommodating Misspecified Variance.” The heteroskedasticity-corrected covariance matrix is ordinary textbook material, not an exotic device; the companion R text of John Fox and Sanford Weisberg implements it as the HC3 option of the hccm (Heteroscedasticity-Corrected Covariance Matrix) function.
The hccm — John Fox’s function in car; HC3 is its default type. Version 3.1-5 was current as of 3 February 2026. The car package is the computing companion to John Fox and Sanford Weisberg, An R Companion to Applied Regression, 3rd ed. (Thousand Oaks: Sage, 2019). It returns a heteroskedasticity-corrected covariance (hccm) matrix for a linear model. Source for verification: the hccm reference page and R/hccm.R in the car sources — https://rdrr.io/cran/car/src/R/hccm.R
The EdgarStat implementation of HC3 is from the Python Statsmodels:
statsmodels RegressionResults (HC3_se, cov_HC3); implementation call: OLSResults.get_robustcov_results.
Scott Long and Laurie Ervin, “Using Heteroscedasticity Consistent Standard Errors in the Linear Regression Model.” The American Statistician, 54(3), 2000, 217–224. The authors recommend using HC3 standard errors in small (less than about 250 observations) cross-section data samples. Article link: http://dx.doi.org/10.1080/00031305.2000.10474549