# CarPixAI 2026 Public Used-Car VDP Photo Benchmark — Methodology

Version: `v1.0-2026-07-28`
Collection date: `2026-07-28`
Completed sample: `108 public used-vehicle detail pages`
Dealer-domain coverage: `9 domains in 8 US states`
Status: `completed observational benchmark; not a representative industry study`

## Research question

What observable vehicle-photo merchandising practices appear on a fixed sample of live, dealer-owned used-vehicle detail pages, when each page is evaluated with one explicit 12-point rubric?

The benchmark does **not** test whether photo practices cause leads, appointments, sales, price realization, lower days-to-sale, or return on investment.

## Unit of analysis

One live public used-vehicle detail page (VDP), as observed on the collection date. The score applies to the published photo gallery on that page at that time. It is not a score of the dealership, vehicle quality, pricing, customer experience, or seller conduct.

## Source frame and sampling

1. Nine US dealer-owned websites were selected purposively to cover independent and franchise inventory in multiple regions.
2. Aggregators, marketplace result pages, auction listings, customer-submitted records, and CarPixAI customer inventory were excluded.
3. The collection script requested each domain's public `robots.txt`. Collection continued only when the public sitemap and a representative VDP path were not disallowed for the general `User-agent: *` group.
4. Eligible records were drawn from each dealer's public sitemap.
5. A URL was eligible when it:
   - belonged to the configured dealer domain;
   - contained a VIN-shaped 17-character identifier;
   - was marked `used`, `preowned`, or `pre-owned` in the URL path; and
   - resolved to a live page with at least three unique VIN-linked vehicle images.
6. Within each dealer domain, eligible URLs were ranked by SHA-256 of:

   `carpixai-public-vdp-photo-benchmark-2026-v1|<canonical-source-url>`

7. The first eligible pages under that deterministic rank were processed until the fixed domain quota was filled.
8. The final sample deliberately contains 54 independent/independent-group listings and 54 franchise listings. It is balanced for this audit, not weighted to US dealer or listing market share.

This is a purposive observational sample. It is not a simple random sample, probability sample, national estimate, or census.

## Inclusion and replacement rules

A candidate entered the scored dataset only when the page was live, robots checks passed, at least three unique source vehicle images could be extracted and downloaded, and the scoring response passed schema validation.

Candidates were excluded when they were removed, blocked, malformed, no longer used-vehicle pages, returned fewer than three usable vehicle images, or failed extraction/scoring after bounded retries. No missing score was imputed. An excluded candidate was replaced by the next eligible URL in the same domain's deterministic rank so domain quotas remained fixed.

Internal failure records preserve the candidate URL, hash, error, and timestamp. They are not part of the public scored dataset.

## Image extraction and normalization

- Vehicle image URLs were extracted from the live page's raw HTML.
- VIN-linked image paths were preferred to reduce logos, sprites, tracking pixels, and unrelated page imagery.
- Thumbnails and known page assets were excluded.
- Resize, cache-busting, and thumbnail variants sharing the same origin and source pathname were counted once.
- The published hero image was treated as image 1.
- Up to eight representative images were sampled from the beginning, middle, and end of the detected gallery.
- Images were auto-rotated, resized to fit within 1024 × 1024 without enlargement, and converted to JPEG at a consistent quality before review.
- The number of images successfully reviewed is published in each row.

## Scoring

Each VDP received 0, 1, or 2 points in six dimensions:

1. First hero image
2. Gallery completeness
3. Condition proof
4. Background consistency
5. Mobile crop safety
6. Visible edit safety

Total score range: 0–12.

Score bands:

- 10–12: `strong_10_to_12`
- 7–9: `usable_7_to_9`
- 4–6: `weak_4_to_6`
- 0–3: `high_risk_0_to_3`

Gallery completeness was deterministic:

- 0 points: fewer than 12 unique detected vehicle images
- 1 point: 12–19
- 2 points: 20 or more

The five visual dimensions were reviewed with `google/gemini-2.5-flash` through OpenRouter at temperature 0 using the frozen rubric prompt embedded in `scripts/build-vdp-photo-benchmark.mjs`. The model returned structured scores, standardized issue codes, evidence categories, a broad body-style classification, score notes, and one priority fix. Invalid responses were rejected rather than silently coerced.

The model and prompt are part of the measurement procedure; they are not treated as ground truth.

## Visible edit safety boundary

The benchmark does not possess original source photos for comparison. The visible-edit dimension therefore records only observable warning signs in the published images, such as distortion, implausible compositing, concealment, aggressive overlays, or inconsistent reflections and shadows.

A score of 2 does **not** prove that a photo is unedited or that all vehicle details match an unavailable source. It means no obvious warning sign appeared in the reviewed representative images.

## Quality assurance

A 12-row second-pass QA set was selected across all four score bands and multiple anonymized dealer IDs. `openai/gpt-4.1-mini` independently re-reviewed the same representative images against the frozen five visual-dimension definitions. Gallery completeness was not re-reviewed because it is a deterministic image-count rule.

Across 60 visual-dimension comparisons:

- exact agreement: 40%;
- within one point on the 0–2 scale: 85%; and
- mean absolute difference: 0.75 points.

The second pass shows that the visual scores are materially model-sensitive. They should be treated as directional classifications, not ground truth. The deterministic gallery-count result is not affected by this particular reviewer disagreement.

This is a QA and sensitivity check, not a formal human inter-rater reliability study. No claim of human reviewer agreement, Cohen's kappa, or validated psychometric reliability is made. Full anonymized QA calculations are published in `/data/used-car-photo-benchmark-2026-qa.json`.

## Missing-data handling

- No score imputation.
- No inferred photo category from listing title or copy.
- Failed source pages replaced within the same domain quota.
- Fields not confidently returned by the model default to an explicit neutral category such as `unclear`, not a positive finding.
- Public aggregates use only the 108 successfully included rows.

## Anonymization

The public row-level files include:

- internal sample ID;
- SHA-256 hash of the source URL;
- anonymized dealer ID;
- broad dealer segment and region;
- website-platform classification;
- collection date;
- broad vehicle body style;
- detected and reviewed image counts;
- dimension scores, total score, score band;
- standardized observable issue/evidence codes; and
- a concise priority fix.

The public files omit dealer names, domains, exact state, source URLs, VINs, stock numbers, page titles, dealership/customer identifiers, locations, and source image URLs. Raw dealer images and screenshots are not republished.

The URL hash supports internal record matching but should not be treated as irreversible anonymization if a third party already possesses the original URL candidate set.

An internal provenance manifest retains source URLs and selected image URLs for audit and repair. It is not linked or served as a public download.

## File lineage

1. **Raw/internal provenance:** `docs/research/used-car-photo-benchmark-2026/source-manifest.csv`
2. **Internal scored review records:** `docs/research/used-car-photo-benchmark-2026/model-review-records.json`
3. **Public anonymized scored rows:** `/data/used-car-photo-benchmark-2026.csv` and `.json`
4. **Public aggregate findings:** `/data/used-car-photo-benchmark-2026-summary.json`
5. **Public QA sensitivity results:** `/data/used-car-photo-benchmark-2026-qa.json`
6. **Public measurement definitions:** methodology, rubric, and data dictionary files in `/data/`
7. **Reproducible pipeline:** `scripts/build-vdp-photo-benchmark.mjs` and `scripts/qa-vdp-photo-benchmark.mjs`

## Known limitations

- The sample is purposive and directional, not nationally representative.
- Dealer selection was not random.
- The intentional 54/54 independent-versus-franchise balance is not market-share weighting.
- Most sampled websites used the same inventory website/image-delivery platform, which may cluster gallery and presentation behavior.
- Only representative images received multimodal review; not every image was visually classified.
- A proof photo could exist in an unsampled gallery position.
- Image-count extraction can still differ from what a human sees if a website embeds hidden or stale source images.
- Model-assisted visual judgments can contain classification error and may not reproduce identically if the provider changes the underlying model.
- Live VDPs can change or disappear after collection.
- No original unedited source images were available.
- No customer, dealer, or vehicle outcome was measured.
- No causal or ROI conclusion is supported.

## Appropriate citation

Appropriate:

> CarPixAI's 2026 observational VDP photo benchmark reviewed 108 public used-vehicle detail pages from nine dealer websites using a published 12-point rubric. The purposive sample is directional and not nationally representative.

Not appropriate:

> CarPixAI proved that most dealerships have poor photos, or that raising the score increases vehicle sales.
