How Actowiz Solutions built a canonical wine entity graph, market price intelligence, and structured attribute vectors to power a dual-sided wine platform.
A wine business building something ambitious: a single platform that runs B2B wholesale procurement on one side and a personalised consumer sommelier storefront on the other, with the same intelligence layer serving both. Buyers would see a traffic-light buying engine and inventory-gap analysis; consumers would see a match percentage against their palate profile, plus deliberate "palate stretch" recommendations designed to expand taste rather than merely confirm it.
The product vision was theirs and it was sharp. The bottleneck was underneath it: every feature they had designed was, structurally, a data problem they had not yet solved. Match percentages need comparable wine attributes. Traffic-light buying needs live market prices. Gap analysis needs to know what the market offers that the shelf doesn't. Sentiment overlays need reviews at scale. Actowiz Solutions was brought in to build that layer.
Retail entity resolution is a solved-ish problem when products carry UPCs. Wine carries almost nothing reliable, and its identity fragments across five axes simultaneously:
The same wine has a dozen names. One bottle might appear as "Ch. Margaux 2016", "Château Margaux, Margaux 1er Cru 2016", "Margaux 2016 (Bordeaux)", or "CH MARGAUX 16" in a wholesaler's manifest. Producers, cuvées, appellations, and classifications get abbreviated, translated, mis-accented, and truncated differently by every merchant and every distributor.
Vintage is identity, not a variant. The 2016 and 2017 of the same wine are different products with different prices, different critic scores, and different drinking windows — yet merchant listings routinely collapse or omit them. Matching that treats vintage as noise produces price comparisons that are simply wrong.
Format and bottle size fragment the shelf. 750ml, magnum, half-bottle, six-pack case, twelve-pack — normalizing to per-750ml economics is mandatory before any price is comparable.
Attributes that drive matching aren't in the listing. A palate-match engine needs structured attributes — grape composition, region hierarchy, style, body, acidity, tannin, oak, sweetness, drinking window — that merchant pages rarely publish in structured form, if at all. They live in tasting notes, critic reviews, and producer prose.
And the data lives behind aggressive, fragmented surfaces. Wine marketplaces, merchant sites, auction results, and critic databases all change constantly and defend against automation — the classic environment for self-healing extraction.
The client's own summary during scoping: "We can build the algorithm. We cannot build the universe it operates on."
{
"wine_key": "chateau-sample-margaux|grand-vin|margaux|1er-cru|2016|750ml",
"producer": "Château Sample",
"appellation": "Margaux",
"vintage": 2016,
"format_ml": 750,
"attributes": {
"grapes": {"cabernet_sauvignon": 0.85, "merlot": 0.12, "petit_verdot": 0.03},
"body": 0.82, "acidity": 0.55, "tannin": 0.78, "oak": 0.66, "sweetness": 0.02,
"drinking_window": [2026, 2045]
},
"critics": [{"source": "critic_a", "score": 96}, {"source": "critic_b", "score": 94}],
"market": {"offers": 14, "median_750ml_eur": 612, "low": 549, "high": 720, "trend_90d": "+4%"},
"sentiment": {"volume": 218, "net": 0.71, "themes": ["needs time", "classic vintage"]},
"match_confidence": 0.97,
"lineage_id": "lin-4471-w"
}
| Wine-Vintage (Sample) | Offer Price* | Market Median* | Position* | Critic Avg* | Signal |
|---|---|---|---|---|---|
| Sample Bordeaux 2016 | €549 | €612 | −10% | 95 | 🟢 Buy |
| Sample Barolo 2019 | €78 | €74 | +5% | 92 | 🟡 Hold |
| Sample Rioja 2018 | €41 | €33 | +24% | 88 | 🔴 Pass |
| Sample Chablis 2022 | €29 | €31 | −6% | 90 | 🟢 Buy |
Sample data — illustrative of deliverable format. Actual feeds are wine-vintage-format level, refreshed on volatility tiers.
| Metric | Value* |
|---|---|
| Wines in resolved entity graph | 240,000+ wine-vintage-format keys |
| Alias strings mapped | ~1.4 million merchant/manifest variants |
| Entity-match precision (audited) | 96%+ at high-confidence tier |
| Merchant/market sources tracked | 60+ |
| Structured attributes per wine (median) | 11 dimensions |
| Reviews processed into sentiment overlays | 3.2 million |
| Manifest ingestion accuracy (post-resolution) | 94% auto-resolved, 6% to review queue |
| Time to first production feed | 6 weeks |
Representative engagement figures — illustrative of project structure.
The client shipped both zones of their platform on the data layer, and three effects stood out in their own review.
The match engine got dimensions worth measuring. Their normalized-Euclidean matching logic was sound from day one; what it lacked was a populated, comparable attribute space. Once tasting prose became typed vectors with confidence scores, match percentages stopped being decorative and started being defensible — and "palate stretch" overrides became engineerable, because you can only deliberately move a customer one axis away from their profile if the axes exist.
Traffic-light buying replaced gut-feel procurement. Buyers had been pricing offers against memory and a spreadsheet of last year's costs. Live market distribution per wine-vintage turned that into a signal — and the 🔴 rows (offers priced above the market for wines the market had cooled on) were, per the client, the fastest ROI in the build: the deals they didn't do.
Gap analysis found the shelf's blind spots. The Shopify-versus-market view surfaced whole style-and-price-band pockets where demand signals were strong and their inventory was empty — a merchandising roadmap that had previously been assembled from anecdote and supplier pitches.
The engagement continues as the platform expands: additional markets on the entity graph, auction-result data as a valuation input, and a producer-level layer for the B2B side.
Wine is an extreme case of a general problem: any AI product built on a catalogue is really built on entity resolution. Recommendation engines, price intelligence, gap analysis, and personalization all silently assume that "the same product" can be identified across sources — and in categories without reliable identifiers (wine, spirits, art, collectibles, auto parts, fashion, pharma), that assumption is the whole engineering project. The transferable design: build the identity graph first, manufacture the attributes the algorithm needs from unstructured text, normalize economics (per-750ml, per-serving, per-unit) before comparing anything, and keep confidence scores everywhere so the machine knows what it doesn't know.
No reliable universal identifier, vintage-as-identity, format fragmentation, and the fact that the attributes driving recommendations live in unstructured tasting prose rather than structured fields. Entity resolution isn't a preprocessing step in wine — it's the product's foundation.
Yes — LLM-based structuring converts critic and producer tasting language into typed dimensions (body, acidity, tannin, oak, sweetness, drinking window, grape composition) with per-attribute confidence and source provenance, which is what makes vector-distance matching meaningful.
By resolving every offer to an exact wine-vintage-format key and comparing it against the live distribution of market prices for that same key — so buy/hold/pass signals reflect the market as it is today, not a static cost rule.
Directly — the identity-graph-first architecture is category-agnostic. Contact Actowiz Solutions to scope an entity-resolution and market-data pilot for your catalogue.
Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Use Newme Data API to automate fashion product data collection, pricing intelligence, catalog tracking, and competitor market analysis.
Unlock Hertz & Avis Rental Car Data for Dynamic Pricing Intelligence to track rental rates, availability, and market trends in real time.
Brazil Car Rental Pricing Intelligence Report 2026 reveals rental price trends, market shifts, competitor rates, and opportunities for smarter pricing.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.