🎉 Measure Predict is now live 🎉 Agentic cross-platform behavioral intelligence in your pocket. Try for free →
Back to all datasets
Data listing for Snowflake and Databricks

CPG Beverage Personas

Individual-level beverage purchase profiles, built from first-party consented retail purchase activity. Each row is one anonymised person, with every beverage purchase classified to a brand and category, then rolled up into loyalty, need-state and momentum signals.

78 to 88
Features per profile
8
Beverage categories
US, UK, India
Markets
Monthly
Refreshed
Jan 2025
History from

What this is

Built from real baskets

Loyalty and switching in beverages are usually measured by asking people, or modelled from retail share. This dataset is derived from actual retail purchase activity by consented participants: Amazon in the US, Amazon and Tesco in the UK, Amazon and Flipkart in India. Every purchase is classified to brand and category, then resolved to one profile per person.

Why it is different

What the dataset gives you

Any portfolio, share of wallet

Every purchase is classified to brand and category, so you can define whichever portfolio matters to you and measure its share against named competitors inside a person's actual basket, rather than against a market total.

Loyalty, quantified

Brand concentration, primary-brand share, repeat-purchase rate and switching are computed into a clear loyalty read, rather than left as raw baskets for you to model.

Need-state segmentation

A primary-category signal plus per-category shares separates energy drinkers from cola loyalists from hydration seekers, based on what they bought rather than a claimed occasion.

Churn and momentum built in

At-risk, reactivation and trend signals ship with the data, so lapsing and win-back opportunities surface without an extra modelling step.

What is in each profile

Up to 88 features across six blocks

Volume and cadence
volume_purchase_count, units, spend, cadence_mean_interpurchase_days, plus calendar-month and weekday seasonality (cadence_spend_jan through cadence_spend_dec).
Brand
brand_primary, brand_concentration_hhi, per-brand purchase counts, and portfolio share fields.
Category
category_primary as a need-state signal, category diversity, and per-category share of spend.
Loyalty
loyalty_repeat_purchase_rate, loyalty_brand_switching, repertoire depth.
Momentum
momentum_spend_ratio, momentum_trend, momentum_at_risk_flag, momentum_reactivation_flag.
Coverage
Per-retailer coverage flags and coverage_cohort_tier, which buckets people as light, regular or heavy.

How teams use it

Five starting points

01

Portfolio share of wallet

Track a brand portfolio's share against competitors by cohort tier and category, per market.

02

Loyalty and switching

Use brand concentration, repeat-purchase rate and switching to separate loyalists from switchers, and size each group.

03

Need-state audiences

Build audiences on primary category and per-category share: energy versus water versus cola versus sports.

04

Churn and win-back

Filter at-risk and reactivation signals against days since last purchase to catch buyers as they lapse.

05

Seasonality and cadence planning

Use calendar-month and weekday spend patterns to time promotions to when people actually buy.

Sample query

At-risk portfolio loyalists by market

SELECT
    b."identity_market",
    b."brand_primary",
    COUNT(DISTINCT b."user_id")                            AS unique_personas,
    ROUND(AVG(b."brand_coke_portfolio_share"), 3)          AS avg_portfolio_share,
    ROUND(AVG(b."identity_days_since_last_purchase"), 0)   AS avg_days_since_last
FROM MEASURE_EVENT_METRICS_PROD.ACCESS.CPG_BEVERAGE_PERSONAS b
WHERE b."brand_coke_portfolio_share" >= 0.8
  AND b."momentum_at_risk_flag" = 1
GROUP BY b."identity_market", b."brand_primary"
HAVING COUNT(DISTINCT b."user_id") >= 20
ORDER BY unique_personas DESC;

The HAVING clause in this example limits results to groups of at least 20 people.

Specifications

What ships

GrainOne row per anonymised person
AggregationDerived behavioural features only: rates, shares, indices and flags. No raw purchase rows.
Field count78 to 88 columns. The count varies by market, because the brand and category taxonomy differs by retailer footprint.
CategoriesCola, flavoured carbonate, energy, sports drink, water, juice, tea, coffee
RetailersUS: Amazon. UK: Amazon and Tesco. India: Amazon and Flipkart.
DemographicsBasic demographic groupings are included as fields on each row, so no separate profile table is needed.
GeographyUnited States, United Kingdom, India
History from1 January 2025
Refresh cadenceMonthly
FormatSnowflake native table
PIINone. 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 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.
  • Purchase data is scrubbed and anonymised before any feature is built.
  • 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