LLM-Derived Preference Judgments Are Not Self-Consistent
Organizations: Cornell University · Georgia Institute of Technology
Abstract
Agents increasingly interpret a person's natural-language preferences by querying an LLM for numerical preference judgments, e.g., by asking how much the person would be willing to pay for an item. A growing body of work estimates a utility function from these judgments and then chooses actions based on their estimated utility. This pipeline assumes the judgments are approximately self-consistent: that a single utility function can reproduce them. But are they? To study this question, we measure the self-consistency of cardinal LLM preference judgments. For example, the difference in stated willingness-to-pay between two items should match the stated payment that makes a person indifferent to exchanging them. We develop statistical tests and interpretable measures of how far observed responses depart from the best-fitting self-consistent utility function. Experiments with flight, apartment, and hotel examples across six LLMs reveal large persistent inconsistencies. This suggests that LLM-derived preference judgments cannot be faithfully summarized by a single utility function.
Figures & tables
| Domain | Audited items | Audited offers | Utts. | Pairs/ utt. | Offer-pair queries | Item queries | All queries |
|---|---|---|---|---|---|---|---|
| Flights | 19 | 21 | 3 | 6 | 90 | 24 | 114 |
| Apartments | 21 | 21 | 3 | 6 | 90 | 27 | 117 |
| Hotels | 3 | 9 | 3 | 4 | 60 | 9 | 69 |
| Total | 43 | 51 | 9 | 16 | 240 | 60 | 300 |
| Model | Flights $ (%) | Apartments $ (%) | Hotels $ (%) |
|---|---|---|---|
| Claude Opus 4.8 | 16.9 (4.6%) | 38.3 (1.6%) | 109.2 (19.9%) |
| Gemini 3.5 Flash | 7.7 (2.1%) | 47.5 (2.0%) | 104.0 (18.9%) |
| GPT-5.5 | 14.6 (4.0%) | 51.7 (2.2%) | 105.7 (19.2%) |
| GPT-OSS 120B | 10.9 (3.0%) | 73.9 (3.2%) | 127.6 (23.2%) |
| Llama 3.3 70B | 18.1 (4.9%) | 142.3 (6.1%) | 198.0 (36.0%) |
| Qwen 3.6 27B | 18.4 (5.0%) | 65.3 (2.8%) | 247.2 (44.9%) |
| P1 ( ) | P2 ( ) | |||
|---|---|---|---|---|
| Model | Rev. | Reject. | Rev. | Reject. |
| Claude Opus 4.8 | 4 (4.2%) | 66 (68.8%) | 6 (12.5%) | 41 (85.4%) |
| Gemini 3.5 Flash | 1 (1.0%) | 51 (53.1%) | 4 (8.3%) | 37 (77.1%) |
| GPT-5.5 | 0 (0.0%) | 37 (38.5%) | 1 (2.1%) | 40 (83.3%) |
| GPT-OSS 120B | 0 (0.0%) | 38 (39.6%) | 2 (4.2%) | 31 (64.6%) |
| Llama 3.3 70B | 2 (2.1%) | 53 (55.2%) | 5 (10.4%) | 42 (87.5%) |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Flights | Apartments | Hotels | |
| Audited items | 19 | 21 | 3 |
| Audited offers | 21 | 21 | 9 ( ) |
| Numeraire | price | rent | price |
| Item features | travel time (continuous), airline (categorical) | area, commute (continuous), bedrooms (ordinal), building type (categorical) | rating (ordinal) |
| Audited utterances | 1–3 | 1–3 | 1–3 |
| Source offers | 3 named | 3 named | selected grid offers |
| Requested model string | Service/API | Collected | Temp./top- | Seed | Token limit | Reasoning/thinking |
|---|---|---|---|---|---|---|
| claude-opus-4-8 | Anthropic Messages | Jul. 27 | omitted/omitted | omitted (unsupported) | 2,000 output | adaptive; no control sent |
| gemini-3.5-flash | Google Generative AI | Jul. 27 | 1/1 | – requested | 2,000 output | no control sent |
| gpt-5.5 | OpenAI Chat Completions | Jul. 27 | omitted/1 | – requested | 8,000 completion | no effort setting; hidden tokens share limit |
| openai/gpt-oss-120b | Groq Chat Completions | Jul. 27 | 1/1 | – | 2,000 output | no control sent |
| llama-3.3-70b-versatile | Groq Chat Completions | Jul. 28 | 1/1 | – | 2,000 output | no control sent |
| qwen/qwen3.6-27b | Groq Chat Completions | Jul. 28 | 1/1 | – | 2,000 output | effort none ; format hidden |
| Model | Calls | Finite parse | Number-only | |Y|\geq\10{,}000$ |
|---|---|---|---|---|
| Claude Opus 4.8 | 4500 | 4500 (100.0%) | 4500 (100.0%) | 0 |
| Gemini 3.5 Flash | 4500 | 4500 (100.0%) | 4498 (99.96%) | 0 |
| GPT-5.5 | 4500 | 4500 (100.0%) | 4500 (100.0%) | 0 |
| GPT-OSS 120B | 4500 | 4499 (99.98%) | 4499 (99.98%) | 0 |
| Llama 3.3 70B | 4500 | 4500 (100.0%) | 4500 (100.0%) | 0 |
| Qwen 3.6 27B | 4500 | 4500 (100.0%) | 4500 (100.0%) | 0 |
| Model | Mean [95% CI] | ||
|---|---|---|---|
| Claude Opus 4.8 | 1 | 4 | 0.0 [0.0, 0.0] |
| Claude Opus 4.8 | 2 | 4 | 5.7 [1.7, 10.1] |
| Claude Opus 4.8 | 4 | 4 | 10.3 [3.0, 18.4] |
| Claude Opus 4.8 | 8 | 4 | 16.5 [2.1, 35.2] |
| Claude Opus 4.8 | 16 | 4 | 17.1 [3.2, 32.8] |
| Gemini 3.5 Flash | 1 | 4 | 0.0 [0.0, 0.0] |
| Model | Domain | Supported reversal | Residual CI excludes 0 | 25%-price lower bound | |
|---|---|---|---|---|---|
| Claude Opus 4.8 | flights | 18 | 5 (27.8%) | 16 (88.9%) | 2 (11.1%) |
| Claude Opus 4.8 | apartments | 18 | 1 (5.6%) | 14 (77.8%) | 0 (0.0%) |
| Claude Opus 4.8 | hotels | 12 | 0 (0.0%) | 11 (91.7%) | 7 (58.3%) |
| Gemini 3.5 Flash | flights | 18 | 2 (11.1%) | 13 (72.2%) | 0 (0.0%) |
| Gemini 3.5 Flash | apartments | 18 | 2 (11.1%) | 14 (77.8%) | 0 (0.0%) |
| Gemini 3.5 Flash | hotels | 12 | 0 (0.0%) | 10 (83.3%) | 2 (16.7%) |
| Model | Domain | Utterance | RMSE ($) | RMSE (%) | Boot. |
|---|---|---|---|---|---|
| Claude Opus 4.8 | apartments | 1 | 28.2 | 1.2 | |
| Claude Opus 4.8 | apartments | 2 | 52.3 | 2.2 | |
| Claude Opus 4.8 | apartments | 3 | 34.5 | 1.5 | |
| Claude Opus 4.8 | flights | 1 | 10.7 | 2.9 | |
| Claude Opus 4.8 | flights | 2 | 26.5 | 7.2 | |
| Claude Opus 4.8 | flights | 3 | 13.5 | 3.7 |
| Model | Domain | Utterance | RMSE ($) | RMSE (%) | Boot. |
|---|---|---|---|---|---|
| GPT-OSS 120B | apartments | 1 | 40.3 | 1.7 | |
| GPT-OSS 120B | apartments | 2 | 111.5 | 4.8 | |
| GPT-OSS 120B | apartments | 3 | 69.7 | 3.0 | |
| GPT-OSS 120B | flights | 1 | 9.5 | 2.6 | |
| GPT-OSS 120B | flights | 2 | 12.1 | 3.3 | |
| GPT-OSS 120B | flights | 3 | 11.1 | 3.0 |