# Repair duplicate and out-of-period rows

Fictional teaching data. These records are not client results. Extracted October 23; outcome cutoff October 20. The later extract includes a post-cutoff opportunity so you can practice excluding it.

1. Open report-repair-exercise.json. Delivery row duplicate-export-A repeats ad set A for the same September period, with the same metrics and fictional export provenance. A raw sum would show $7,500 spend, 150,000 impressions, 750 clicks, and 39 conversion credits. Those are incorrect totals caused by an overlapping export row.
2. Try the file in the worksheet. Duplicate ad_set_id A must be rejected and your last valid report must remain intact. In the JSON, remove only duplicate-export-A after confirming the identical source row. Do not relabel its ad-set ID to make validation pass. report-repair-corrected.json contains that repair.
3. Apply the corrected JSON. Person p7 has acquisition_date 2026-10-02, outside the September cohort. Opportunity o3 was created 2026-10-22, after the 2026-10-20 cutoff. Both remain in the source record with explicit exclusion notes; neither belongs in September outcome totals.
4. The accepted delivery totals are $4,500, 90,000 impressions, 450 chargeable clicks, and 24 platform conversion credits. Six people, four known-qualified, one unknown qualification, two distinct opportunities, $20,000 open pipeline, and $12,000 recorded won deal value remain. Cost per qualified person remains Unknown because p6 qualification and comparable mapping are still unresolved.
5. Preserve the original source and corrected record. The duplicate explains the extra $3,000 spend; the repeated A row adds 60,000 impressions, 300 clicks, and 15 credits. The platform 24 credits versus 6 CRM people still has no event-level identity match. Do not invent 18 lost leads or force a numerical partition.

Next action: request p6 qualification evidence and scope confirmation. This exercise repairs duplicate scope and cutoff errors; it does not establish causal revenue or a complete platform-to-CRM event reconciliation.
