A payments company loses money to card fraud, but its manual review team can only investigate a small fraction of transactions per day. The model you build decides which transactions enter that queue. Flag too few and fraud goes through. Flag too many and the queue backs up while good customers get declined. Your job is to find the operating point that saves the most money inside the capacity the business actually has.
Establish the fraud rate overall and, separately, for accounts with no spend history.
Implement explore_fraud(train_df) returning a dict with:
The last two numbers are the point of this milestone. Compare them before you move on.
Evaluated server-side against a hidden test set.