The wine market made visible

Live retail sales data across the UK market so you can price and buy with confidence

What we solve

The wine market is moving. Are you seeing it?

Analysing your own sales data only goes so far. Cellarate shows you how the market is shifting and how you compare to peers.

Best Sellers

Top 10 Risers & Fallers

  • 2020 Rioja Reserva

    +25% sales in last 30 days

  • 2019 Chablis Premier Cru

    +14 % sales in last 30 days

  • 2015 Pomerol

    +11 % sales in last 30 days

  • 2021 Provence Rosé

    -9 % sales in last 30 days

  • NV Champagne Brut

    -14 % sales in last 30 days

Best Sellers

Top 10 Risers & Fallers

  • 2020 Rioja Reserva

    +25% sales in last 30 days

  • 2019 Chablis Premier Cru

    +14 % sales in last 30 days

  • 2015 Pomerol

    +11 % sales in last 30 days

  • 2021 Provence Rosé

    -9 % sales in last 30 days

  • NV Champagne Brut

    -14 % sales in last 30 days

Best Sellers

Top 10 Risers & Fallers

  • 2020 Rioja Reserva

    +25% sales in last 30 days

  • 2019 Chablis Premier Cru

    +14 % sales in last 30 days

  • 2015 Pomerol

    +11 % sales in last 30 days

  • 2021 Provence Rosé

    -9 % sales in last 30 days

  • NV Champagne Brut

    -14 % sales in last 30 days

Market Insights

Discover best sellers

Identify which wines and price bands are outperforming across the market

Top Categories

Live market Data

Trend Forecasts

Spot Trends Faster

Track emerging regions, grapes and styles as they gain momentum — before everyone else catches on. Cellarate gives you real-time visibility of retail-level shifts.

Trend Alerts

Market Velocity

Live Market Pulse

See what’s moving in the market, in real time.

|

Add document

View trends

Find growth

Forecast

Live Market Pulse

See what’s moving in the market, in real time.

|

Add document

View trends

Find growth

Forecast

Live Market Pulse

See what’s moving in the market, in real time.

|

Add document

View trends

Find growth

Benchmarking your range…

Range Gaps

Price Bands

Peer Comparison

Matching

Analysing

Benchmarked

Benchmarking your range…

Range Gaps

Price Bands

Peer Comparison

Matching

Analysing

Benchmarked

Benchmarking your range…

Range Gaps

Price Bands

Peer Comparison

Matching

Analysing

Benchmarked

Performance Benchmarking

Benchmark Your Range

Compare your listings, pricing and performance against top UK merchants. Find gaps, overlaps and pricing opportunities at a glance.

Range Gaps

Price Bands

Peer Comparison

Data-Driven Pricing

Optimise Pricing Decisions

See how price points move with demand. Cellarate highlights where you’re under- or over-performing so you can tune margins intelligently.

Margin Insights

Price Elasticity

Hi Sarah!

Here's your live market analysis feed:

Pricing Monitor:

Pricing analysis underway

90% complete

Activity Feed

Mo

Tu

We

Th

Fr

Sa

Su

Market Sync - Active

Live connection to retail price feed

Price movement detected

Burgundy Reds +4.2% average increase

Hi Sarah!

Here's your live market analysis feed:

Pricing Monitor:

Pricing analysis underway

90% complete

Activity Feed

Mo

Tu

We

Th

Fr

Sa

Su

Market Sync - Active

Live connection to retail price feed

Price movement detected

Burgundy Reds +4.2% average increase

Hi Sarah!

Here's your live market analysis feed:

Pricing Monitor:

Pricing analysis underway

90% complete

Activity Feed

Mo

Tu

We

Th

Fr

Sa

Su

Market Sync - Active

Live connection to retail price feed

Price movement detected

Burgundy Reds +4.2% average increase

How It Works

Connect. Compare. Act.

Cellarate turns your sales data into live market insight — in minutes, not weeks.

Step 1

Connect your store

Link your Shopify, WooCommerce or POS system. Your catalogue and sales sync automatically.

Your e-commerce
or POS system

Cellarate

Your e-commerce
or POS system

Cellarate

Step 2

We clean and match your data

Cellarate standardises your wines against the wider market, so every label is benchmarked accurately.

  • class WineDataMatcher:
    def __init__(self, master_catalogue):
    self.master_catalogue = master_catalogue
    self.matches = []
    def normalise_name(self, name: str) -> str:
    # Strip vintage years and tidy punctuation for cleaner matching
    return name.lower().replace('-', ' ').replace(',', '').strip()
    def find_match(self, wine_record):
    normalised = self.normalise_name(wine_record["name"])
    for ref in self.master_catalogue:
    if self.normalise_name(ref["name"]) in normalised:
    return ref
    return None
    def enrich_record(self, wine_record, match):
    wine_record["matched_sku"] = match["sku"]
    wine_record["category"] = match["category"]
    wine_record["standard_price"] = round(float(wine_record["price"]), 2)
    return wine_record
    def process_batch(self, records):
    for record in records:
    match = self.find_match(record)
    if match:
    cleaned = self.enrich_record(record, match)
    self.matches.append(cleaned)
    return self.matches

  • class WineDataMatcher:
    def __init__(self, master_catalogue):
    self.master_catalogue = master_catalogue
    self.matches = []
    def normalise_name(self, name: str) -> str:
    # Strip vintage years and tidy punctuation for cleaner matching
    return name.lower().replace('-', ' ').replace(',', '').strip()
    def find_match(self, wine_record):
    normalised = self.normalise_name(wine_record["name"])
    for ref in self.master_catalogue:
    if self.normalise_name(ref["name"]) in normalised:
    return ref
    return None
    def enrich_record(self, wine_record, match):
    wine_record["matched_sku"] = match["sku"]
    wine_record["category"] = match["category"]
    wine_record["standard_price"] = round(float(wine_record["price"]), 2)
    return wine_record
    def process_batch(self, records):
    for record in records:
    match = self.find_match(record)
    if match:
    cleaned = self.enrich_record(record, match)
    self.matches.append(cleaned)
    return self.matches

  • class WineDataMatcher:
    def __init__(self, master_catalogue):
    self.master_catalogue = master_catalogue
    self.matches = []
    def normalise_name(self, name: str) -> str:
    # Strip vintage years and tidy punctuation for cleaner matching
    return name.lower().replace('-', ' ').replace(',', '').strip()
    def find_match(self, wine_record):
    normalised = self.normalise_name(wine_record["name"])
    for ref in self.master_catalogue:
    if self.normalise_name(ref["name"]) in normalised:
    return ref
    return None
    def enrich_record(self, wine_record, match):
    wine_record["matched_sku"] = match["sku"]
    wine_record["category"] = match["category"]
    wine_record["standard_price"] = round(float(wine_record["price"]), 2)
    return wine_record
    def process_batch(self, records):
    for record in records:
    match = self.find_match(record)
    if match:
    cleaned = self.enrich_record(record, match)
    self.matches.append(cleaned)
    return self.matches

  • class WineDataMatcher:
    def __init__(self, master_catalogue):
    self.master_catalogue = master_catalogue
    self.matches = []
    def normalise_name(self, name: str) -> str:
    # Strip vintage years and tidy punctuation for cleaner matching
    return name.lower().replace('-', ' ').replace(',', '').strip()
    def find_match(self, wine_record):
    normalised = self.normalise_name(wine_record["name"])
    for ref in self.master_catalogue:
    if self.normalise_name(ref["name"]) in normalised:
    return ref
    return None
    def enrich_record(self, wine_record, match):
    wine_record["matched_sku"] = match["sku"]
    wine_record["category"] = match["category"]
    wine_record["standard_price"] = round(float(wine_record["price"]), 2)
    return wine_record
    def process_batch(self, records):
    for record in records:
    match = self.find_match(record)
    if match:
    cleaned = self.enrich_record(record, match)
    self.matches.append(cleaned)
    return self.matches

Step 3

Get instant benchmarks

Cellarate compares your sales to live market data so you can see what’s performing, what’s overpriced, and where you’re gaining ground.

Underpriced alert

2014 Elio Sandri is 15% below market avg.

Top performer: 2020 Rioja

+18% above market average

New market insights available

Top 10 Risers and Fallers

Underpriced alert

2014 Elio Sandri is 15% below market avg.

Top performer: 2020 Rioja

+18% above market average

New market insights available

Top 10 Risers and Fallers

Step 4

Stay ahead

Cellarate continuously monitors the market on your behalf, alerting you to key shifts - new trends, pricing changes or demand spikes.

Analysing market data..

Trend alerts

Price movements

Demand shifts

Category watch

Live sync

Analysing market data..

Trend alerts

Price movements

Demand shifts

Category watch

Live sync

Benefits

The Key Benefits for Wine Merchants

See how live retail data helps you buy smarter, price sharper, and grow sales without adding overhead.

Smarter Buying

Identify which wines, regions, and price points are gaining traction across the market before you place your next order.

Smarter Buying

Identify which wines, regions, and price points are gaining traction across the market before you place your next order.

Smarter Buying

Identify which wines, regions, and price points are gaining traction across the market before you place your next order.

Confident Pricing

Benchmark your pricing against the market and adjust in line with live market movements.

Confident Pricing

Benchmark your pricing against the market and adjust in line with live market movements.

Confident Pricing

Benchmark your pricing against the market and adjust in line with live market movements.

Time Saved

No spreadsheets, no guesswork — insights and reports update automatically, every day with no manual intervention.

Time Saved

No spreadsheets, no guesswork — insights and reports update automatically, every day with no manual intervention.

Time Saved

No spreadsheets, no guesswork — insights and reports update automatically, every day with no manual intervention.

Higher Margins

Spot under- or over-priced lines instantly, and optimise your range for profit, not volume.

Higher Margins

Spot under- or over-priced lines instantly, and optimise your range for profit, not volume.

Higher Margins

Spot under- or over-priced lines instantly, and optimise your range for profit, not volume.

Market Awareness

See shifts in demand, emerging producers, and changing price bands as they happen, so you're never caught out.

Market Awareness

See shifts in demand, emerging producers, and changing price bands as they happen, so you're never caught out.

Market Awareness

See shifts in demand, emerging producers, and changing price bands as they happen, so you're never caught out.

Easy Integration

Connect your POS or e-commerce system in minutes — no setup cost, no manual uploads.

Easy Integration

Connect your POS or e-commerce system in minutes — no setup cost, no manual uploads.

Easy Integration

Connect your POS or e-commerce system in minutes — no setup cost, no manual uploads.

FAQs

Questions?

Quick answers to how Cellarate's live market data helps your wine business grow.

How does Cellarate help my business?

Is it difficult to set up?

Is my data private?

Which merchants can use Cellarate?

Do I need technical knowledge?

How does Cellarate help my business?

Is it difficult to set up?

Is my data private?

Which merchants can use Cellarate?

Do I need technical knowledge?

Turn your sales data into market advantage.

Connect your commerce platform and get started today.

Cellarate - Live wine insights for wine merchants, retailers and restaurants.

Cellarate - Live wine insights for wine merchants, retailers and restaurants.

© 2026 All Rights Reserved

© 2026 All Rights Reserved