PolicyEngine

TFP persistence

Calibration parameters subpanel · pooled centers and 90 percent intervals from 15 independent runs per model.

macro.tfp_persistence.ar1

What the models were asked

AR(1) coefficient on total factor productivity in a log-linear macro process.

In standard notation:
ρ in ln At = ρ ln At−1 + εt
(shorthand for display; the models received only the prose definition above)
Population:
U.S. aggregate TFP process
Interpretation:
Quarterly or annual persistence coefficient, explicitly stating the frequency
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: TFP persistence
- Definition: AR(1) coefficient on total factor productivity in a log-linear macro process.
- Target interpretation: Quarterly or annual persistence coefficient, explicitly stating the frequency
- Population/context: U.S. aggregate TFP process
- Units: coefficient

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

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%
gpt-5.4-nano[0.47, 0.98][0.56, 0.95][0.57, 0.95]
minimax-m3[0.41, 0.99][0.71, 0.98][0.73, 0.98]
claude-haiku-4.5[0.67, 0.98][0.68, 0.97][0.79, 0.95]
qwen-3.7-max[0.60, 0.99][0.47, 1.00][0.66, 0.99]
gpt-5.4-mini[0.74, 0.99][0.75, 0.99][0.85, 0.97]
grok-4.20[0.76, 0.99][0.78, 0.98][0.87, 0.97]
gemini-3.1-flash-lite-preview[0.75, 0.99][0.15, 1.00][0.57, 1.00]
grok-4.1-fast[0.72, 0.99][0.84, 0.98][0.89, 0.97]
grok-4.3[0.79, 0.99][0.81, 0.99][0.89, 0.97]
kimi-k3[0.76, 0.99][0.80, 0.99][0.88, 0.98]
claude-opus-4.7[0.81, 0.99][0.17, 1.00][0.62, 1.00]
claude-sonnet-4.6[0.85, 0.99][0.83, 0.99][0.90, 0.98]
gemini-3.1-pro-preview[0.85, 0.99][0.83, 0.99][0.90, 0.98]
gemini-3-flash-preview[0.85, 0.99][0.83, 0.99][0.90, 0.98]
claude-fable-5[0.88, 0.99][0.85, 0.98][0.91, 0.97]
claude-opus-4.8[0.80, 1.00][0.00, 1.00][0.16, 1.00]
claude-sonnet-5[0.85, 0.99][0.16, 1.00][0.61, 1.00]
grok-4.5[0.85, 0.99][0.83, 0.99][0.90, 0.98]
claude-opus-5[0.86, 0.99][0.83, 0.99][0.90, 0.98]
glm-5.2[0.69, 0.99][0.84, 0.99][0.87, 0.99]
deepseek-v4-pro[0.85, 0.99][0.85, 0.99][0.91, 0.98]
kimi-k2.6[0.81, 1.00][0.74, 0.99][0.87, 0.98]
gpt-5.6-sol[0.82, 0.99][0.29, 1.00][0.71, 0.99]
gpt-5.5[0.85, 0.99][0.81, 0.99][0.89, 0.98]
gpt-5.4[0.88, 1.00][0.53, 1.00][0.80, 0.99]
gemini-3.5-flash[0.88, 0.99][0.84, 0.99][0.90, 0.98]
gpt-5.6-luna[0.75, 1.00][0.09, 1.00][0.54, 1.00]
gpt-5.6-terra[0.82, 0.99][0.82, 0.99][0.90, 0.98]
gemini-3.6-flash[0.88, 0.99][0.84, 0.99][0.91, 0.98]

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: gpt-5.4-nano-elasticities-batch15, minimax-m3-elasticities-batch15, claude-haiku-4.5-elasticities-batch15, and 26 more.

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