CPG Beverage Personas
Individual-level beverage profiles where purchase and digital behaviour sit on the same person. One row per person, with every tagged event resolved to exactly one category, so category shares partition cleanly and per-category spend adds up to the total.
- 306
- Features per profile
- 13
- Beverage categories
- GB, US
- Markets
- Quarterly
- Refreshed
- 12 months
- Window
What this is
Purchase and digital on the same person
Most beverage datasets give you what people bought, or what they looked at. This one carries both for the same individual across seven surfaces, which is what makes research-to-purchase questions answerable at all.
Why it is different
Why it is different
Research-to-purchase crossover
Each person is classified by how what they research relates to what they buy, which isolates those who researched a brand and never bought it.
Categories that partition
Every event resolves to exactly one of thirteen categories, so shares sum and share-of-requirements is computable without assumption.
A steerable brand list
Tracked brands get their own columns from a fixed per-market list, so the schema stays stable across re-runs. A client can steer which brands are on it.
What is in each profile
306 features, grouped by prefix
- Category
- Per category: events, spend, share, top brand and brand HHI, across thirteen categories.
- Brand
- Events, purchase events and spend per tracked brand, plus cohort-level
brand_hhi,brand_top_shareandbrand_distinct. - Crossover
crossover_type,crossover_conversion_rate, and the prospect, converted and habit brand sets.- Purchase and interest
- Baskets, spend, repeat rate and active months, alongside searches, product views and per-surface engagement.
- Time and seasonal
- Nineteen day and day-part columns for media scheduling, plus peak month, trend, lapse and reactivation flags.
How teams use it
What it supports
Research-to-purchase conversion
Identify people who researched a brand and never bought it, per brand.
Repertoire and switching
Share-of-requirements and repertoire breadth, computed from clean category shares.
Brand concentration and loyalty
Concentration and top-brand share, conditioned on how long a person was observed.
Media timing
Day-part and day-of-week planning, including browse-and-buy on the same day.
Sample query
Research-to-purchase crossover by market
SELECT
identity_market,
crossover_type,
COUNT(DISTINCT user_id) AS profiles,
ROUND(AVG(brand_hhi), 3) AS brand_concentration,
ROUND(AVG(brand_distinct), 1) AS brands_per_person,
ROUND(AVG(crossover_conversion_rate), 3) AS conversion_rate
FROM cpg_personas_v3
WHERE engagement_active_months >= 3
GROUP BY identity_market, crossover_type
HAVING COUNT(DISTINCT user_id) >= 20
ORDER BY profiles DESC;Conditioning on active months matters: brand concentration is censored by observation length, so someone seen for a single month looks perfectly loyal.
Specifications
What ships
| Dataset | cpg_personas_v3 |
|---|---|
| Grain | One row per person per market, unique on user_id |
| Field count | 306 columns in GB, 307 in the US. A surface absent from a market produces no columns rather than empty ones. |
| Categories | Thirteen: carbonated soft drinks, juice, tea, coffee, energy drinks, water, drink mixes, sports drinks, ready-to-drink coffee, ready-to-drink tea, hot chocolate, functional drinks, non-alcoholic alternatives. |
| Surfaces | Amazon purchases, Tesco purchases in GB, TikTok Shop purchases and browsing, Google search, Chrome browsing, Safari browsing. |
| Demographics | Age band, gender, education, household income and device, on each row and effectively complete. |
| Geography | United Kingdom, United States. GB carries Tesco basket data and the US does not. |
| Window | 12 months, June 2025 to May 2026 |
| Refresh cadence | Quarterly |
| Format | Native tables on Snowflake and Databricks |
| PII | None. No names, emails or device identifiers. |
Privacy & provenance
Aggregated features only
Every column in this dataset is a derived, aggregated behavioural feature: a rate, a share, a concentration index, a count, a flag. Raw purchase rows are never exposed and are not part of what ships. All data comes from participants who opted in through the Measure app and browser extension. Participants are compensated, are told what is collected, and can withdraw at any time.
- No personal identifiers are included: no names, emails or device IDs.
- `user_id` is a pseudonym. The mapping that could resolve it to a person is internal and is not shared.
- Brand and category matching is pattern-based, so it is precise on branded strings and looser on generic ones.
- Handled in line with GDPR, CCPA and applicable data protection law.
Request access
Talk to us about scope, sample data and licensing.
Snowflake Marketplace, Databricks Marketplace