Basic Programming for Data Analysis
What this domain tests
This domain tests whether you can automate fraud analysis reproducibly: reading and cleaning data, joining sources, matching entities, and validating results. Expect items on merge effects, string matching, and handling sensitive data.
Core rules
- Read data into a dataframe, then inspect shape, types, and missingness before analysis.
- Filter and aggregate with grouped operations rather than hand-edited spreadsheets.
- Merge on keys with an explicit cardinality check; verify row counts before and after.
- Normalize text before matching: uppercase, strip punctuation, standardize street suffixes, then fuzzy match with a documented score threshold.
- Parse dates with an explicit format and fail loudly when parsing fails.
- Wrap repeated logic in functions with parameters; log thresholds and run dates.
- Add assertions that check totals against a control number.
- Keep raw files read-only, version the script, and never write personal data to local storage.
Worked example
Goal: link agents to addresses. Reasoning: raw addresses differ by punctuation, abbreviations, and unit formats, so exact matching undercounts shared addresses. Normalize both sides, then fuzzy match; accept scores of 90 or above automatically, route 85–89 to human review, and discard below 85. Record the threshold and the number of pairs in each band, because a reviewer must be able to see how many links were auto-accepted and how many were judgment calls.
Traps that cost marks
- Merging many-to-many and silently multiplying paid amounts.
- Over-escaping regular expressions so nothing matches.
- Assuming a file encoding and losing accented names.
- Overwriting raw data or leaving no record of the thresholds used.