Synthetic Retail Promotion Uplift

This dataset provides granular sales transaction records enriched with detailed promotion and campaign information, enabling precise uplift analysis for retail marketing teams. It supports measurement of promotional effectiveness across products, stores, channels, and customer segments, making it ideal for optimizing campaign strategies and maximizing ROI.

  • opened 5 times
  • last updated 22 Jul 2025
  • by GoMask
The brief that made it

Measuring the incremental sales impact of marketing promotions using uplift modeling

Sample rows

preview · 8 of 200 rows · all 18 columns
transaction_idstringuplift_groupstringunit_pricefloatpromotion_appliedbooleanstore_regionstringtransaction_datedatestore_idstringcustomer_idstringproduct_idstringproduct_categorystringquantity_soldintegertotal_sales_amountfloatpromotion_idstringpromotion_typestringpromotion_discount_amountfloatpromotion_discount_percentfloatcampaign_idstringsales_channelstring
TX000001control349.99falsePacific2021-01-01S-101C-1001P-2001Electronics2699.98blankblank00blankin-store
TX000002treatment1.99trueSouth2021-07-04S-003C-1002P-2002Groceries120214.32PR-3001discount24.4810CA-4001in-store
TX000003treatment29.99falseCentral2022-11-24S-014C-1003P-2003Clothing389.97blankblank00blankonline
TX000004control39.99trueMidwest2023-02-14S-202C-1004P-2004Home & Garden133.99PR-3002rebate615CA-4002in-store
TX000005treatment17.5falseNortheast2022-12-25S-049C-1005P-2005Toys470blankblank00blankin-store
TX000006control13.5falsePacific2024-02-29S-101C-1006P-2006Beauty567.5blankblank00blankmobile
TX000007treatment2.29trueSouth2024-03-17S-003C-1007P-2007Groceries5001000PR-3003coupon14512.7CA-4003in-store
TX000008control24.99trueCentral2023-10-31S-014blankP-2008Toys244.99PR-3004coupon510CA-4001mobile

What the 200 rows show

from the 200-row sample
  • 43%promotion_applied = true
  • 20.0median unit_price
  • 3sales channels
  • 4promotion types
  • 9product categories
  • 53stores
uplift_group200 rows by value
055110107treatment54%93control47%
unit_price200 rows, in bands of 5,000
0100200193400000003025k50kunit_price →

Median 20.0, from 0.0 to 50,000.

store_region192 rows with a value · 8 left blank
  1. Pacific50
  2. Central44
  3. South37
  4. Midwest21
  5. Northeast14
  6. West13
  7. Southeast7
  8. Unknown6
18 columns by typefrom the column list below
  • string 11
  • integer 1
  • float 4
  • date 1
  • boolean 1

Columns

18 columns in four groups
blueprint · 18 columns
columntypedescriptionexample
Text 11 columns
transaction_idstringUnique identifier for each sales transaction record.uniqueTX000001
store_idstringUnique identifier for the retail store where the transaction took place.S-101
store_regionstringGeographical region or market segment of the store.8 regions · optionalPacific
customer_idstringUnique identifier for the customer making the purchase.optionalC-1001
product_idstringUnique identifier for the product sold.P-2001
product_categorystringCategory or type of the product sold.9 categories · optionalElectronics
promotion_idstringUnique identifier for the promotion applied (if any).optionalPR-3001
promotion_typestringType of promotion used (e.g., discount, BOGO, coupon).discount · bogo · coupon · rebate · none · optionaldiscount
campaign_idstringIdentifier for the marketing campaign associated with the promotion.optionalCA-4001
uplift_groupstringExperimental group assignment for uplift analysis (e.g., treatment, control).treatment · controlcontrol
sales_channelstringChannel through which the sale was made (e.g., in-store, online, mobile).in-store · online · mobile · optionalin-store
Numbers 5 columns
quantity_soldintegerNumber of units of the product sold in the transaction.1 or more2
unit_pricefloatPrice per unit of the product at the time of sale.0 or more349.99
total_sales_amountfloatTotal sales amount for the transaction (quantity_sold * unit_price).0 or more699.98
promotion_discount_amountfloatAbsolute discount amount applied to the transaction due to promotion.0 or more · optional0
promotion_discount_percentfloatPercentage discount applied to the transaction due to promotion.0 to 100 · optional0
Dates and times 1 column
transaction_datedateDate when the sales transaction occurred.2021-01-01
True or false 1 column
promotion_appliedbooleanIndicates whether a promotion was applied to the transaction.false

Use it for

  • promotion appl…43%86 of 200 rowsmean unit price by up…2ktreatm…369.8control

    A marketing dashboard

    The promotion_applied rate, unit_price by uplift_group and a breakdown of store_region. Excel, Power BI or Tableau.

  • Why do 86 of 200 rows have promotion_applied = true?

    A class exercise

    Hand out the rows and one question. Everyone works from the same 200 rows.

  • A software demo

    Believable transactions with transaction_date, store_id and store_region to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 18 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset200 rows18 columns
Yours1,000 rows18 columnsstore_region: UK only

blueprint · synthetic-retail-promotion-uplift

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 18 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Baseline and promotional sales tracked
  • Multiple channels (in-store, online) simulated
  • Customer segments respond differently
  • Seasonal effects modeled
  • Outliers flagged for audit
Rows
Open the blueprint in Data Factory

1 credit per row. New accounts start with 25 free credits.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
synthetic-retail-promotion-uplift

What should your data show?

Preview 20 rows free
No signup. No card.