Aurum Jewelry
Retailer Console
0 real Fit Requests in this store · 161 SKUs in the catalog
Fit Requests
Completion rate
–
0 of 0 sent requests completed
How this is calculated
completion = completed / sentCompleted = the recipient sent their hearts (status completed).
Conversion
Hearted → bought
–
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 pieceCatalog gap
Cool-undertone coverage
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 SKUsRule table: server/verticals/jewelry.ts (jewelryRules.metalFit), sourced in docs/research/jewelry_rules.md.
Estimate
Return cost avoided
$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
- Sent0 · 100%
- Opened0 · – of prev.
- Completed0 · – of prev.
- 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 stagePurchases 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?
- 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 / completedUndertone Coverage
Who can your catalog suit?
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.
| Category | SKUs | Warm | Neutral | Cool |
|---|---|---|---|---|
| Earrings | 48 | 44% | 100% | 40% |
| Necklaces | 41 | 56% | 100% | 34% |
| Rings | 26 | 46% | 100% | 38% |
| Bracelets | 22 | 41% | 100% | 45% |
| Watches | 24 | 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
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
How this is calculated
P(return) = baselineRate × clamp(1 + maxReduction × (50 − score) / 50, 1 − maxReduction, 1 + maxReduction); expected cost = P(return) × costPerReturnBefore = 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
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
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 SKUsPoliteness 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.