| Requirement | Verdict | Evidence |
|---|---|---|
| deduped_total The exact duplicate O-009 row is counted once: 13 unique orders have total net revenue of $1,430. | ✓ | Response states 'leaving 13 unique orders' and sums net revenue to $1,430. |
| reconciliation Both models reconcile to $1,330 assigned non-Direct net revenue plus $100 unattributed Direct-only revenue. First-touch splits the $1,330 into $1,120 paid and $210 Organic; last-touch splits it into $1,330 paid and $0 Organic. | ✓ | Reconciliation table shows FT: $1,120 paid + $210 Organic + $100 Direct = $1,430; LT: $1,330 paid + $0 Organic + $100 Direct = $1,430. |
| first_touch_oracle First-touch paid results are correct: Meta $450 / 0.75 ROAS, Paid Search $380 / about 0.63 ROAS, Email $290 / about 0.48 ROAS. | ✓ | FT table lists Meta $450/0.75x, Paid Search $380/0.63x, Email $290/0.48x, matching expected values. |
| last_touch_oracle Last-touch paid results are correct: Meta $400 / about 0.67 ROAS, Paid Search $300 / 0.50 ROAS, Email $630 / 1.05 ROAS. | ✓ | LT table lists Meta $400/0.67x, Paid Search $300/0.50x, Email $630/1.05x, matching expected values. |
| winners_flip Meta is named the first-touch winner and Email the last-touch winner; no single paid winner is claimed across both models. | ✓ | Section (3) names 'First-Touch Winner: Meta' and 'Last-Touch Winner: Email' without declaring a single overall winner. |
| refund_preserved O-013 remains -$120 and is attributed to Meta under first-touch and Email under last-touch; it is not dropped, zeroed, or converted to positive revenue. | ✓ | O-013 is listed as -$120 with Meta as First-Touch and Email as Last-Touch attribution, included negatively in both channel sums. |
| model_definitions The analysis applies the supplied first/last non-Direct definitions consistently and does not invent fractional or platform-reported attribution. | ✓ | The attribution matrix correctly excludes Direct touches (e.g., O-006 Paid Search/Paid Search, O-001 Meta/Email) with no fractional or platform-based credit used. |
| assumptions_and_limit Assumptions are explicit; one consequential data limitation is named with how resolving it could change the recommendation; and attribution is not presented as proof of causation. Valid limitations are not restricted to one prescribed answer. | ✓ | Section (5) lists four explicit assumptions and names lack of incrementality/counterfactual data as the key limitation, explaining how a holdout test could reverse the last-touch recommendation, while explicitly noting attribution 'does not measure incremental lift or establish causation.' |
| conditional_recommendation The recommendation correctly distinguishes model-robust from model-dependent conclusions, does not declare a universal Meta-versus-Email winner, and does not treat either attribution rule as causal grounds for a decisive reallocation. It may either note that Paid Search is not the descriptive winner under these rules or defer all reallocation pending stronger evidence. | ✓ | The response separates 'Robust Conclusions' (e.g., Paid Search underperforms under both models) from 'Model-Dependent Conclusions' (Email's FT vs LT profitability) without declaring a universal Meta-vs-Email winner. |
| auditable_math The response shows enough order grouping, sums, and revenue/spend arithmetic for a reviewer to reproduce both tables. | ✓ | The 'Arithmetic Audit by Channel' section itemizes each order's contribution to Meta, Paid Search, and Email sums under both models, enabling reproduction of the tables. |