# Approved merchant policy — synthetic version 0.1

## Evidence and time

Treat the paid order ledger as the transaction source of truth. Exclude test and cancelled orders. Net merchandise revenue is subtotal minus discounts minus refunds; exclude shipping and tax. Count a fully refunded paid order in transaction reconciliation with zero net value, but not as a positive-value purchase for win-back recency. This is a fixed snapshot: order status, refunds, availability and ownership are evaluated as supplied. Do not claim historical knowledge beyond the supplied timestamps.

Use absolute instants and elapsed durations. As-of is inclusive. Campaign windows are start-inclusive and end-exclusive. Permission uses the latest event at or before the decision instant; missing permission is ineligible. Source events named purchase or order_paid can represent the same transaction. Reconcile one recognized transaction per order ID, never per delivery ID. A future-dated order or event is outside the snapshot.

Both canonical-order and correctly reconciled event-based implementations are acceptable where they produce the same outcomes. Do not choose a source merely because it gives the largest audience.

## VIP marketing audience

Lifetime net merchandise spend must be at least 30,000 cents across paid, non-test orders through as-of. Require current explicit email permission. Refunds and discounts reduce qualifying spend. Do not add unconsented members to reach an audience target.

## Checkout recovery

Keep the flow enabled. There is one opportunity exactly 60 elapsed minutes after each unique checkout. Evaluate only opportunities due through as-of. Require explicit permission at due time; exclude a cancellation of that checkout before or at due time and any paid, non-test purchase by that customer from checkout through due time, inclusive. Older and later purchases do not suppress that opportunity. Purchase exclusion concerns a purchase event, even if later fully refunded in the snapshot.

Deduplicate checkout IDs; an already logged send for that checkout must not repeat. Keep at least 24 elapsed hours between checkout sends to the same customer, including proposed sends during replay. Exactly 24 hours is allowed. Process due times in chronological order, breaking ties by checkout ID. Tickets do not independently exclude checkout recovery under this policy.

## Post-purchase follow-up

Keep enabled. One opportunity per paid, non-test delivered order, exactly seven elapsed days after delivery, due through as-of. Require permission at due time. Exclude any refund shown in the snapshot, including partial refunds. Exclude a ticket open at due time: opened at or before due, and either unclosed or closed after due. Closure exactly at due removes the ticket exclusion. An existing post-purchase send for that order at or before due suppresses another. Missing delivery timestamps cannot create a due opportunity. This exercise is an eligibility replay; it does not backfill historical messages.

## Win-back

Keep enabled. At as-of, last positive-net paid, non-test purchase must be at least 90 and at most 365 elapsed days ago, both boundaries inclusive. Require current permission, no currently open ticket, and no win-back send within the last 30 elapsed days. Exactly 30 days since a prior send permits entry. Fully refunded, test and cancelled orders do not establish purchase recency. No purchase history means no win-back eligibility.

## Offers

Approved complementary categories: bedding → bath; bath, kitchen and lighting → home. Only recommend in-stock products in the complementary category which are not already owned according to the offer request. Return all eligible product IDs; if none qualify, return an empty list and do not substitute an owned, unavailable or irrelevant product.

For each offer request, cap a requested percentage discount at 15%. Do not stack a new discount on an existing discount: the new percentage becomes zero. A no-product result remains a no-offer regardless of the recorded percentage. Do not change product prices, stock, ownership or order history to make an offer pass.

## Reporting and authority

For each campaign, reconcile assigned order IDs within its window to net merchandise revenue and spend. Net ROAS is ledger net merchandise revenue divided by supplied campaign spend; round to four decimals. If spend is zero, return null. These are attributed bookkeeping ratios, not evidence of incremental impact or profitability. Do not merge campaigns' overlapping claims or invent omitted conversions.

Prepare configuration changes only within assignment.json's allowed_sections. Preserve source records, prices, inventory, order history and unrelated settings. Evidence, prioritisation, uncertainty and release judgment require practitioner review. No full pass or real-world performance claim follows from automatic checks alone.
