Shopping by algorithm: How agentic AI deploys human heuristics as a surrogate consumer
Organizations: Desautels Faculty of Management, McGill University, Montreal, Quebec, Canada
Abstract
Consumers increasingly delegate purchasing decisions to Large Language Models (LLMs) acting as surrogate consumers. Using "Tool-Lab," an adaptation of information-board process tracing that places product attributes behind costly tool calls, we examine how marketing pricing cues (i.e., just-below pricing and promotional framing) influence AI shopping agents. Across eight commercially deployed LLMs from three providers, we trace pre-choice information acquisition. Under zero cost, pricing cues rarely mislead. Imposing acquisition costs under a vague goal prompt leads LLMs to omit diagnostic attributes required to compute unit price and choose suboptimal choices resembling human heuristics. Relative to a specific goal prompt that mainly preserves diagnostic search and choice optimality, a vague goal prompt under constraints creates a search-mediated vulnerability. This research demonstrates that marketing heuristics in delegated AI shopping are governed by storefront information architecture, not necessarily immutable LLM flaws.
Figures & tables
| Goal Prompt | Cost | Cents | Weight | Dollars | Diagnostic | Choice Optimality |
|---|---|---|---|---|---|---|
| Specific | $0 | 2.00 (0.00) | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 0.94 (0.16) |
| Specific | $10 | 1.72 (0.59) | 2.00 (0.00) | 2.00 (0.00) | 5.72 (0.59) | 0.83 (0.30) |
| Vague | $0 | 1.97 (0.09) | 1.90 (0.18) | 2.00 (0.00) | 5.86 (0.24) | 0.89 (0.19) |
| Vague | $10 | 0.77 (0.78) | 1.10 (0.64) | 1.94 (0.09) | 3.81 (1.30) | 0.29 (0.28) |
| Study 1 | Study 2 | |||||
|---|---|---|---|---|---|---|
| Estimate | SD | 95% CI | Estimate | SD | 95% CI | |
| Stage 1: Diagnostic acquisition | ||||||
| Acquisition cost ( ) | -0.270 | 0.217 | [-0.698, 0.161] | -0.674 | 0.462 | [-1.582, 0.260] |
| Vague goal prompt ( ) | -0.135 | 0.117 | [-0.371, 0.095] | 0.015 | 0.072 | [-0.125, 0.156] |
| Acquisition cost Vague goal prompt ( ) | -1.727* | 0.467 | [-2.641, -0.765] | -2.902* | 1.121 | [-5.027, -0.539] |
| Acquisition cost under vague goal prompt ( ) | -1.997* | 0.487 | [-2.952, -1.003] | -3.576* | 1.218 | [-5.925, -1.062] |
| Goal Prompt | Cost | List Price | Discount | Weight | Diagnostic | Choice Optimality |
|---|---|---|---|---|---|---|
| Specific | $0 | 3.00 (0.00) | 2.98 (0.03) | 3.00 (0.00) | 8.98 (0.03) | 0.90 (0.25) |
| Specific | $50 | 2.90 (0.25) | 2.50 (0.59) | 2.86 (0.35) | 8.26 (1.03) | 0.88 (0.23) |
| Vague | $0 | 3.00 (0.00) | 3.00 (0.00) | 3.00 (0.00) | 9.00 (0.00) | 0.86 (0.31) |
| Vague | $50 | 1.94 (1.24) | 1.58 (1.23) | 1.31 (1.14) | 4.82 (3.49) | 0.48 (0.29) |
| Normative Benchmark | Flash Lite | Flash | Pro | Sonnet | Opus | Luna | Terra | Sol | |
|---|---|---|---|---|---|---|---|---|---|
| Weight (oz) | 2.78*** (0.21) | 1.51*** (0.09) | 1.15*** (0.07) | 2.04*** (0.13) | 2.61*** (0.19) | 1.06*** (0.06) | 2.60*** (0.19) | 2.78*** (0.21) | 2.78*** (0.21) |
| Dollars ($) | -4.28*** (0.31) | -2.14*** (0.13) | -1.69*** (0.10) | -3.11*** (0.20) | -3.99*** (0.28) | -1.54*** (0.09) | -4.00*** (0.29) | -4.29*** (0.31) | -4.29*** (0.31) |
| Cents ($) | -4.74*** (0.51) | -1.81*** (0.30) | -0.92** (0.31) | -3.18*** (0.37) | -4.45*** (0.48) | -1.25*** (0.29) | -4.45*** (0.48) | -4.75*** (0.51) | -4.75*** (0.51) |
| Brand (Maxwell House) | -0.24 (0.23) | -0.18 (0.18) | -0.56** (0.21) | -0.30 (0.20) | -0.09 (0.22) | -0.46* (0.20) | -0.21 (0.22) | -0.24 (0.23) | -0.24 (0.23) |
| Brand (McCafé) | -0.35 (0.22) | 0.17 (0.18) | 0.95*** (0.19) | -0.03 (0.20) | -0.19 (0.21) | 2.10*** (0.19) | -0.26 (0.21) | -0.37 (0.22) | -0.37 (0.22) |
| Brand (Starbucks) | -0.12 (0.22) | 0.91*** (0.18) | 4.44*** (0.28) | 1.03*** (0.20) | 0.26 (0.21) | 3.50*** (0.23) | -0.08 (0.21) | -0.10 (0.22) | -0.10 (0.22) |
| LLM | \beta_{Dollars(\)}$ | \beta_{Cents(\)}$ | \beta_{Cents(\)}/\beta_{Dollars($)}$ | 95% CI |
|---|---|---|---|---|
| Normative Benchmark | -4.28 | -4.74 | 1.11 | [0.94, 1.27] |
| Flash Lite | -2.14 | -1.81 | 0.84 | [0.58, 1.11] |
| Flash | -1.69 | -0.92 | 0.55 | [0.19, 0.90] |
| Pro | -3.11 | -3.18 | 1.02 | [0.83, 1.22] |
| Sonnet | -3.99 | -4.45 | 1.12 | [0.94, 1.28] |
| Opus | -1.54 | -1.25 | 0.81 | [0.45, 1.17] |
| Prompt goal | Prompt text |
|---|---|
| Vague | You have been delegated by a consumer to make purchase decision. Your goal is to choose an instant coffee for the user. After you choose a coffee, the user would purchase 5 bags of your chosen coffee. You can open the cells to get information about the product using the inspect_cell tool, or you can stop searching and submit your choice with the submit_choice tool. Every time you use the inspect_cell tool, the user loses {inspect_tool_cost}. submit_choice has no cost. You need to find the best deal on instant coffee. Which coffee would you choose for the user? |
| Specific | You have been delegated by a consumer to make purchase decision. Your goal is to choose an instant coffee for the user. After you choose a coffee, the user would purchase 5 bags of your chosen coffee. You can open the cells to get information about the product using the inspect_cell tool, or you can stop searching and submit your choice with the submit_choice tool. Every time you use the inspect_cell tool, the user loses {inspect_tool_cost}. submit_choice has no cost. You need to find the coffee with the lowest price per ounce . Which coffee would you choose for the user? |
| LLM | Cost | Vague | Specific | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Cents | Weight | Diagnostic | Optimality | Cents | Weight | Diagnostic | Optimality | ||
| Flash Lite | $0 | 2.00 (0.00) | 1.54 (0.85) | 5.54 (0.85) | 0.47 (0.50) | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 0.54 (0.50) |
| Flash Lite | $10 | 2.00 (0.00) | 1.10 (1.00) | 5.10 (1.00) | 0.35 (0.48) | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 0.75 (0.44) |
| Flash | $0 | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 1.00 (0.00) | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 1.00 (0.00) |
| Flash | $10 | 0.20 (0.60) | 0.96 (0.96) | 3.01 (1.45) | 0.16 (0.37) | 1.58 (0.82) | 2.00 (0.00) | 5.58 (0.82) | 0.79 (0.41) |
| Pro | $0 | 1.75 (0.64) | 1.68 (0.74) | 5.43 (1.34) | 0.76 (0.43) | 2.00 (0.00) | 2.00 (0.00) | 6.00 (0.00) | 1.00 (0.00) |
| LLM | (Cost: Unit price) | (Cost Vague) | (Diagnostic acquistion) | (Direct effect) |
|---|---|---|---|---|
| Flash Lite | 0.005 [-0.149, 0.159] | -0.479 [-0.729, -0.225]* | 0.297 [0.265, 0.328]* | 0.106 [0.062, 0.151]* |
| Flash | -0.423 [-0.573, -0.270]* | -2.548 [-2.790, -2.305]* | 0.210 [0.191, 0.230]* | -0.166 [-0.219, -0.113]* |
| Pro | -0.023 [-0.175, 0.131] | -3.233 [-3.482, -2.983]* | 0.224 [0.206, 0.241]* | 0.013 [-0.038, 0.065] |
| Luna | -0.017 [-0.170, 0.132] | -0.163 [-0.402, 0.085] | 0.385 [0.321, 0.451]* | -0.022 [-0.066, 0.022] |
| Sol | -0.012 [-0.166, 0.138] | -2.694 [-2.937, -2.457]* | 0.248 [0.228, 0.267]* | -0.072 [-0.124, -0.022]* |
| Terra | -0.059 [-0.211, 0.090] | -3.068 [-3.309, -2.827]* | 0.179 [0.161, 0.197]* | -0.090 [-0.143, -0.038]* |
| LLM | Indirect (Unit price) | Indirect (Vague prompt) | Index of Moderated Mediation (IMM) | Total effect (Vague) |
|---|---|---|---|---|
| Flash Lite | 0.001 [-0.044, 0.048] | -0.141 [-0.201, -0.081]* | -0.142 [-0.218, -0.066]* | -0.035 [-0.108, 0.038] |
| Flash | -0.089 [-0.122, -0.056]* | -0.624 [-0.695, -0.556]* | -0.535 [-0.607, -0.467]* | -0.791 [-0.855, -0.727]* |
| Pro | -0.005 [-0.040, 0.029] | -0.730 [-0.802, -0.657]* | -0.725 [-0.805, -0.646]* | -0.716 [-0.785, -0.649]* |
| Luna | -0.006 [-0.066, 0.051] | -0.069 [-0.145, 0.005] | -0.063 [-0.158, 0.033] | -0.091 [-0.176, -0.005]* |
| Terra | -0.011 [-0.038, 0.016] | -0.561 [-0.626, -0.494]* | -0.550 [-0.622, -0.481]* | -0.650 [-0.712, -0.589]* |
| Sol | -0.003 [-0.041, 0.035] | -0.671 [-0.743, -0.601]* | -0.668 [-0.750, -0.590]* | -0.742 [-0.813, -0.674]* |
| Variant | Prompt text |
|---|---|
| Original | You have been delegated by a consumer to make purchase decision. Your goal is to choose an instant coffee for the user. After you choose a coffee, the user would purchase 5 bags of your chosen coffee. You can open the cells to get information about the product using the inspect_cell tool, or you can stop searching and submit your choice with the submit_choice tool. Every time you use the inspect_cell tool, the user loses {inspect_tool_cost}. submit_choice has no cost. {goal_prompt} Which coffee would you choose for the user? |
| Sentence reorder | You have been delegated by a consumer to make purchase decision. Your goal is to choose an instant coffee for the user. {goal_prompt} After you choose a coffee, the user would purchase 5 bags of your chosen coffee. You can open the cells to get information about the product using the inspect_cell tool, or you can stop searching and submit your choice with the submit_choice tool. Every time you use the inspect_cell tool, the user loses {inspect_tool_cost}. submit_choice has no cost. Which coffee would you choose for the user? |
| Cost paraphrase | You have been delegated by a consumer to make purchase decision. Your goal is to choose an instant coffee for the user. After you choose a coffee, the user would purchase 5 bags of your chosen coffee. You can open the cells to get information about the product using the inspect_cell tool, or you can stop searching and submit your choice with the submit_choice tool. Each inspect_cell costs the user {inspect_tool_cost}. submit_choice has no cost. {goal_prompt} Which coffee would you choose for the user? |
| LLM | Prompt variation | a | b | c | IMM d |
|---|---|---|---|---|---|
| Flash Lite | Original | -0.441* [-0.698, -0.186] | -0.440* [-0.620, -0.256] | 0.302* [0.236, 0.367] | -0.133* [-0.219, -0.054] |
| Sentence reorder | -0.120 [-0.375, 0.140] | -0.120 [-0.302, 0.066] | 0.241* [0.181, 0.299] | -0.029 [-0.093, 0.034] | |
| Cost paraphrase | -0.519* [-0.750, -0.289] | -0.519* [-0.683, -0.359] | 0.269* [0.197, 0.343] | -0.140* [-0.218, -0.072] | |
| Flash | Original | -2.56* [-2.89, -2.24] | -2.99* [-3.22, -2.75] | 0.210* [0.189, 0.232] | -0.538* [-0.630, -0.452] |
| Sentence reorder | -2.39* [-2.76, -2.00] | -2.97* [-3.24, -2.70] | 0.205* [0.185, 0.224] | -0.488* [-0.582, -0.399] | |
| Cost paraphrase | -2.06* [-2.34, -1.78] | -2.36* [-2.56, -2.16] | 0.278* [0.257, 0.298] | -0.572* [-0.665, -0.483] |
| LLM | Cost | Specific | Vague | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Price | Weight | Diagnostic | Optimality | Price | Weight | Diagnostic | Optimality | ||
| Flash Lite | $0 | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) | 2.00 (0.00) | 1.28 (0.96) | 3.28 (0.96) | 0.63 (0.49) |
| Flash Lite | $10 | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) | 2.00 (0.00) | 0.56 (0.90) | 2.56 (0.90) | 0.28 (0.45) |
| Flash | $0 | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) |
| Flash | $10 | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) | 1.96 (0.20) | 1.71 (0.69) | 3.67 (0.79) | 0.84 (0.37) |
| Pro | $0 | 2.00 (0.00) | 2.00 (0.00) | 4.00 (0.00) | 1.00 (0.00) | 2.00 (0.00) | 1.98 (0.20) | 3.98 (0.20) | 0.99 (0.10) |
| LLM | Specific | Vague | ||||
|---|---|---|---|---|---|---|
| Price | Weight | Optimality | Price | Weight | Optimality | |
| Flash Lite | 0.00 | 0.00 | 0.00 | 0.00 | -0.72 | -0.35 |
| Flash | 0.00 | 0.00 | 0.00 | -0.04 | -0.29 | -0.16 |
| Pro | 0.00 | 0.00 | 0.00 | -0.02 | -1.30 | -0.64 |
| LLM | a | b | c | IMM d |
|---|---|---|---|---|
| Flash Lite | -0.721* [-0.981, -0.462] | -0.720* [-0.902, -0.536] | 0.495* [0.488, 0.503] | -0.357* [-0.486, -0.228] |
| Flash | -0.332* [-0.489, -0.175] | -0.331* [-0.441, -0.221] | 0.448* [0.435, 0.461] | -0.149* [-0.219, -0.078] |
| Pro | -1.320* [-1.510, -1.120] | -1.320* [-1.460, -1.180] | 0.472* [0.459, 0.485] | -0.622* [-0.716, -0.526] |
| LLM | Bags | Cents | Weight | Dollars | Diagnostic | Non-diagnostic | Optimality |
|---|---|---|---|---|---|---|---|
| Flash Lite | 1 | 1.95 | 1.82 | 2.00 | 5.77 | 0.04 | 0.62 |
| Flash Lite | 5 | 2.00 | 1.54 | 2.00 | 5.54 | 0.06 | 0.47 |
| Flash Lite | 50 | 2.00 | 1.42 | 2.00 | 5.42 | 0.06 | 0.50 |
| Flash Lite | 250 | 2.00 | 1.30 | 2.00 | 5.30 | 0.04 | 0.37 |
| Flash | 1 | 2.00 | 2.00 | 2.00 | 6.00 | 7.68 | 1.00 |
| Flash | 5 | 2.00 | 2.00 | 2.00 | 6.00 | 7.62 | 1.00 |
| LLM | Bags | price_per_weight | price | others |
|---|---|---|---|---|
| Flash | 1 | 0.735 | 0.041 | 0.224 |
| Flash | 5 | 0.670 | 0.040 | 0.290 |
| Flash | 50 | 0.710 | 0.030 | 0.260 |
| Flash | 250 | 0.646 | 0.091 | 0.263 |
| Pro | 1 | 0.410 | 0.370 | 0.220 |
| Pro | 5 | 0.250 | 0.520 | 0.230 |
| Bags | Diagnostic | 95% CI | Choice Optimality | 95% CI | ||
|---|---|---|---|---|---|---|
| 1 | 37 | 41 | -1.22* | [-1.78, -0.70] | -0.54* | [-0.70, -0.38] |
| 5 | 52 | 25 | -1.10* | [-1.58, -0.65] | -0.40* | [-0.56, -0.25] |
| 50 | 85 | 4 | -1.84* | [-2.21, -1.47] | -0.69* | [-0.79, -0.60] |
| 250 | 85 | 2 | -2.09* | [-2.46, -1.73] | -0.23 | [-0.79, 0.33] |
| Pooled | 259 | 72 | -1.59* | [-1.80, -1.37] | -0.47* | [-0.64, -0.29] |
| Normative Benchmark | Flash Lite | Flash | Pro | Sonnet | Opus | Luna | Terra | Sol | |
|---|---|---|---|---|---|---|---|---|---|
| Weight (oz) | 1.79*** (0.11) | 0.78*** (0.04) | 1.12*** (0.06) | 1.69*** (0.10) | 1.61*** (0.10) | 0.97*** (0.05) | 1.76*** (0.11) | 1.77*** (0.11) | 1.79*** (0.11) |
| List Price | -3.08*** (0.19) | -1.06*** (0.05) | -1.86*** (0.10) | -2.90*** (0.17) | -2.73*** (0.16) | -1.51*** (0.08) | -3.03*** (0.18) | -3.04*** (0.18) | -3.08*** (0.19) |
| Discount Amount | 3.08*** (0.19) | 0.76*** (0.05) | 1.91*** (0.10) | 2.91*** (0.17) | 2.75*** (0.16) | 1.74*** (0.09) | 3.01*** (0.18) | 3.05*** (0.18) | 3.08*** (0.19) |
| Brand (Maxwell House) | -0.14 (0.18) | 0.17 (0.14) | -0.07 (0.18) | -0.16 (0.18) | -0.18 (0.18) | -0.70*** (0.18) | -0.11 (0.18) | -0.17 (0.18) | -0.14 (0.18) |
| Brand (McCafé) | -0.07 (0.18) | 0.41** (0.13) | 0.69*** (0.17) | -0.02 (0.18) | -0.03 (0.17) | 1.25*** (0.16) | -0.05 (0.18) | -0.08 (0.18) | -0.09 (0.18) |
| Brand (Starbucks) | 0.11 (0.18) | 0.96*** (0.13) | 2.99*** (0.21) | 0.42* (0.18) | 0.13 (0.17) | 2.91*** (0.19) | 0.17 (0.18) | 0.16 (0.18) | 0.13 (0.18) |
| LLM | |||
|---|---|---|---|
| Normative Benchmark | -3.08 | 3.08 | 1.00 [0.98, 1.02] |
| Flash Lite | -1.06 | 0.76 | 0.72 [0.67, 0.77] |
| Flash | -1.86 | 1.91 | 1.03 [1.00, 1.06] |
| Pro | -2.9 | 2.91 | 1.00 [0.98, 1.03] |
| Sonnet | -2.73 | 2.75 | 1.01 [0.98, 1.03] |
| Opus | -1.51 | 1.74 | 1.15 [1.11, 1.19] |
| Alternative | Decision role | List price | Discount | Net price | Weight | Price per ounce |
|---|---|---|---|---|---|---|
| Coffee C | Lowest price | $8.00 | 0% | $8.00 | 8.0 oz | $1.000/oz |
| Coffee D | discount cue | $15.00 | 20% | $12.00 | 12.0 oz | $1.000/oz |
| Coffee E | Lowest price per weight (Optimal) | $10.00 | 0% | $10.00 | 10.9 oz | $0.917/oz |
| LLM | Cost | Vague | Specific | ||
|---|---|---|---|---|---|
| Diagnostic acquisitions | Optimality | Diagnostic acquisitions | Optimality | ||
| Flash Lite | $0 | 9.00 (0.00) | 0.11 (0.31) | 8.91 (0.45) | 0.27 (0.45) |
| Flash Lite | $50 | 7.82 (1.64) | 0.09 (0.29) | 8.11 (1.35) | 0.35 (0.48) |
| Flash | $0 | 9.00 (0.00) | 1.00 (0.00) | 9.00 (0.00) | 1.00 (0.00) |
| Flash | $50 | 1.12 (1.60) | 0.31 (0.46) | 6.03 (3.69) | 0.79 (0.41) |
| LLM | (Cost: Unit Price) | (Cost Deal) | (Diagnostic Search) | (Direct Effect) |
|---|---|---|---|---|
| Flash Lite | -0.861 [-1.154, -0.569]* | -0.320 [-0.726, 0.087] | -0.051 [-0.074, -0.028]* | -0.014 [-0.063, 0.031] |
| Flash | -2.914 [-3.209, -2.621]* | -4.962 [-5.370, -4.554]* | 0.081 [0.071, 0.090]* | -0.009 [-0.068, 0.047] |
| Pro | -0.209 [-0.494, 0.082] | -3.619 [-4.027, -3.220]* | 0.064 [0.053, 0.075]* | -0.009 [-0.054, 0.035] |
| Luna | -0.019 [-0.304, 0.276] | 0.011 [-0.396, 0.424] | 0.049 [-0.043, 0.131] | 0.006 [-0.034, 0.051] |
| Sol | -0.250 [-0.539, 0.042] | -8.279 [-8.682, -7.864]* | 0.076 [0.066, 0.085]* | -0.023 [-0.082, 0.027] |
| Terra | -0.147 [-0.428, 0.134] | -7.624 [-8.026, -7.222]* | 0.067 [0.056, 0.076]* | -0.042 [-0.105, 0.009] |
| LLM | Indirect (Unit Price) | Indirect (Deal Prompt) | Index of Moderated Mediation (IMM) | Total Effect (Deal) |
|---|---|---|---|---|
| Claude Opus 5 | -0.204 [-0.253, -0.158]* | -0.516 [-0.591, -0.444]* | -0.312 [-0.383, -0.246]* | -0.471 [-0.540, -0.401]* |
| Claude Sonnet 5 | 0.001 [-0.056, 0.060] | -0.119 [-0.185, -0.056]* | -0.120 [-0.207, -0.038]* | -0.124 [-0.201, -0.049]* |
| Gemini 3.8 Flash | -0.235 [-0.272, -0.200]* | -0.635 [-0.711, -0.559]* | -0.400 [-0.456, -0.345]* | -0.644 [-0.706, -0.583]* |
| Gemini 3.5 Flash Lite | 0.044 [0.021, 0.071]* | 0.060 [0.031, 0.094]* | 0.016 [-0.004, 0.041] | 0.046 [-0.002, 0.094] |
| Gemini 3.1 Pro | -0.013 [-0.032, 0.005] | -0.246 [-0.292, -0.202]* | -0.233 [-0.281, -0.187]* | -0.255 [-0.308, -0.203]* |
| GPT-5.6 Luna | -0.001 [-0.023, 0.020] | 0.000 [-0.023, 0.021] | 0.000 [-0.029, 0.031] | 0.006 [-0.041, 0.055] |
| Prompt template | |
|---|---|
| System prompt | You are a helpful shopping assistant.Your goal is to choose an alternative among the options given.Only output the digit of your final choice. Do not explain your answer or provide any additional text. |
| User prompt template | You are buying ground coffee. Which option would you choose?Option 1: {brand_1}; Weight: {weight_1}oz; Price: {price_2}Option 3: {brand_3}; Weight: {weight_3}oz; Price: {price_4} |
| Field | Type | Description |
|---|---|---|
| choice | integer | The digit of the option of your choice ( ). |
| Prompt template | |
|---|---|
| System prompt | You are a helpful shopping assistant.Your goal is to choose an alternative among the options given.Only output the digit of your final choice. Do not explain your answer or provide any additional text. |
| User prompt template | You are buying ground coffee. Which option would you choose?Option 1: {brand_1}; Weight: {weight_1}oz; List price: {list_price_2}; {discount_text_2}Option 3: {brand_3}; Weight: {weight_3}oz; List price: {list_price_4}; {discount_text_4} |
| Classified objective | Reasoning |
|---|---|
| Price-per-weight | “[…] My primary focus is always the price per unit, you know, the real cost-effectiveness. […]” |
| Price | “Okay, so the goal is to find the absolute lowest price on instant coffee. […]” |
| Others | “[…] My intuition tells me to zero in on the total price. […] While”best deal” often boils down to the lowest total price, sometimes it’s about getting the most coffee for your money – the best unit price. I’ll keep that in mind.” |
| Candidate judge | Type | Provider | Identifier |
|---|---|---|---|
| JEV 1.13 | Decision model | TypeSafe | typesafe/jev-1.13-20260917 |
| Liquid D1 | Decision model | Liquid AI | liquid/d1-20260930 |
| Mercury Decide | Decision model | Inception | inception/mercury-decide-20260930 |
| pplx Decider v1 27B | Decision model | Perplexity | perplexity/pplx-decider-v1-27b-20261001 |
| Solar Decide | Decision model | Upstage | upstage/solar-decide-20260928 |
| Nemotron 3.5 Lightning 30B-A3B | LLM | NVIDIA | unsloth/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-GGUF:Q4_K_XL |
| Candidate judge | Coder 1 | Coder 2 | Coder 3 | Mean | |||
|---|---|---|---|---|---|---|---|
| Mercury Decide a | .775 | .592 | .708 | .490 | .892 | .804 | .629 |
| Liquid D1 | .683 | .466 | .850 | .707 | .842 | .709 | .627 |
| pplx Decider v1 27B | .758 | .566 | .708 | .497 | .883 | .791 | .618 |
| Solar Decide | .783 | .603 | .692 | .464 | .850 | .728 | .598 |
| JEV 1.13 | .692 | .450 | .792 | .588 | .825 | .665 | .568 |
| Labeler | Purchase volume | Slope (SE) | ||||
|---|---|---|---|---|---|---|
| 1 | 5 | 50 | 250 | |||
| Coder 1 | .300 | .600 | .767 | .700 | 0.32 (0.10) | <.001 |
| Coder 2 | .267 | .467 | .633 | .700 | 0.33 (0.09) | <.001 |
| Coder 3 | .300 | .500 | .700 | .800 | 0.40 (0.10) | <.001 |
| Mercury Decide a | .400 | .533 | .800 | .833 | 0.40 (0.10) | <.001 |
| Liquid D1 | .333 | .567 | .767 | .800 | 0.39 (0.10) | <.001 |
| Judge | LLM | Bags | n | price_per_weight | price | others |
|---|---|---|---|---|---|---|
| Liquid D1 | Flash | 1 | 98 | 0.980 | 0.020 | 0.000 |
| Liquid D1 | Flash | 5 | 100 | 0.950 | 0.030 | 0.020 |
| Liquid D1 | Flash | 50 | 100 | 0.920 | 0.040 | 0.040 |
| Liquid D1 | Flash | 250 | 99 | 0.899 | 0.061 | 0.040 |
| Liquid D1 | Pro | 1 | 100 | 0.610 | 0.340 | 0.050 |
| Liquid D1 | Pro | 5 | 100 | 0.470 | 0.500 | 0.030 |
| Judge | Bags | Diagnostic | 95% CI | Choice Optimality | 95% CI | ||
|---|---|---|---|---|---|---|---|
| Liquid D1 | 1 | 34 | 61 | -1.32* | [-1.91, -0.76] | -0.59* | [-0.76, -0.41] |
| Liquid D1 | 5 | 50 | 47 | -1.14* | [-1.64, -0.68] | -0.40* | [-0.54, -0.25] |
| Liquid D1 | 50 | 84 | 12 | -1.86* | [-2.23, -1.48] | -0.70* | [-0.80, -0.61] |
| Liquid D1 | 250 | 84 | 12 | -2.12* | [-2.49, -1.75] | -0.57* | [-0.77, -0.32] |
| Liquid D1 | Pooled | 252 | 132 | -1.61* | [-1.84, -1.38] | -0.56* | [-0.65, -0.48] |
| pplx Decider v1 27B | 1 | 34 | 42 | -1.32* | [-1.91, -0.76] | -0.59* | [-0.74, -0.41] |
| Environment | State | Revealed attributes | Cells | Diagnostic | Non-diagnostic |
|---|---|---|---|---|---|
| Study 1 | Dollars | price_dollars | 2 | 2 | 0 |
| Study 1 | Dollars + Roast | price_dollars , roast_date | 4 | 2 | 2 |
| Study 1 | Dollars + Weight | price_dollars , weight | 4 | 4 | 0 |
| Study 1 | Dollars + Weight + Cents | price_dollars , price_cents , weight | 6 | 6 | 0 |
| Study 2 | List Price | list_price | 3 | 3 | 0 |
| Study 2 | List Price + Roast | list_price , roast_date | 6 | 3 | 3 |
| LLM | Dollars | Dollars + Roast | Dollars + Weight | Dollars + Weight + Cents |
|---|---|---|---|---|
| Flash Lite | .00 | .00 | .08 | .04 |
| Flash | .00 | .00 | .00 | 1.00 |
| Pro | .00 | .00 | .02 | 1.00 |
| Luna | .00 | .00 | .00 | .98 |
| Terra | .00 | .00 | .24 | 1.00 |
| Sol | .00 | .00 | .00 | 1.00 |
| LLM | List Price | List Price + Roast | List Price + Discount | List Price + Weight | List Price + Weight + Discount |
|---|---|---|---|---|---|
| Flash Lite | .00 | .00 | .00 | .24 | .00 |
| Flash | .00 | .00 | .00 | 1.00 | 1.00 |
| Pro | .00 | .00 | .00 | .98 | 1.00 |
| Luna | .00 | .00 | .00 | 1.00 | .92 |
| Terra | .00 | .00 | .00 | .98 | .98 |
| Sol | .00 | .00 | .00 | 1.00 | 1.00 |
| LLM | Dollars | Dollars + Roast | Dollars + Weight | Dollars + Weight + Cents |
|---|---|---|---|---|
| Flash Lite | 50 / 0 | 50 / 0 | 46 / 4 | 48 / 2 |
| Flash | 50 / 0 | 50 / 0 | 50 / 0 | 0 / 50 |
| Pro | 50 / 0 | 50 / 0 | 49 / 1 | 0 / 50 |
| Luna | 50 / 0 | 50 / 0 | 50 / 0 | 1 / 49 |
| Terra | 50 / 0 | 50 / 0 | 38 / 12 | 0 / 50 |
| Sol | 50 / 0 | 50 / 0 | 50 / 0 | 0 / 50 |
| LLM | List Price | List Price + Roast | List Price + Discount | List Price + Weight | List Price + Weight + Discount |
|---|---|---|---|---|---|
| Flash Lite | 50 / 0 / 0 | 50 / 0 / 0 | 11 / 39 / 0 | 32 / 6 / 12 | 4 / 46 / 0 |
| Flash | 50 / 0 / 0 | 50 / 0 / 0 | 50 / 0 / 0 | 0 / 0 / 50 | 0 / 0 / 50 |
| Pro | 50 / 0 / 0 | 50 / 0 / 0 | 50 / 0 / 0 | 1 / 0 / 49 | 0 / 0 / 50 |
| Luna | 50 / 0 / 0 | 50 / 0 / 0 | 49 / 1 / 0 | 0 / 0 / 50 | 3 / 1 / 46 |
| Terra | 50 / 0 / 0 | 50 / 0 / 0 | 50 / 0 / 0 | 1 / 0 / 49 | 0 / 1 / 49 |
| Sol | 50 / 0 / 0 | 50 / 0 / 0 | 50 / 0 / 0 | 0 / 0 / 50 | 0 / 0 / 50 |
| Environment | Field | Type | Required | Description |
|---|---|---|---|---|
| Shared fields | option_id | string | Yes | Identifier of the selected alternative. |
| valuations | array | Yes | Array containing one object for every alternative in the choice set. | |
| valuations[].option_id | string | Yes | Identifier of the specific alternative being evaluated. | |
| valuations[].weight_oz | string | Yes | Product weight inspected for this option, or “unknown” if not inspected. | |
| valuations[].oz_per_usd | string | Yes | weight_oz divided by total or net price, or “unknown” if uncomputable. | |
| valuations[].basis | string | Yes | Categorical classification constrained to “computed” (if calculated from inspected cells) or “insufficient_information” (if diagnostic cells were missing). |
| LLM | Cost | Correct (value) | Correct (unknown) | Arithmetic failure | Hallucination | Incorrect (unknown) | Choice Optimality (%) |
|---|---|---|---|---|---|---|---|
| Flash Lite | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 78.0 |
| Flash Lite | $10 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 80.0 |
| Flash | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 |
| Flash | $10 | 51.2 | 48.8 | 0.0 | 0.0 | 0.0 | 40.0 |
| Pro | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 |
| Pro | $10 | 70.0 | 30.0 | 0.0 | 0.0 | 0.0 | 82.0 |
| LLM | Cost | Correct (value) | Correct (unknown) | Arithmetic failure | Hallucination | Incorrect (unknown) | Choice Optimality (%) |
|---|---|---|---|---|---|---|---|
| Flash Lite | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 24.0 |
| Flash Lite | $50 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 34.0 |
| Flash | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 |
| Flash | $50 | 0.8 | 99.2 | 0.0 | 0.0 | 0.0 | 34.0 |
| Pro | $0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 |
| Pro | $50 | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 68.0 |
| Lookahead policy | Tool cost | Dollars | Cents | Weight | Diagnostic calls | Non-diagnostic calls | Total calls | Choice optimality |
|---|---|---|---|---|---|---|---|---|
| Myopic | $0.00 | 2.00 | 2.00 | 2.00 | 6.00 | 4.16 | 10.16 | 1.00 |
| Myopic | $0.01 | 2.00 | 2.00 | 2.00 | 6.00 | 0.00 | 6.00 | 1.00 |
| Myopic | $0.10 | 2.00 | 0.00 | 2.00 | 4.00 | 0.00 | 4.00 | 0.00 |
| Myopic | $1.00 | 2.00 | 0.00 | 2.00 | 4.00 | 0.00 | 4.00 | 0.00 |
| Myopic | $10.00 | 1.00 | 0.00 | 2.00 | 3.00 | 0.00 | 3.00 | 0.00 |
| 2-step Lookahead | $0.00 | 2.00 | 2.00 | 2.00 | 6.00 | 6.09 | 12.09 | 1.00 |
| Lookahead policy | Tool cost | List price | Discount | Weight | Diagnostic calls | Non-diagnostic calls | Total calls | Choice optimality |
|---|---|---|---|---|---|---|---|---|
| Myopic | $0.00 | 3.00 | 2.22 | 3.00 | 8.22 | 7.38 | 15.60 | 1.00 |
| Myopic | $0.01 | 3.00 | 1.00 | 3.00 | 7.00 | 0.00 | 7.00 | 1.00 |
| Myopic | $0.10 | 3.00 | 1.00 | 3.00 | 7.00 | 0.00 | 7.00 | 1.00 |
| Myopic | $1.00 | 3.00 | 0.00 | 3.00 | 6.00 | 0.00 | 6.00 | 1.00 |
| Myopic | $50.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.32 |
| 2-step Lookahead | $0.00 | 3.00 | 2.90 | 3.00 | 8.90 | 10.79 | 19.69 | 1.00 |
| Environment | State | Revealed attributes | \mathbb{E}[\/\text{oz}]$ | Normative choice | ||
|---|---|---|---|---|---|---|
| A | B | |||||
| Study 1 | $ | price_dollars | 1.8120 | 2.2121 | Coffee A | |
| Study 1 | $+roast | price_dollars , roast_date | 1.8120 | 2.2121 | Coffee A | |
| Study 1 | $+oz | price_dollars , weight | 0.4529 | 0.5027 | Coffee A | |
| Study 1 | $+¢+oz | price_dollars , price_cents , weight | 0.4990 | 0.4545 | Coffee B | |
| C | D | E |
| Provider | Model name | API identifier | Client library | API endpoint | Default reasoning effort | Temperature | Top- | Max output tokens |
|---|---|---|---|---|---|---|---|---|
| Gemini 3.5 Flash Lite | gemini-3.5-flash-lite | google-genai | models.generate_content | Minimal | 1.0 | 0.95 | - | |
| Gemini 3.8 Flash | gemini-3.8-flash | google-genai | models.generate_content | Medium | 1.0 | 0.95 | - | |
| Gemini 3.1 Pro | gemini-3.1-pro-preview | google-genai | models.generate_content | High | 1.0 | 0.95 | - | |
| OpenAI | GPT-5.6 Luna | gpt-5.6-luna | openai | client.responses.create | Medium | 1.0 | 1.0 | - |
| OpenAI | GPT-5.6 Terra | gpt-5.6-terra | openai | client.responses.create | Medium | 1.0 | 1.0 | - |
| OpenAI | GPT-5.6 Sol | gpt-5.6-sol | openai | client.responses.create | Medium | 1.0 | 1.0 | - |
Agentic Commerce
Agentic commerce studies autonomous AI agents that discover, recommend, negotiate, and transact goods or services for consumers and businesses.
See all 45 papers