# Basket and discount rule book

All prices are USD. Buy exactly one of each item. The shopper has a free store membership. There are no taxes, shipping charges, minimum order fees, or inventory limits.

| SKU | Product | Shelf price |
|---|---|---:|
| CF | Ground coffee, 12 oz | $19.00 |
| CE | Breakfast cereal, 18 oz | $8.00 |
| PA | Dry pasta, 1 lb | $6.00 |
| DE | Laundry detergent, 64 fl oz | $27.00 |
| TP | Toothpaste, 4 oz | $9.00 |
| SH | Shampoo, 12 fl oz | $14.00 |
| | **Shelf-price total** | **$83.00** |

## Checkout mechanics

- Any nonempty subset of the six items can be purchased on a receipt. Each item is bought exactly once, and any number of receipts is allowed.
- Rule **R001** is the member price: subtract 10% from each item's shelf price before adding the receipt subtotal. It applies on every receipt. Member prices are CF $17.10, CE $7.20, PA $5.40, DE $24.30, TP $8.10, and SH $12.60; the combined member subtotal is $74.70.
- Rules **R002–R100** are 99 distinct, single-use dollar-off coupons. At most one coupon can be used per receipt. A coupon can be used on at most one receipt across the whole shopping trip. A receipt may use no coupon.
- Coupon thresholds refer to that receipt's **post-member, pre-coupon** subtotal. A coupon applies to the whole receipt if its campaign's item condition and its minimum subtotal are both satisfied. Its dollar discount cannot exceed the receipt subtotal.
- Coupons may be combined with R001, but not with each other on the same receipt. No other discounts apply. Splitting purchases does not reset or duplicate a coupon.

## Coupon campaigns and exact rule index

Each cell below is **one rule**. The column header is its minimum post-member receipt subtotal. The cell gives its exact ID and dollar discount. Thus the nine rows and eleven cells per row specify 99 coupon rules; with R001 there are **exactly 100 discount rules**. The item condition is applied to the receipt, not to the whole trip.

| Campaign and receipt item condition | $5 | $10 | $15 | $20 | $25 | $30 | $35 | $40 | $45 | $50 | $55 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Coffee: includes CF | R002 $1.00 | R003 $1.45 | R004 $1.90 | R005 $2.35 | R006 $2.80 | R007 $3.25 | R008 $3.70 | R009 $4.15 | R010 $4.60 | R011 $5.05 | R012 $5.50 |
| Pantry: includes CE or PA | R013 $0.75 | R014 $1.15 | R015 $1.55 | R016 $1.95 | R017 $2.35 | R018 $2.75 | R019 $3.15 | R020 $3.55 | R021 $3.95 | R022 $4.35 | R023 $4.75 |
| Laundry: includes DE | R024 $1.50 | R025 $2.15 | R026 $2.80 | R027 $3.45 | R028 $4.10 | R029 $4.75 | R030 $5.40 | R031 $6.05 | R032 $6.70 | R033 $7.35 | R034 $8.00 |
| Hair and oral care: includes TP or SH | R035 $1.00 | R036 $1.50 | R037 $2.00 | R038 $2.50 | R039 $3.00 | R040 $3.50 | R041 $4.00 | R042 $4.50 | R043 $5.00 | R044 $5.50 | R045 $6.00 |
| Breakfast bundle: includes CF and CE | R046 $2.00 | R047 $2.80 | R048 $3.60 | R049 $4.40 | R050 $5.20 | R051 $6.00 | R052 $6.80 | R053 $7.60 | R054 $8.40 | R055 $9.20 | R056 $10.00 |
| Pasta and laundry: includes PA and DE | R057 $2.50 | R058 $3.30 | R059 $4.10 | R060 $4.90 | R061 $5.70 | R062 $6.50 | R063 $7.30 | R064 $8.10 | R065 $8.90 | R066 $9.70 | R067 $10.50 |
| Cleaning and care: includes DE and TP | R068 $3.00 | R069 $3.85 | R070 $4.70 | R071 $5.55 | R072 $6.40 | R073 $7.25 | R074 $8.10 | R075 $8.95 | R076 $9.80 | R077 $10.65 | R078 $11.50 |
| Mixed basket: at least 2 distinct SKUs | R079 $2.00 | R080 $2.75 | R081 $3.50 | R082 $4.25 | R083 $5.00 | R084 $5.75 | R085 $6.50 | R086 $7.25 | R087 $8.00 | R088 $8.75 | R089 $9.50 |
| Large basket: at least 3 distinct SKUs | R090 $3.00 | R091 $4.00 | R092 $5.00 | R093 $6.00 | R094 $7.00 | R095 $8.00 | R096 $9.00 | R097 $10.00 | R098 $11.00 | R099 $12.00 | R100 $13.00 |

This is a synthetic but store-like offer book designed to test coupon stacking. Some offers will be dominated or ineligible for this basket, as happens when a shopper has many saved offers.
