ACM MegaMarket: OCR a Partial Receipt Collection and Repair Its CSV

Extract receipts from three PDF parts, check which sales they cover, and fix a broken CSV export.

advanced

Difficulty Level

6-10 hours

Estimated Time

Topics & Skills

retailocrdata-cleaningreconciliation

Getting Started

Open the dataset folder below, grab the files, and read through the challenge. Try to solve the problem yourself before looking at the solution!

Dataset Files

Open Dataset Folder on SharePoint

Browse the folder and download the files listed in the challenge.

Scenario & Problem Statement

The challenge


Build sales records from the PDF receipts, then find out how much of the full dataset they cover. You'll also fix a CSV export and use the complete JSON to explore the store's sales.


Start here


Open the SharePoint folder linked above. MegaMarketSalesReceipts_1.pdf, _2.pdf, and _3.pdf each have 500 pages; AggregateMegaMarketSales.zip packages those three PDFs. SimulationDataACMMegaMarket.pdf is a two-page generator summary/preview. transactions_2025-09-06.json is the complete structured reference, and transactions_2025-09-06.csv is another export with broken quoting inside the items column.


Render the first and last pages of each receipt PDF. The first page of each part has no extractable text layer. Many have two receipts, so neither PDF page count nor archive member count equals transaction count.


Try it


1. OCR receipt regions, recover item rows, and match them to the structured reference.

2. Establish the observed PDF coverage and explain why a missing reference match is not automatically an OCR failure.

3. Produce valid CSV from the nested data and show what is wrong with the included CSV.

4. Calculate revenue for the full dataset, units, and product rankings while keeping partial-PDF results separate.


What to build


Build an extracted receipt subset, a coverage/matching ledger, normalized transaction and item schemas, a CSV repair walkthrough, and answers for the full dataset. State clearly whether each result came from OCR or the answer export.


Related Datasets

ACME 1,000 Receipts: Extract Transactions and Explain Adjustments

Turn 1,000 PDF receipts into clean tables and figure out why some totals differ from the item prices.

retailpdf-extractioncsv+1

ACME Million: Stream Nested Sales Data and Audit Its Metadata

Work through a million sales records in small batches, check loyalty discounts, and spot mistakes in the summary.

retailbig-datajson+1

Cat Gacha: Clean Contaminated Logs and Estimate Pull Probabilities

Clean up game pull logs, remove repeated snapshots, and estimate how often each cat appears.

jsondata-cleaningprobability+1

Finished with this dataset?

Explore more datasets to continue building your data analysis and problem-solving skills.

Browse More Datasets