No black boxes. This page explains what we parse, how we structure it, what we infer, and what we don't. If you're evaluating the data for enterprise use, start here.
Every data point traces back to a real venue menu. Here's the pipeline.
Venue websites, PDF menus, and Google Maps photos. Publicly available data only.
AI browser finds menu pages across hundreds of site structures - Shopify, WordPress, custom, PDF links.
Vision API reads every item: brand, category, price, size, ingredients. HTML and images both supported.
Brand names unified. Spelling variants resolved. Cocktail ingredients mapped to structured records.
Quality controller filters noise, confirms categories, rejects garbage items. Every record timestamped.
Most menus list cocktail names without specifying ingredient brands. "Espresso Martini" appears on 422 NL menus - but fewer than 5% name the coffee liqueur.
If a brand is not explicitly named on the menu, it is not counted as confirmed presence. This protects analytical integrity.
Menus spell brands differently. Abbreviate. Use legacy names. Mix languages. We normalize everything to canonical entities so "Hendricks" in one venue matches "Hendrick's Gin" in another.
Variants cluster under standardized brand entities, enabling accurate comparison across thousands of venues.
Every record carries a parse timestamp. Coverage grows continuously as we add venues and re-parse existing ones.
We prioritize:
Coverage depth varies by geography. Netherlands is our deepest market. Other countries are expanding.
Several tools cover parts of on-trade intelligence. None parse actual venue menus at scale in Europe.
| Tool | What it does | Known clients | What it does NOT do |
|---|---|---|---|
| CGA by NIQ | Panel-based on-trade trends (~1,000 NL outlets surveyed) | Diageo, AB InBev, De Kuyper | Venue-specific brand presence. No menu parsing. |
| IWSR | Market sizing, volume forecasts | Enterprise spirits companies | No operational venue targeting. No menu data. |
| SharpGrid | Outlet census (which venues exist) | Heineken, Coca-Cola, Asahi | What's actually on the menu. No brand-level data. |
| GroundSignal | US on-premise social + menu intelligence | US brands | Zero European coverage. |
| Overproof | US menu intelligence (10M+ menus) | US brands | Zero European coverage. |
| TAPP.cafe | NL POS data for horeca | Was Heineken, Coca-Cola | Bankrupt October 2024. Budget unallocated. |
| Keggly Insights | NL venue-level menu parsing (7,200+ venues) | Building client base | The only venue-level menu intelligence in Europe. |
This is a greenfield market. We are not displacing existing tools. We are filling a gap that nobody else covers.
CGA, IWSR, and Nielsen answer macro questions. We answer operational ones. Both are needed.
Menu intelligence is proven in the US. Europe is the gap.
An 11th-generation spirits family founded a menu intelligence platform covering 10M+ US menus and 1M+ US venues. Zero European coverage. One of their EU brand managers confirmed they're "looking for a tool" for European markets.
TAPP.cafe, which provided POS data for major NL beverage companies, went bankrupt in October 2024. Those budgets are now unallocated. The gap is open and growing.
Menu parsing at scale was not practical before GPT-4V and Claude Vision. We read HTML, PDFs, photos, and chalkboard menus with accuracy that was impossible two years ago. This is a new capability, not a better version of an old one.
Transparency about boundaries is part of the methodology.
We track what's on the menu, not what's in the storage room. Menu presence and pour volume are different things.
We do not estimate how much of a product is sold. Menu intelligence is about presence and positioning, not volume.
If a brand name does not appear in menu text, it is not counted. We do not guess what might be poured.
Coverage is limited to publicly accessible menus - websites, PDFs, and venue photos. Venues without online menus are not included.
This makes menu intelligence a missing execution layer - not a competing panel product.
These apply to every report and dataset we deliver.
Extraction follows defined rules. If the rule doesn't apply, the field stays empty. No hidden models filling gaps.
Every data point is classified. Brand explicitly named = confirmed. Spirit type from cocktail recipe = inferred. Ingredient slot without brand = open.
Venue counts are exact parsed counts, not projections. Penetration rates are against parsed universe, not total market estimates.
Parsing logic, extraction prompts, validation rules, and coverage methodology documented and available for enterprise clients.
Shipment data shows movement. Panel data shows trends. Menu intelligence shows execution. Each layer answers a different question.
What moved through the warehouse. Source: ERP, distributor reports.
Category trends and consumer behavior. Source: CGA, Nielsen, IWSR.
What's actually on the menu, venue by venue. Brands, prices, ingredients, competitive context. Source: Keggly Insights.
We don't include them. If a venue has no website, no PDF menu, and no readable menu photos on Google Maps, it is excluded from our dataset. We do not estimate or guess. Coverage is limited to venues with publicly accessible menu data.
When a brand name appears explicitly on a menu, extraction accuracy is above 95%. Spelling variants are normalized to canonical entities. If a brand is not explicitly named, it is not counted - we do not infer presence from context alone.
Netherlands venues are re-parsed on a rolling basis. Most data is less than 8 weeks old. Every record carries a parse timestamp so you can see exactly when each venue was last checked. Priority venues (high-traffic, premium) are refreshed more frequently.
CGA tracks market trends via survey panels (~1,000 NL outlets). We parse actual menus across 7,200+ venues. CGA answers "how is the category trending?" We answer "which specific venues carry your brand and which don't?" Both are useful - for different questions.
Yes. Every record links to the source URL and parse timestamp. For enterprise clients, we provide full methodology documentation including extraction prompts, validation rules, and coverage criteria.
Our extraction pipeline handles Dutch, English, French, German, and mixed-language menus. Brand names are language-independent. Category and product descriptions are normalized regardless of source language.
Name your brand and market. We'll show you exactly what we find - with sources.