Skip to content

Aurum Jewelry

Retailer Console

0 real Fit Requests in this store · 161 SKUs in the catalog

Fit Requests

Completion rate

Real data

–

0 of 0 sent requests completed

How this is calculated
completion = completed / sent

Completed = the recipient sent their hearts (status completed).

Conversion

Hearted → bought

Real data

–

of givers whose recipient hearted a shortlisted piece bought a hearted piece (0/0)

How this is calculated
hearted→bought = completed requests where a hearted shortlist piece was bought / completed requests with ≥ 1 hearted shortlist piece

Catalog gap

Cool-undertone coverage

Live catalog

37%

Only 60 of 161 SKUs suit a cool undertone estimate

How this is calculated
coverage(tone) = SKUs whose metal is "recommended" for tone / all SKUs

Rule table: server/verticals/jewelry.ts (jewelryRules.metalFit), sourced in docs/research/jewelry_rules.md.

Estimate

Return cost avoided

Real data

$0

0.0 fewer expected returns on 0 gifts (0.0% → 0.0%)

How this is calculated

Default inputs (11% baseline, $37 per return, ±50% score effect). Edit them in the Return-Risk card below.

Fit Request funnel

Sent → opened → completed → purchased

Real data
  1. Sent0 · 100%
  2. Opened0 · – of prev.
  3. Completed0 · – of prev.
  4. Purchased0 · – of prev.
How this is calculated
sent = Fit Requests created opened = status opened, consented, tried_on, completed or deleted completed = status completed (hearts sent) purchased = completed AND a shortlisted piece was bought as a gift step rate = stage / previous stage

Purchases come from the "Buy as a gift" checkout (POST /api/retailer/purchase): only pieces on that request's shortlist count, and the event stores no recipient data. Requests that expired unopened: 0.

Hearts vs purchases

Did they buy what was loved?

Real data
Bought pieces that were hearted
–
0 of 0 gifts
Purchase rate after a completed request
–
How this is calculated
bought were hearted = bought pieces the recipient hearted / bought pieces purchase rate = purchased / completed

Undertone Coverage

Who can your catalog suit?

Live catalog
  • Warm

    48%

    77 / 161 SKUs

  • Neutral

    100%

    161 / 161 SKUs

  • Cool

    37%

    60 / 161 SKUs

Gap

Only 37% of the catalog suits a cool undertone. Watches: 29% (7 of 24).

Add 10 watches in white gold, silver, platinum to reach 50% for cool-undertone recipients.

Share of SKUs per category that suit each undertone estimate
CategorySKUsWarmNeutralCool
Earrings48
44%
100%
40%
Necklaces41
56%
100%
34%
Rings26
46%
100%
38%
Bracelets22
41%
100%
45%
Watches24
50%
100%
29%
How this is calculated
suits(sku, tone) = jewelryRules.metalFit(sku.metal, tone).strength == "recommended" coverage(tone) = |SKUs that suit tone| / |SKUs| gap = lowest-coverage tone, then its lowest category to add = ceil((50% × total − count) / (1 − 50%))

Warm: yellow and rose gold. Cool: white gold, silver, platinum. Neutral: every metal (docs/research/jewelry_rules.md, Table 1). No metal is ever "avoid", so a piece outside a tone is still acceptable; recipients' hearts carry half of every Fit Score. Undertone is an estimate the recipient can override.

Return-Risk estimate

Before and after Fit Requests

Real data

0 gifts bought through a Fit Request. Estimate from published benchmarks, not a measured return rate.

Before
0.0%
0.0 returns · $0
After
0.0%
0.0 returns · $0
Avoided
$0
≈ $0 per 1,000 gifts
Model inputs
How this is calculated
P(return) = baselineRate × clamp(1 + maxReduction × (50 − score) / 50, 1 − maxReduction, 1 + maxReduction); expected cost = P(return) × costPerReturn

Before = every gift returns at the baseline rate (a gift chosen without a Fit Request scores 50). After = the mean of P(return) over the Fit Scores of the pieces actually bought.

  • Baseline: market.md K3 (S31, Eightx 2026): fine jewelry online 8–15%, midpoint 10–12%.
  • Cost: market.md K6 (S5, Eightx 2026): jewelry and accessories $37 mid. Markdown loss on resale is excluded (market.md K5 / S31), so the cost is conservative.
  • The score effect (score 100 halves the risk, 0 raises it by half at ±50%) is our assumption; no source measures it.
  • Benchmarks are US 2025–2026 secondary syntheses (grade C): directional, not a forecast.

Recipients, in aggregate

Who completed a Fit Request

Real data

Undertone (estimate or recipient's choice), n = 0

Hidden: 0 completed requests, fewer than 5.

Face shape estimate, n = 0

Hidden: 0 completed requests, fewer than 5.

How this is calculated

Completed requests only. A breakdown appears once at least 5 requests are in it; any group under 5 shows as "< 5", and if only one group is hidden the next smallest is hidden too, so it cannot be worked out by subtraction. No photo, color value or per-person estimate ever reaches this page.

Auto-Ingest

Ingest a store

Fixture mode · offline

Paste a store URL. GiftFit picks the lowest tier that works, reads public product data only and builds the catalog the Fit Engine scores.

How this is calculated

Tier 1 platform API → Tier 2 sitemap + JSON-LD → Tier 3 headless render + grounded extraction; the lowest tier that works wins (docs/ingest-policy.md).

complete rows = SKUs with metal AND price AND images / all SKUs

Politeness is enforced in code: robots.txt first, ≤ 1 request/s per host, allow-listed hosts only. In fixture mode every page comes from self-authored fixtures on reserved .test hosts.

Script tag

Add Gift it right to any product page

One line before </body>. The button appears only on pages whose product is in your ingested catalog.

<script src="https://your-giftfit-app/giftfit.js" data-store="aurum" async></script>

How this is calculated

The script finds the product (data-giftfit-sku, JSON-LD Product or Open Graph), asks /api/retailer/lookup whether it is in the catalog, then adds the button in a shadow root so the store's CSS and ours never mix. The Giver Panel opens in an iframe from this app; the two talk only through origin-checked postMessage, and no token, request id or recipient data crosses the frame.

Cross-origin demo: GIFTFIT_ORIGIN=https://your-giftfit-app node client/plugin/demo/serve-host.mjs, then open http://127.0.0.1:4310/.

Privacy: this console shows aggregates only. It never receives recipient photos, colors, CIELAB values, face measurements or any one person's estimate. Aurum Jewelry is a fictional demo store. Generated Tue, 03 Nov 2026 07:44:24 GMT.