1. Purpose
Kalecki’s single-product price equation, p = (1+k)\,u, has a uniform markup k over unit prime cost u. The uniform case is amenable to one regression across many products. Non-uniform markups k_j, one per firm, are handled in my book U.S. Corporate Profits, 1950–2024 (Springer, 2026) by one regression per corporation, 71 in all, with Newey–West standard errors. The firm markups form the diagonal of a matrix K = \operatorname{diag}(k_1,\dots,k_n).
Estimating that diagonal as n unknowns is not the obstacle; stacking the firm regressions returns the same 71 slopes one by one, since the design matrix is block-diagonal. A modified Leontief system, p = (I+K)(A'p + w\ell), is nonlinear in K only when solved for p; for estimation each row collapses back to p_j = (1+k_j)u_j, and the inverse serves counterfactuals, not inference. The Leontief route is set aside because it yields no standard errors.
The object of the next step is not the 71 point estimates but their dispersion: how far the markups differ across firms once sampling error is removed, and how precisely that dispersion is measured. Swamy’s (1970) random-coefficient model delivers this object as a single parameter, \sigma_\nu^2, with a standard error. This note specifies three routes to its standard error and adds a correction for common shocks.
2. Model and notation
Firms are indexed j = 1,\dots,n (n = 71) and fiscal years t = 1,\dots,T (T = 75, 1950–2024); the sample size is N = nT. Observables are Latin majuscules, parameters Greek minuscules.
| R_{jt} | revenue of firm j in year t (Compustat REVT) |
| C_{jt} | cost of goods sold (COGS), Kalecki’s prime cost |
| k_j | markup of firm j; \beta_j = 1 + k_j the markup factor |
| \alpha_j | firm intercept (nuisance; zero in the strict Kalecki form) |
| \varepsilon_{jt} | regression error, serially correlated within firm |
| \hat\beta_j,\; V_j | firm OLS slope and its Newey–West variance |
| \bar\beta | mean markup factor across firms |
| \nu_j | deviation of firm j from the mean, \nu_j = \beta_j - \bar\beta |
| \sigma_\nu^2 | variance of \nu_j: the dispersion of markups (the estimand) |
| s_b^2 | sample variance of the n estimates \hat\beta_j |
| \bar V | mean of the V_j |
| w_j | GLS weights; Q Swamy’s test statistic |
| \bar R_t,\; \bar C_t | cross-section averages in year t (common-shock proxies) |
The firm price equation and the random-coefficient hypothesis are
\begin{aligned}
&(1)\quad
R_{jt}=\alpha_j+\beta_j C_{jt}+\varepsilon_{jt},
\qquad
\beta_j=1+k_j,
\\[8pt]
&(2)\quad
\beta_j=\bar\beta+\nu_j,
\qquad
\operatorname{E}(\nu_j)=0,
\quad
\operatorname{Var}(\nu_j)=\sigma_\nu^2,
\end{aligned}with \nu_j independent across firms and independent of \varepsilon_{jt}. Equation (2) is the diagonal markup matrix K = \operatorname{diag}(k_1,\dots,k_n) with its diagonal treated as n draws from one distribution rather than as n free unknowns. Because k_j = \beta_j - 1, \sigma_\nu is the standard deviation of the markups themselves.
3. Step 1: firm regressions with Newey–West covariance
This step is already in the book. For each firm, OLS on (1) gives \hat\beta_j, and the Newey–West (1987) covariance with Bartlett weights and m lags gives
\begin{aligned}
&(3)\quad
V_j=(X_j'X_j)^{-1}S_j(X_j'X_j)^{-1},
\\[8pt]
&\phantom{(3)\quad}
S_j=\sum_{t}\sum_{s}w(|t-s|)\,x_{jt}x_{js}'\hat\varepsilon_{jt}\hat\varepsilon_{js},
\\[8pt]
&\phantom{(3)\quad}
w(h)=1-\frac{h}{m+1},
\end{aligned}where x_{jt} = (1, C_{jt})' and V_j denotes the (2,2) element, the variance of the slope. S_j is the middle matrix of the sandwich. Use the same m as the book so that Step 1 reproduces the published \hat\beta_j to the last digit.
4. Step 2: the Swamy decomposition
Write the estimation error as e_j = \hat\beta_j - \beta_j, with \operatorname{E}(e_j) = 0 and \operatorname{Var}(e_j) = V_j. Then
\quad
(4)\qquad
\hat\beta_j=\bar\beta+\nu_j+e_j,
\qquad
\operatorname{Var}(\hat\beta_j)=\sigma_\nu^2+V_j.The observed dispersion of the n estimates is therefore the sum of real markup dispersion and sampling noise. With \bar b = \frac{1}{n}\sum_j \hat\beta_j and s_b^2 = \frac{1}{n-1}\sum_j (\hat\beta_j - \bar b)^2,
\quad
(5)\qquad
\operatorname{E}(s_b^2)=\sigma_\nu^2+\bar V,
\qquad
\bar V=\frac{1}{n}\sum_j V_j.Swamy (1970, eq. 3.15) solves (5) for the estimand:
\quad
(6)\qquad
\hat\sigma_\nu^2=s_b^2-\bar V,
\quad
\text{truncated at zero}The ratio \hat\sigma_\nu^2 / s_b^2 is the share of the cross-sectional spread that is not sampling error; report it beside the estimate. A negative raw value means the 71 markups are indistinguishable from a common markup at the precision of the firm regressions, which is itself a finding.
5. Step 3: mean markup and the test of uniformity
Given \hat\sigma_\nu^2, the GLS estimate of the mean markup factor weights each firm by the inverse of its total variance:
\begin{aligned}
&(7)\quad
\bar\beta_{GLS}=\sum_j w_j\hat\beta_j,
\\[8pt]
&\phantom{(7)\quad}
w_j=\frac{(\hat\sigma_\nu^2+V_j)^{-1}}{\sum_i(\hat\sigma_\nu^2+V_i)^{-1}},
\\[8pt]
&\phantom{(7)\quad}
\operatorname{Var}(\bar\beta_{GLS})=\Big[\sum_i(\hat\sigma_\nu^2+V_i)^{-1}\Big]^{-1}.
\end{aligned}When \hat\sigma_\nu^2 is large relative to V_j the weights are near-equal and the GLS mean collapses to the simple mean; this is the mean-group estimator of Pesaran and Smith (1995).
Swamy’s test of parameter constancy, H_0\colon \sigma_\nu^2 = 0 (uniform markup), is
\begin{aligned}
&(8)\quad
Q=\sum_j\frac{(\hat\beta_j-\bar b_w)^2}{V_j},
\\[8pt]
&\phantom{(8)\quad}
\bar b_w=\frac{\sum_j V_j^{-1}\hat\beta_j}{\sum_j V_j^{-1}},
\\[8pt]
&\phantom{(8)\quad}
Q\sim\chi^2(n-1)\text{ under }H_0.
\end{aligned}Q is the formal bridge between the uniform-markup regression and the 71 firm regressions. Q inherits any downward bias in V_j: a Newey–West lag count too short for the actual persistence of ε_jt understates V_j and inflates Q. Rerunning Step 1 with a deliberately short m exhibits this directly.
6. Step 4: the standard error of \hat\sigma_\nu^2
Swamy gave the estimator but not its variance. Three routes deliver it; run all three and report them side by side.
Route A: moment (delta-method) variance. Treat the \hat\beta_j as independent with \operatorname{Var}(\hat\beta_j) = \sigma_\nu^2 + V_j and fourth moment as under normality. Then
\quad
(9)\qquad
\operatorname{Var}(\hat\sigma_\nu^2)\approx\frac{2}{n(n-1)}\sum_j(\hat\sigma_\nu^2+V_j)^2,which reduces to 2\sigma^4/(n-1) when the V_j are negligible. This is the cheapest route and the least trustworthy, since it ignores the sampling variability of the V_j themselves and the truncation at zero.
Route B: REML and the profile-likelihood interval. Under normality of \nu_j and e_j, the restricted log-likelihood of (\bar\beta, \sigma_\nu^2) given the pairs (\hat\beta_j, V_j) is
\begin{aligned}
&(10)\quad
\ell_R(\sigma_\nu^2)=-\tfrac{1}{2}\sum_j\Big[\log(\sigma_\nu^2+V_j)+\frac{(\hat\beta_j-\bar\beta_{GLS})^2}{\sigma_\nu^2+V_j}\Big]
\\[8pt]
&\phantom{(10)\quad\ell_R(\sigma_\nu^2)=}
-\tfrac{1}{2}\log\sum_j(\sigma_\nu^2+V_j)^{-1}.
\end{aligned}Maximize over \sigma_\nu^2 \ge 0 by one-dimensional search; the GLS mean (7) is recomputed at each trial value. The standard error is the inverse of the negative second derivative at the maximum, and the 68% interval is the set of \sigma_\nu^2 with \ell_R within \tfrac{1}{2} of its maximum. The interval is the inversion of the likelihood-ratio statistic (Davidson and MacKinnon, 2004, ch. 10). Equation (10) is the one-variance-component case of Swamy’s own GLS; the last term is the restricted-likelihood correction for the estimated mean.
Route C: bootstrap over firms. The firm is the resampling unit. Draw n firms with replacement from the 71 pairs (\hat\beta_j, V_j), recompute (6), and repeat B = 2{,}000 times. The standard deviation of the B replicates is the bootstrap standard error; the 16th and 84th percentiles give the 68% percentile interval (Davidson and MacKinnon, 2004, ch. 5). This route makes no distributional assumption and respects the truncation at zero, which Route A cannot.
Reporting. Report \hat\sigma_\nu \pm \mathrm{SE} in markup units (not \sigma_\nu^2), since k_j = \beta_j - 1 and the reader wants the standard deviation of the markups themselves. The delta method gives \mathrm{SE}(\hat\sigma_\nu) = \mathrm{SE}(\hat\sigma_\nu^2) / (2\hat\sigma_\nu). No p-values; no t-statistics; the 68% convention throughout.
7. Step 5: correction for common shocks
The firm regressions assume \varepsilon_{jt} uncorrelated across j. Common cost and demand shocks (the business cycle) violate this. Two consequences follow.
First, V_j is understated when the common component is persistent; Newey–West within firm does not see it. Driscoll and Kraay (1998) correct V_j for cross-sectional dependence of arbitrary form, but their estimator corrects the firm variances, not the covariance among the \hat\beta_j, which Swamy’s decomposition also ignores.
Second, if the common shock also moves C_{jt}, the firm slopes are biased. The remedy is Pesaran’s (2006) common-correlated-effects augmentation: add the cross-section averages \bar R_t and \bar C_t as regressors in each firm equation,
\quad
(11)\qquad
R_{jt}=\alpha_j+\beta_j C_{jt}+\gamma_j\bar R_t+\delta_j\bar C_t+\varepsilon_{jt},and carry the CCE slopes \hat\beta_j^{CCE} and their Newey–West variances into Steps 2–4. Report \hat\sigma_\nu^2 with and without the augmentation. A large difference between the two says the common factor is doing part of the work the book attributes to firm markups.
A Zellner (1962) SUR with FGLS would also address the contemporaneous correlation, but with n = 71 and T = 75 the 71\times71 error covariance (2,556 free elements estimated from 75 periods) is singular; it would need a one- or two-factor restriction, which is what (11) imposes in a simpler form.
8. Relation to the stacked regression
Stacking the firm equations with firm indicators d_{jt},
\begin{aligned}
&(12)\quad
R_{jt}=\sum_j\alpha_j d_{jt}+(1+\bar k)\,C_{jt}+\sum_j\delta_j d_{jt}C_{jt}+\varepsilon_{jt},
\\[8pt]
&\phantom{(12)\quad}
\sum_j\delta_j=0,
\end{aligned}reparameterizes the diagonal of K as deviations from a common mean, k_j = \bar k + \delta_j. The point estimates equal the 71 firm regressions; the constraint drops one \delta and recovers it by subtraction. What the stacked form adds is a single 71\times71 covariance for the markup vector under a panel HAC (Driscoll–Kraay), so that every pairwise contrast \delta_i - \delta_j is a Wald test with the covariance term included. Equation-by-equation estimation never yields \operatorname{Cov}(\hat\beta_i, \hat\beta_j). The stacked regression and the Swamy model answer different questions: the first tests named contrasts, the second measures dispersion. This note takes the second; the first is a one-line extension once the panel HAC routine exists.
References
Davidson, R. and J. G. MacKinnon (2004). Econometric Theory and Methods. Oxford University Press. Ch. 5 for the bootstrap of Route C, ch. 7 for the GLS mean, ch. 10 for the likelihood-ratio interval of Route B.
Driscoll, J. C. and A. C. Kraay (1998). “Consistent Covariance Matrix Estimation with Spatially Dependent Panel Data.” Review of Economics and Statistics 80(4), 549–560. Panel HAC robust to cross-sectional dependence; corrects V_j, not the covariance among the \hat\beta_j.
Hsiao, C. (2014). Analysis of Panel Data, 3rd ed. Cambridge University Press, ch. 6. Accessible treatment of Swamy’s model and its GLS.
Kalecki, M. (1971). Selected Essays on the Dynamics of the Capitalist Economy, 1933–1970. Cambridge University Press. The price equation p = (1+k)u and the markup k.
Maddala, G. S. (1977). Econometrics. McGraw-Hill, ch. 17 (“Varying Parameter Models”). Textbook statement of the random-coefficient model.
Newey, W. K. and K. D. West (1987). “A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix.” Econometrica 55(3), 703–708. The Bartlett-kernel sandwich used in Step 1.
Pesaran, M. H. (2006). “Estimation and Inference in Large Heterogeneous Panels with a Multifactor Error Structure.” Econometrica 74(4), 967–1012. Common-correlated-effects augmentation, eq. (11).
Pesaran, M. H. and R. Smith (1995). “Estimating Long-Run Relationships from Dynamic Heterogeneous Panels.” Journal of Econometrics 68(1), 79–113. The mean-group estimator.
Silva, E. (2026). U.S. Corporate Profits, 1950–2024. Springer. The 71 firm regressions of Step 1.
Swamy, P. A. V. B. (1970). “Efficient Inference in a Random Coefficient Regression Model.” Econometrica 38(2), 311–323. The estimator (6), the GLS mean, and the Q test.
Swamy, P. A. V. B. (1971). Statistical Inference in Random Coefficient Regression Models. Springer. Book-length treatment.
Weisberg, S. (2014). Applied Linear Regression, 4th ed. Wiley. Weighted and generalized least squares, used in the GLS mean.
Zellner, A. (1962). “An Efficient Method of Estimating Seemingly Unrelated Regressions and Tests for Aggregation Bias.” Journal of the American Statistical Association 57(298), 348–368.