Cat Gacha: Clean Contaminated Logs and Estimate Pull Probabilities

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

intermediate

Difficulty Level

3-5 hours

Estimated Time

Topics & Skills

jsondata-cleaningprobabilitystatistical-inference

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


How rare is your favorite cat? Clean up the community's pull logs and estimate the odds. Try it without the answer metadata first, then compare your estimates with the game settings.


Start here


Open the SharePoint folder linked above. challenge/blind_gachaPullData.zip contains six blind JSON exports; loose copies are under challenge/blind_gachaPullData/gachaPullData. The names run from gacha-pulls-2025-09-06_blind.json through the numbered (1) to (5) variants.


The answers folder contains six matching JSON exports with metadata, analysisScript.py, metdata_stripper.py, exampleAnalysis.zip, and CatGameGachaPullsCorrect.pdf. Read the file beginnings and endings as text before calling a JSON parser. Save the answer metadata for the final comparison.


Try it


1. Extract the actual pulls object and document the surrounding non-data text.

2. Determine whether the six files are independent sessions or cumulative snapshots.

3. Produce one clean pull table and a probability estimate for every card, including rare cards.

4. Compare estimates and 95% intervals with the configured probabilities after revealing the answers.


What to build


Build a cleaned JSON object or CSV with id, timestamp, result, and pullNumber; a duplicate and contamination report; and a card-frequency table with counts, total pulls, estimated odds, and intervals. Include a brief explanation of what the data can say about fairness.


Related Datasets

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

100 Scanned Claims: OCR, Expense Tables, and Missing Evidence

Read scanned claim forms with OCR, rebuild their expense tables, and check your results against the originals.

insuranceocrjson+1

Transaction Imports: Reconcile CSV, OFX, QFX, and a Mislabeled QBO

Combine four exports into one 20-row ledger and explore spending, recurring charges, and transfers.

transactionsdata-cleaningcsv+1

Finished with this dataset?

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

Browse More Datasets