The Just-Pope production function
Just and Pope (1978) decompose output into a deterministic mean plus a stochastic component whose magnitude itself depends on inputs:
- is the mean function, which maps inputs to expected output.
- is the risk (variance) function, which maps inputs to output variability. Negative coefficients in mean an input is risk-decreasing; positive ones mean risk-increasing.
The risk function is the headline output: it tells whether labour, water, fertiliser, etc. reduce or amplify yield uncertainty.
Why crop choice creates a selectivity problem
Producers choose among candidate crops by comparing expected profits. Whether a farm specialises in vegetables vs. cereals depends partly on observables (soil, climate, water access) and partly on unobservables correlated with productivity. Estimating the production function on the chosen sub-sample alone therefore biases the estimates. This is a textbook Heckman problem.
The Heckman correction
For each candidate crop, a probit predicts the choice indicator :
and the Inverse Mills Ratio is computed as
where and are the standard-normal pdf and cdf. Adding as a regressor in the production function absorbs the average unobserved “productivity” of the selected sample, making the remaining coefficients consistent.
The three estimation steps
| Step | What is estimated | Function |
|---|---|---|
| 1 | Probit on , then compute | estimate_selection() |
| 2 | Mean fn: with linear-quadratic | estimate_mean_function() |
| 3 | Risk fn via (Cobb-Douglas ) | estimate_risk_function() |
Step 2 fits the linear-quadratic mean function
Step 3 fits the Cobb-Douglas risk function , so each coefficient is the variance elasticity of input : a 1% rise in the input changes output variance by %. Negative → risk-decreasing input; positive → risk-increasing.
Alternative mean-function forms
The default mean function is the linear-quadratic
form used in Koundouri & Nauges (2005). Two alternatives are
available through jp_fit(..., mean_form = ...):
-
"linear_quadratic"(default): . -
"quadratic": drops the pairwise interaction terms. Useful when the sample is small relative to the number of inputs. -
"cobb_douglas": log-log specification . Requires strictly positive output and inputs. Shankar & Nelson (1999) showed that this Cobb-Douglas mean + Cobb-Douglas variance pairing is robust to input endogeneity in the JP framework.
Alternative risk-function form: exponential
Some applications need to handle zero-valued inputs
(e.g. farms that report no pesticide use), which the Cobb-Douglas form
cannot because it requires
.
jp_fit() therefore accepts
risk_form = "exponential", fitting
estimated via
.
Coefficients are now variance semi-elasticities (a
1-unit rise in input
changes log output variance by
).
This form appears in Saha, Havenner & Talpaz (1997) and the
Norwegian salmon applications of Tveterås (1999, 2000). The default
stays risk_form = "cobb_douglas" to match Koundouri &
Nauges (2005).
fit_exp <- jp_fit(..., risk_form = "exponential")Translog and other forms with multiplicative
interaction between the mean and variance functions are deliberately not
supported, because they break the additive identification structure that
Just-Pope requires (Koundouri & Nauges, 2005, footnote 5). Passing
mean_form = "translog" or
risk_form = "translog" raises an informative error.
Comparing specifications side by side
Functional form is a research-design choice, not a property of the
data. To see how sensitive the conclusion is, use
jp_compare():
cmp <- jp_compare(
data = farms, selection_var = "vegetables", ...,
mean_forms = c("linear_quadratic", "quadratic", "cobb_douglas"),
risk_forms = c("cobb_douglas", "exponential")
)
cmp$summary # adjusted R^2, IMR p-value, selection-bias flag per combo
cmp$coefficients # long-format risk-function coefs with stars per comboThe summary table makes it easy to see whether selection bias is detected under each specification and whether the risk-function conclusions agree across forms.
Why the with-vs-without comparison matters
If selectivity bias is present
(
in Step 2), the Step-3 risk-function coefficients estimated
without the Mill’s ratio are biased. Koundouri &
Nauges’ main finding is that ignoring selectivity can flip the sign or
kill the significance of risk-function coefficients, exactly the gap
that print(fit) and plot(fit) make visible
side by side. The Mill’s ratio coefficient
in Step 2 is itself a direct test for selection bias: if it’s
significant, the corrected column is the one you should report.
Standard errors
Step 3 SEs come from a 500-replication nonparametric bootstrap that
resamples the full pipeline (probit, IMR, mean
function, residuals, risk function) on every replication, so upstream
parameter uncertainty propagates correctly. Set
bootstrap_reps lower for quicker runs.
References
- Heckman, J. (1979). Sample selection bias as a specification error. Econometrica, 47, 153-161.
- Just, R. E. and Pope, R. D. (1978). Stochastic representation of production functions and econometric implications. Journal of Econometrics, 7, 67-86.
- Koundouri, P. and Nauges, C. (2005). On Production Function Estimation with Selectivity and Risk Considerations. Journal of Agricultural and Resource Economics, 30(3), 597-608.
- Saha, A., Havenner, A. and Talpaz, H. (1997). Stochastic production function estimation: small sample properties of ML versus FGLS. Applied Economics, 29(4), 459-469.
- Shankar, B. and Nelson, C. H. (1999). Joint risk preference-technology estimation with a primal system: comment. American Journal of Agricultural Economics, 81(1), 241-244.
- Tveterås, R. (1999). Production risk and productivity growth: some findings for Norwegian salmon aquaculture. Journal of Productivity Analysis, 12(2), 161-179.
- Tveterås, R. (2000). Flexible panel data models for risky production technologies with an application to salmon aquaculture. Econometric Reviews, 19(3), 367-389.