PolicyEngine

Elasticity of substitution between capital and labor

Macro and trade subpanel · pooled centers and 90 percent intervals from 15 independent runs per model.

production.capital_labor_substitution

What the models were asked

Percent change in the capital-labor ratio from a 1 percent change in the marginal rate of technical substitution between capital and labor in a CES production function.

In standard notation:
σKL = ∂ ln(K/L) / ∂ ln MRTSKL (CES)
(shorthand for display; the models received only the prose definition above)
Population:
U.S. aggregate private-sector production
Interpretation:
Long-run CES elasticity of substitution between capital and labor in aggregate private-sector production
The exact prompt, verbatim
Answer from your current memory and background knowledge only.
Do not use tools, files, the web, code, or external resources.
Do not try to reconstruct a literature review or search for a consensus estimate.
Report the belief you currently endorse.

Quantity of interest:
- Name: Elasticity of substitution between capital and labor
- Definition: Percent change in the capital-labor ratio from a 1 percent change in the marginal rate of technical substitution between capital and labor in a CES production function.
- Target interpretation: Long-run CES elasticity of substitution between capital and labor in aggregate private-sector production
- Population/context: U.S. aggregate private-sector production
- Units: elasticity

Task:
1. Use exactly the target interpretation above. In `interpretation`, restate it briefly.
2. Give your subjective quantiles p05, p25, p50, p75, and p95 for this quantity.
3. Set `point_estimate` equal to `p50`.
4. Make the quantiles weakly increasing and numerically coherent.
5. In `citations`, list up to 3 source anchors from memory that influenced your belief. These are recall anchors only. If none come to mind confidently, return `[]`.
6. Keep `reasoning_summary` brief and substantive.

Return valid JSON only with exactly this shape:
{
  "interpretation": "...",
  "point_estimate": <number>,
  "quantiles": {
    "p05": <number>,
    "p25": <number>,
    "p50": <number>,
    "p75": <number>,
    "p95": <number>
  },
  "citations": ["..."],
  "reasoning_summary": "..."
}

Read from the archived request logs; all 29 models received this identical text. How the JSON response is enforced varies by provider — see the Methods harness table and the Process page.

29 of 29 models
Qwen 3.7 Max
Claude Opus 4.7
Claude Opus 4.8
DeepSeek V4 Pro
Claude Sonnet 5
Gemini 3.1 Flash-Lite
Grok 4.5
Claude Fable 5
Claude Haiku 4.5
MiniMax M3
Kimi K3
Gemini 3.6 Flash
GPT-5.6 Terra
Gemini 3 Flash
Gemini 3.1 Pro
GPT-5.6 Sol
GLM-5.2
GPT-5.5
Claude Sonnet 4.6
Grok 4.3
Grok 4.1 Fast
Claude Opus 5
GPT-5.6 Luna
Kimi K2.6
Gemini 3.5 Flash
GPT-5.4 nano
GPT-5.4
Grok 4.20
GPT-5.4 mini

Dot: pooled center (mean of run point estimates). Bar: pooled 90 percent mixture interval. Faint underlay: each run's elicited p05–p95. Models sorted by center; color = provider family. Filters change which models render; the axis stays fixed to the full panel.

Alternative estimators (REML and Bayesian hierarchical)
ModelPooled 90%REML predictive 90%Bayes predictive 90%
qwen-3.7-max[0.21, 1.20][0.28, 1.25][0.39, 0.91]
claude-opus-4.7[0.28, 1.19][0.31, 1.11][0.42, 0.85]
claude-opus-4.8[0.30, 1.10][0.32, 1.11][0.42, 0.85]
deepseek-v4-pro[0.18, 1.79][0.24, 1.49][0.37, 1.03]
claude-sonnet-5[0.30, 1.04][0.35, 1.07][0.45, 0.85]
gemini-3.1-flash-lite-preview[0.28, 1.19][0.34, 1.14][0.45, 0.89]
grok-4.5[0.26, 1.39][0.31, 1.26][0.42, 0.94]
claude-fable-5[0.31, 1.30][0.33, 1.19][0.44, 0.91]
claude-haiku-4.5[0.37, 1.19][0.40, 1.03][0.49, 0.84]
minimax-m3[0.26, 1.26][0.35, 1.17][0.45, 0.90]
kimi-k3[0.29, 1.39][0.33, 1.29][0.44, 0.97]
gemini-3.6-flash[0.30, 1.15][0.35, 1.21][0.47, 0.93]
gpt-5.6-terra[0.31, 1.29][0.36, 1.23][0.46, 0.96]
gemini-3-flash-preview[0.40, 1.29][0.41, 1.12][0.51, 0.91]
gemini-3.1-pro-preview[0.33, 1.25][0.39, 1.20][0.50, 0.95]
gpt-5.6-sol[0.27, 1.47][0.32, 1.44][0.45, 1.05]
glm-5.2[0.30, 1.50][0.32, 1.43][0.45, 1.05]
gpt-5.5[0.30, 1.38][0.36, 1.37][0.48, 1.04]
claude-sonnet-4.6[0.30, 1.29][0.38, 1.32][0.50, 1.01]
grok-4.3[0.30, 1.50][0.34, 1.44][0.47, 1.07]
grok-4.1-fast[0.31, 1.50][0.36, 1.39][0.49, 1.05]
claude-opus-5[0.31, 1.40][0.36, 1.42][0.49, 1.06]
gpt-5.6-luna[0.26, 1.98][0.30, 1.74][0.44, 1.21]
kimi-k2.6[0.25, 1.97][0.32, 1.67][0.46, 1.21]
gemini-3.5-flash[0.36, 1.30][0.43, 1.32][0.54, 1.07]
gpt-5.4-nano[0.31, 1.58][0.40, 1.47][0.53, 1.15]
gpt-5.4[0.40, 1.39][0.44, 1.41][0.57, 1.10]
grok-4.20[0.40, 1.74][0.42, 1.49][0.56, 1.14]
gpt-5.4-mini[0.41, 1.77][0.48, 1.57][0.63, 1.22]

The paper's headline object is the pooled mixture interval; the alternatives are robustness estimators (paper, Appendix A2).

Run-level responses

Each model answered 15 independent times. Pick a model to read every run: its elicited 90 percent interval, point estimate, and stated reasoning.

435 successful runs · elicited April and July 2026 · v4 prompts · 15 runs per model-quantity cell. Code · Raw responses · Paper (PDF)

Result directories: qwen-3.7-max-elasticities-batch15, claude-opus-4.7-elasticities-batch15, claude-opus-4.8-elasticities-batch15, and 26 more.

Code and dataElicited April and July 2026 · 29 models · v4 prompts