One dataset, four interpretations
I compared four sets of scores for the same 16,436 Amazon product reviews: existing OpenAI-generated scores and new results from Claude Sonnet 4.6, Command R+ (August 2024), and Gemini 2.5 Pro. The source file did not identify which OpenAI model produced its scores.
I wanted to know whether the scoring systems would reach similar conclusions about why people value a product. In R, I compared their average scores, how often they assigned zero, the typical distance between their scores, and whether their scores rose and fell together.
What the five values mean
The framework comes from Sheth, Newman, and Gross’s 1991 paper, “Why We Buy What We Buy: A Theory of Consumption Values”. Each review received a 0–100 score on five dimensions that can influence consumer choice.
| Value | Plain-English meaning | Illustrative review signal |
|---|---|---|
| Emotional | Feelings created by the product | “I love using it.” |
| Epistemic | Curiosity, novelty, or learning | “I wanted to try something new.” |
| Social | Connection to an identity or group | “Everyone in my group uses it.” |
| Functional | Practical performance or usefulness | “It works well and lasts.” |
| Conditional | Value created by a particular situation | “It is especially useful when traveling.” |
These examples explain the constructs; they are not quotations from the private review dataset.
Building the comparison dataset
Before scoring all 16,436 reviews, I tested each model on 50 reviews to make sure it returned five usable numbers. I then ran the full dataset in batches and saved each result in SQLite. If a request failed, I could rerun only that review instead of starting over.
Each scoring source was expected to provide five scores per review. This table shows how many reviews had usable scores across those five value types:
| Scoring source | Usable reviews | Coverage | Unusable or unscored |
|---|---|---|---|
| Original OpenAI scores | 16,284 | 99.08% | 152 |
| Claude Sonnet 4.6 | 16,432 | 99.98% | 4 |
| Command R+ | 16,434 | 99.99% | 2 |
| Gemini 2.5 Pro | 16,436 | 100.00% | 0 |
The original OpenAI scores contained 148 blanks and four malformed entries for each value type, so I left them out of calculations requiring an OpenAI comparison. Claude left four reviews unscored and Command R+ left two.
The models did not use the same scale
The average scores show that the four scoring systems were not using the 0–100 scale in the same way:
| Construct | OpenAI scores | Sonnet | Command R+ | Gemini |
|---|---|---|---|---|
| Emotional | 71.10 | 44.18 | 18.41 | 33.31 |
| Epistemic | 56.02 | 17.51 | 1.70 | 5.50 |
| Social | 48.89 | 16.01 | 0.92 | 4.66 |
| Functional | 71.66 | 63.81 | 58.74 | 69.04 |
| Conditional | 64.17 | 33.19 | 5.71 | 15.52 |
Functional value was the only dimension where all four averages occupied a relatively narrow range. For every more interpretive construct, the original OpenAI scores were substantially higher.
When models found no evidence
An exact zero meant the model found no evidence of that type of value in a review. The models used that option very differently:
| Construct | OpenAI scores | Sonnet | Command R+ | Gemini |
|---|---|---|---|---|
| Emotional | 0.25% | 1.53% | 42.16% | 46.49% |
| Epistemic | 0.21% | 3.04% | 92.66% | 81.00% |
| Social | 0.94% | 3.89% | 96.48% | 87.67% |
| Functional | 0.48% | 0.85% | 25.56% | 9.61% |
| Conditional | 0.28% | 1.68% | 84.08% | 72.23% |
On Social value, for example, Command R+ assigned zero to 96.48% of usable reviews while the original OpenAI scores did so for less than 1%. That difference would materially change any conclusion about how often social motivation appears in the reviews.
Correlation told only part of the story
I paired each added model with the original OpenAI scores on reviews where both had usable numbers. The chart shows the Pearson correlationA measure from -1 to 1 showing how strongly two sets of scores move together. A higher positive value means reviews ranked more similarly, but it does not prove either model is correct. for each construct.
Correlation measures whether scores move together; mean absolute errorThe average absolute distance, in score points, between a provider’s score and the OpenAI baseline. Lower values indicate closer scores on the 0–100 scale. measures how far apart they are. Reading both prevents a model with similar ranking but a different scoring scale from looking more interchangeable than it is. Each cell below reports r / MAE.
| Construct | Sonnet | Command R+ | Gemini |
|---|---|---|---|
| Emotional | .420 / 29.76 | .366 / 53.74 | .314 / 41.59 |
| Epistemic | .241 / 39.24 | .092 / 54.36 | .127 / 51.28 |
| Social | .355 / 34.11 | .117 / 48.14 | .193 / 45.21 |
| Functional | .667 / 13.64 | .655 / 22.95 | .622 / 16.27 |
| Conditional | .131 / 35.17 | .131 / 58.89 | .178 / 51.70 |
Functional value produced both the highest correlations and the lowest errors for every added provider.
Conclusion
The four sets of scores should not be combined as if they mean the same thing. Functional value was the only category with reasonably similar results across all four systems; the other categories should be analyzed separately by model.
That disagreement is the main finding. Different LLMs can turn the same reviews into very different claims about why customers buy products.
Reproducible R analysis
I added an R workflow that validates the expected columns and score ranges, then calculates coverage, means, medians, zero-score rates, pairwise sample sizes, mean differences, mean absolute errors, and correlations. It exports only aggregate statistics for the website; the reviews remain private.
Requires readxl, dplyr, and jsonlite. Pass the private workbook path as the script’s only argument. No research data or local file paths are included.
Limitations
OpenAI was the available baseline, not a verified ground-truth label. The paired comparisons contain 16,281–16,284 reviews depending on provider coverage, and the statistics describe model behavior on this corpus—not accuracy in every product-review context.
This public case study contains aggregate results only. It excludes review text, prompts, credentials, API response files, and the research deliverable workbook.