{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "70c69eb3",
   "metadata": {},
   "source": [
    "# Credit-card fraud: from a risk score to a defensible decision\n",
    "**Gareth Grant · Data analytics portfolio · Teaching edition · 5 October 2026**\n",
    "\n",
    "An interpretable fraud-screening workflow, with logistic regression implemented from\n",
    "first principles and compared with scikit-learn on the same data. Each numbered code\n",
    "cell has one purpose and a short explanation. You can add comments directly to that\n",
    "cell or place your own markdown underneath it.\n",
    "\n",
    "**The decision:** which transactions should an analyst review, given the cost of\n",
    "missed fraud, the inconvenience of false alerts, and a limited review capacity?\n",
    "\n",
    "**What this project demonstrates:** data validation, temporal evaluation, sparse\n",
    "preprocessing, numerical optimisation, rare-event metrics, threshold selection,\n",
    "uncertainty estimation, and communication for decision-makers.\n",
    "\n",
    "**Evidence boundary:** the delivered outputs are a fresh run of the public CSV linked\n",
    "in the original notebook. They are educational benchmark results. Dataset provenance\n",
    "does not establish real-bank performance, causal effects, or savings in production.\n",
    "The cost assumptions are explicitly illustrative. Astronomy is discussed as a\n",
    "separate adaptation of the method, with no astronomy performance claim.\n",
    "\n",
    "## Reading routes\n",
    "\n",
    "| Reader | Suggested route |\n",
    "|---|---|\n",
    "| Recruiter or manager | Purpose → final results → business applications → model card |\n",
    "| Student | Read every numbered explanation and execute the next cell |\n",
    "| Technical reviewer | Data checks → chronological split → objective and gradient checks → frozen policies → test |\n",
    "\n",
    "## Contents\n",
    "\n",
    "1. [Purpose and improvements](#1-purpose-and-improvements)\n",
    "2. [Reproducible setup](#2-reproducible-setup)\n",
    "3. [Data loading and quality](#3-data-loading-and-quality)\n",
    "4. [Chronological partitions](#4-chronological-partitions)\n",
    "5. [Training-data exploration](#5-training-data-exploration)\n",
    "6. [Features and preprocessing](#6-features-and-preprocessing)\n",
    "7. [Logistic regression from first principles](#7-logistic-regression-from-first-principles)\n",
    "8. [Model selection](#8-model-selection)\n",
    "9. [Review policies](#9-review-policies)\n",
    "10. [Final held-out results](#10-final-held-out-results)\n",
    "11. [Uncertainty and interpretation](#11-uncertainty-and-interpretation)\n",
    "12. [Business, government, auditing, and astronomy](#12-business-government-auditing-and-astronomy)\n",
    "13. [Model card and exports](#13-model-card-and-exports)\n",
    "14. [Exercises and references](#14-exercises-and-references)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "89772cc2",
   "metadata": {},
   "source": [
    "<a id=\"1-purpose-and-improvements\"></a>\n",
    "## 1. Purpose and improvements\n",
    "\n",
    "Fraud is rare. A model can classify almost every transaction correctly while failing\n",
    "to identify a single fraudulent transaction. We therefore assess ranking, the\n",
    "transactions sent for review, and the fraud missed, alongside accuracy.\n",
    "\n",
    "The original notebook reported 1,296,675 transactions, including 7,506 labelled fraud.\n",
    "Those counts implied approximately 99.42% accuracy for predicting legitimate on every\n",
    "row. This is a dataset-level arithmetic observation, not a held-out model result.\n",
    "\n",
    "| Issue in the original | Correction in this edition |\n",
    "|---|---|\n",
    "| Encoding, imputation, and SMOTE fitted before splitting | Fit learned transformations on training rows only; use no SMOTE |\n",
    "| Evaluation on a 50:50 resampled population | Preserve observed prevalence in all future evaluation partitions |\n",
    "| `Male` / `Female` mapped against stored `M` / `F` values | Exclude gender from predictors; avoid the faulty mapping |\n",
    "| Text cleaned in `df` while encoding `df_dropped` | Treat category as a category; remove unused NLP processing |\n",
    "| Unscaled scratch-model predictors | Reuse one fitted scaler and encoder for both implementations |\n",
    "| Variables replaced with 100 `make_moons` rows | Keep transaction variables distinct; use no toy data for fraud results |\n",
    "| Tuned model evaluated on its own training data | Select with future validation rows; reserve a final future test |\n",
    "| ROC AUC calculated from hard predictions | Calculate ROC AUC and AP from continuous scores |\n",
    "| Cross-validation after global scaling | Use explicit temporal partitions and train-only preprocessing |\n",
    "| Loss sign error and repeated sigmoid definitions | Use a stable logistic loss; verify its gradient numerically |\n",
    "| Prose disagrees with stored outputs | Generate result commentary from the evaluated metrics |\n",
    "| Different datasets used in a model comparison | Compare the same training sample, features, policy data, and test rows |\n",
    "\n",
    "This is a deliberate redesign. It does not claim that historical and new scores are\n",
    "directly comparable, because the evaluation population and protocol have changed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0184c2e0",
   "metadata": {},
   "source": [
    "<a id=\"2-reproducible-setup\"></a>\n",
    "## 2. Reproducible setup\n",
    "\n",
    "Use Python 3.11 or newer. Install the bundled `requirements.txt`, run\n",
    "`python download_data.py`, and open this notebook from the project folder.\n",
    "Alternatively, download the CSV manually from the [Kaggle source](https://www.kaggle.com/datasets/priyamchoksi/credit-card-transactions-dataset)\n",
    "and place it at `data/credit_card_transactions.csv`.\n",
    "\n",
    "Run **Restart Kernel and Run All**. Changing predictors, costs, or a policy after\n",
    "examining final test results requires a new future holdout for a confirmatory claim.\n",
    "The default sample cap controls training time; validation and test data remain full."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2e82bb8",
   "metadata": {},
   "source": [
    "### Cell 01 · Import data tools\n",
    "\n",
    "These libraries handle tables, arrays, paths, and reproducibility."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "step-001",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Import data tools\n",
    "from pathlib import Path\n",
    "import hashlib\n",
    "import importlib.metadata\n",
    "import json\n",
    "import platform\n",
    "import time\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75719eec",
   "metadata": {},
   "source": [
    "### Cell 02 · Import visual tools\n",
    "\n",
    "Markdown outputs keep the written interpretation tied to the numbers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "step-002",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Import visual tools\n",
    "import matplotlib.pyplot as plt\n",
    "from IPython.display import display, Markdown"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48af7eb8",
   "metadata": {},
   "source": [
    "### Cell 03 · Import preprocessing tools\n",
    "\n",
    "A column transformer applies different rules to numbers and categories."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "step-003",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Import preprocessing tools\n",
    "from scipy import sparse\n",
    "from scipy.special import expit\n",
    "from sklearn.compose import ColumnTransformer\n",
    "from sklearn.impute import SimpleImputer\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import OneHotEncoder, StandardScaler"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dec71457",
   "metadata": {},
   "source": [
    "### Cell 04 · Import evaluation tools\n",
    "\n",
    "Alias the library classifier so it cannot overwrite our scratch functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "step-004",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Import evaluation tools\n",
    "from sklearn.linear_model import LogisticRegression as SklearnLogisticRegression\n",
    "from sklearn.metrics import (\n",
    "    accuracy_score, average_precision_score, balanced_accuracy_score,\n",
    "    brier_score_loss, confusion_matrix, f1_score, log_loss,\n",
    "    precision_recall_curve, precision_score, recall_score, roc_auc_score, roc_curve,\n",
    ")\n",
    "from sklearn.calibration import calibration_curve\n",
    "from threadpoolctl import threadpool_limits"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d500491",
   "metadata": {},
   "source": [
    "### Cell 05 · Choose file locations\n",
    "\n",
    "Change the CSV path here. A missing file produces a clear error; no different dataset is substituted."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "step-005",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Choose file locations\n",
    "CSV_PATH = Path('data/credit_card_transactions.csv')\n",
    "EXPORT_DIR = Path('outputs')\n",
    "WRITE_EXPORTS = True"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59c0f787",
   "metadata": {},
   "source": [
    "### Cell 06 · Choose reproducible run settings\n",
    "\n",
    "Uniform sampling applies only to training. The rare class is not artificially enlarged."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "step-006",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Out[6]: <threadpoolctl.threadpool_limits at 0x7f21c2be4650>\n"
     ]
    }
   ],
   "source": [
    "# Choose reproducible run settings\n",
    "RANDOM_SEED = 42\n",
    "MAX_TRAIN_ROWS = 150_000  # Set to None to train on the entire early period.\n",
    "MAX_ITERATIONS = 1_500\n",
    "GRADIENT_TOLERANCE = 1e-5\n",
    "L2_CANDIDATES = (0.0001, 0.001, 0.01)\n",
    "BOOTSTRAP_REPEATS = 200\n",
    "threadpool_limits(limits=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78f426bd",
   "metadata": {},
   "source": [
    "### Cell 07 · Declare illustrative review assumptions\n",
    "\n",
    "MU means monetary units. These inputs are scenarios, not observed bank charges, exchange rates, or a savings forecast.\n",
    "\n",
    "**Learning question:** Which of these assumptions would you need to obtain from a fraud operations team?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "step-007",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Declare illustrative review assumptions\n",
    "REVIEW_COST_MU = 2.0       # Every alert incurs review work.\n",
    "FALSE_ALERT_FRICTION_MU = 10.0  # Extra cost for alerting a legitimate transaction.\n",
    "MISSED_FRAUD_COST_MU = 500.0   # Constant loss per missed fraud: a simplifying assumption.\n",
    "MAX_POLICY_ALERT_RATE = 0.02   # At most 2% of policy-validation transactions.\n",
    "assert min(REVIEW_COST_MU, FALSE_ALERT_FRICTION_MU, MISSED_FRAUD_COST_MU) >= 0\n",
    "assert 0 < MAX_POLICY_ALERT_RATE <= 1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4c466f60",
   "metadata": {},
   "source": [
    "### Cell 08 · Set a consistent chart style\n",
    "\n",
    "Readable labels, restrained colours, and closed figures make the notebook suitable for a website."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "step-008",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Set a consistent chart style\n",
    "NAVY, SCARLET, SILVER = '#16324F', '#FF2400', '#B8C2CC'\n",
    "plt.rcParams.update({\n",
    "    'figure.figsize': (9, 4.6), 'figure.dpi': 120,\n",
    "    'axes.spines.top': False, 'axes.spines.right': False,\n",
    "    'axes.titleweight': 'bold', 'axes.labelcolor': '#20252B',\n",
    "    'axes.prop_cycle': plt.cycler(color=[NAVY, SCARLET, '#667582']),\n",
    "})"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4726e55f",
   "metadata": {},
   "source": [
    "### Cell 09 · Record the environment\n",
    "\n",
    "The exact dependency versions used in this run are recorded for reproducibility."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "step-009",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Version</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>python</th>\n",
       "      <td>3.12.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>numpy</th>\n",
       "      <td>2.3.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pandas</th>\n",
       "      <td>2.2.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>scipy</th>\n",
       "      <td>1.17.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>scikit-learn</th>\n",
       "      <td>1.8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>matplotlib</th>\n",
       "      <td>3.10.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Version\n",
       "python        3.12.14\n",
       "numpy           2.3.5\n",
       "pandas          2.2.3\n",
       "scipy          1.17.0\n",
       "scikit-learn    1.8.0\n",
       "matplotlib     3.10.8"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Record the environment\n",
    "environment = {'python': platform.python_version()}\n",
    "for package in ['numpy', 'pandas', 'scipy', 'scikit-learn', 'matplotlib']:\n",
    "    environment[package] = importlib.metadata.version(package)\n",
    "display(pd.Series(environment, name='Version').to_frame())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "225a2643",
   "metadata": {},
   "source": [
    "<a id=\"3-data-loading-and-quality\"></a>\n",
    "## 3. Data loading and quality\n",
    "\n",
    "The source listing and the CSV are separate evidence. Trust programmatically\n",
    "verified counts, dates, and schema over a descriptive row-count claim. Record a file\n",
    "hash to identify exactly which bytes were analysed.\n",
    "\n",
    "Names, full addresses, gender, jobs, and dates of birth are not loaded. Account and\n",
    "transaction identifiers are retained only for integrity and dependence checks; they\n",
    "are never predictors or printed in previews. The source does not substantiate a\n",
    "real-bank origin. Its schema and sample resemble the Sparkov simulation family; that\n",
    "resemblance is a provenance clue, not a verified chain of custody. Treat this as an\n",
    "educational benchmark and check source lineage before making operational claims."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e7e96a00",
   "metadata": {},
   "source": [
    "### Cell 10 · Check the file and header\n",
    "\n",
    "The header is read first so missing required fields fail before an expensive load."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "step-010",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CSV fields: 24; size: 354.1 MB\n"
     ]
    }
   ],
   "source": [
    "# Check the file and header\n",
    "if not CSV_PATH.is_file():\n",
    "    raise FileNotFoundError(f'Run download_data.py or place the source CSV at {CSV_PATH.resolve()}')\n",
    "source_columns = pd.read_csv(CSV_PATH, nrows=0).columns.tolist()\n",
    "required_columns = {\n",
    "    'trans_date_trans_time', 'amt', 'category', 'lat', 'long',\n",
    "    'merch_lat', 'merch_long', 'is_fraud',\n",
    "}\n",
    "optional_columns = {'cc_num', 'trans_num'}\n",
    "missing_columns = required_columns - set(source_columns)\n",
    "if missing_columns:\n",
    "    raise ValueError(f'Missing required columns: {sorted(missing_columns)}')\n",
    "print(f'CSV fields: {len(source_columns)}; size: {CSV_PATH.stat().st_size / 1e6:.1f} MB')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6bb62e3",
   "metadata": {},
   "source": [
    "### Cell 11 · Load only the necessary columns\n",
    "\n",
    "Reading identifiers as strings prevents accidental numeric rounding."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "step-011",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loaded 1,296,675 rows and 10 working columns.\n"
     ]
    }
   ],
   "source": [
    "# Load only the necessary columns\n",
    "raw = pd.read_csv(\n",
    "    CSV_PATH, usecols=lambda name: name in required_columns | optional_columns,\n",
    "    dtype={'cc_num': 'string', 'trans_num': 'string', 'category': 'string'},\n",
    ")\n",
    "print(f'Loaded {len(raw):,} rows and {raw.shape[1]} working columns.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c196b967",
   "metadata": {},
   "source": [
    "### Cell 12 · Fingerprint the source file\n",
    "\n",
    "A streamed hash avoids loading the whole CSV into memory a second time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "step-012",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Source SHA-256: 1a100d7d1e5e77442a5ce632293657c099d70ea0991797e92b55eb987da59f9f\n"
     ]
    }
   ],
   "source": [
    "# Fingerprint the source file\n",
    "def file_sha256(path):\n",
    "    digest = hashlib.sha256()\n",
    "    with Path(path).open('rb') as stream:\n",
    "        for block in iter(lambda: stream.read(1024 * 1024), b''):\n",
    "            digest.update(block)\n",
    "    return digest.hexdigest()\n",
    "\n",
    "source_sha256 = file_sha256(CSV_PATH)\n",
    "print('Source SHA-256:', source_sha256)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea8bcd3e",
   "metadata": {},
   "source": [
    "### Cell 13 · Inspect safe fields\n",
    "\n",
    "The preview shows useful modelling fields without account numbers or names."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "step-013",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>trans_date_trans_time</th>\n",
       "      <th>category</th>\n",
       "      <th>amt</th>\n",
       "      <th>is_fraud</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019-01-01 00:00:18</td>\n",
       "      <td>misc_net</td>\n",
       "      <td>4.97</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2019-01-01 00:00:44</td>\n",
       "      <td>grocery_pos</td>\n",
       "      <td>107.23</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2019-01-01 00:00:51</td>\n",
       "      <td>entertainment</td>\n",
       "      <td>220.11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2019-01-01 00:01:16</td>\n",
       "      <td>gas_transport</td>\n",
       "      <td>45.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2019-01-01 00:03:06</td>\n",
       "      <td>misc_pos</td>\n",
       "      <td>41.96</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  trans_date_trans_time       category     amt  is_fraud\n",
       "0   2019-01-01 00:00:18       misc_net    4.97         0\n",
       "1   2019-01-01 00:00:44    grocery_pos  107.23         0\n",
       "2   2019-01-01 00:00:51  entertainment  220.11         0\n",
       "3   2019-01-01 00:01:16  gas_transport   45.00         0\n",
       "4   2019-01-01 00:03:06       misc_pos   41.96         0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Inspect safe fields\n",
    "preview_columns = ['trans_date_trans_time', 'category', 'amt', 'is_fraud']\n",
    "display(raw[preview_columns].head())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34a5522b",
   "metadata": {},
   "source": [
    "### Cell 14 · Count missing inputs\n",
    "\n",
    "Missingness is measured before cleaning. Numeric imputation will be learned later from training rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "step-014",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>missing_rows</th>\n",
       "      <th>missing_percent</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>trans_date_trans_time</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cc_num</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>category</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>amt</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lat</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>long</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>trans_num</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>merch_lat</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>merch_long</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>is_fraud</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       missing_rows  missing_percent\n",
       "trans_date_trans_time             0              0.0\n",
       "cc_num                            0              0.0\n",
       "category                          0              0.0\n",
       "amt                               0              0.0\n",
       "lat                               0              0.0\n",
       "long                              0              0.0\n",
       "trans_num                         0              0.0\n",
       "merch_lat                         0              0.0\n",
       "merch_long                        0              0.0\n",
       "is_fraud                          0              0.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Count missing inputs\n",
    "missing_report = raw.isna().sum().rename('missing_rows').to_frame()\n",
    "missing_report['missing_percent'] = 100 * missing_report['missing_rows'] / len(raw)\n",
    "display(missing_report.sort_values('missing_rows', ascending=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "89357632",
   "metadata": {},
   "source": [
    "### Cell 15 · Validate binary labels\n",
    "\n",
    "Unknown or absent outcomes cannot silently become legitimate transactions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "step-015",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "is_fraud\n",
      "Legitimate    1289169\n",
      "Fraud            7506\n",
      "Name: count, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# Validate binary labels\n",
    "labels = pd.to_numeric(raw['is_fraud'], errors='coerce')\n",
    "if labels.isna().any() or not set(labels.unique()).issubset({0, 1}):\n",
    "    raise ValueError('is_fraud must contain only known labels 0 and 1.')\n",
    "raw['is_fraud'] = labels.astype('int8')\n",
    "print(raw['is_fraud'].value_counts().rename(index={0: 'Legitimate', 1: 'Fraud'}))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08ba6834",
   "metadata": {},
   "source": [
    "### Cell 16 · Parse transaction timestamps\n",
    "\n",
    "The recorded transaction timestamp controls the split. We do not assume a timezone or reinterpret the redundant unix_time field."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "step-016",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Unparseable timestamps: 0\n"
     ]
    }
   ],
   "source": [
    "# Parse transaction timestamps\n",
    "raw['timestamp'] = pd.to_datetime(raw['trans_date_trans_time'], errors='coerce')\n",
    "invalid_time_rows = int(raw['timestamp'].isna().sum())\n",
    "print(f'Unparseable timestamps: {invalid_time_rows:,}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a20cfb5",
   "metadata": {},
   "source": [
    "### Cell 17 · Coerce numeric fields\n",
    "\n",
    "Invalid coordinates become missing values. Negative or non-finite amounts are excluded in the next cell."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "step-017",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Coerce numeric fields\n",
    "numeric_source_columns = ['amt', 'lat', 'long', 'merch_lat', 'merch_long']\n",
    "for column in numeric_source_columns:\n",
    "    raw[column] = pd.to_numeric(raw[column], errors='coerce').replace([np.inf, -np.inf], np.nan)\n",
    "for column, bound in [('lat', 90), ('merch_lat', 90), ('long', 180), ('merch_long', 180)]:\n",
    "    raw.loc[raw[column].abs() > bound, column] = np.nan"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e959836e",
   "metadata": {},
   "source": [
    "### Cell 18 · Exclude unusable transaction records\n",
    "\n",
    "We require a timestamp for temporal evaluation and a valid non-negative amount for this analysis. Exclusions are counted."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "step-018",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Excluded unusable records: 0\n"
     ]
    }
   ],
   "source": [
    "# Exclude unusable transaction records\n",
    "usable = raw['timestamp'].notna() & raw['amt'].notna() & raw['amt'].ge(0)\n",
    "excluded_rows = int((~usable).sum())\n",
    "data = raw.loc[usable].copy()\n",
    "print(f'Excluded unusable records: {excluded_rows:,}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87fc5577",
   "metadata": {},
   "source": [
    "### Cell 19 · Remove exact duplicate records\n",
    "\n",
    "The irrelevant CSV index was not loaded. Identical transaction records are removed before partitioning."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "step-019",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Exact duplicates removed: 0\n"
     ]
    }
   ],
   "source": [
    "# Remove exact duplicate records\n",
    "exact_duplicates = int(data.duplicated().sum())\n",
    "data = data.drop_duplicates().copy()\n",
    "print(f'Exact duplicates removed: {exact_duplicates:,}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "562130ab",
   "metadata": {},
   "source": [
    "### Cell 20 · Check transaction-identifier integrity\n",
    "\n",
    "Remaining repeated identifiers need investigation instead of silently keeping an arbitrary row."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "step-020",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Transaction-ID integrity check passed where IDs are available.\n"
     ]
    }
   ],
   "source": [
    "# Check transaction-identifier integrity\n",
    "if 'trans_num' in data:\n",
    "    if data['trans_num'].isna().any() or data['trans_num'].duplicated().any():\n",
    "        raise ValueError('Missing or repeated transaction IDs remain; investigate conflicting records.')\n",
    "print('Transaction-ID integrity check passed where IDs are available.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4cf946ed",
   "metadata": {},
   "source": [
    "### Cell 21 · Order the cleaned data\n",
    "\n",
    "A stable sort keeps the run reproducible. Equal timestamps will be assigned to the same temporal partition."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "step-021",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>raw_rows</th>\n",
       "      <td>1296675</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>usable_unique_rows</th>\n",
       "      <td>1296675</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>excluded_unusable_rows</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>exact_duplicates_removed</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>source_column_count</th>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>loaded_column_count</th>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            Count\n",
       "raw_rows                  1296675\n",
       "usable_unique_rows        1296675\n",
       "excluded_unusable_rows          0\n",
       "exact_duplicates_removed        0\n",
       "source_column_count            24\n",
       "loaded_column_count            10"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Order the cleaned data\n",
    "data = data.sort_values('timestamp', kind='stable').reset_index(drop=True)\n",
    "data_quality = {\n",
    "    'raw_rows': len(raw), 'usable_unique_rows': len(data),\n",
    "    'excluded_unusable_rows': excluded_rows, 'exact_duplicates_removed': exact_duplicates,\n",
    "    'source_column_count': len(source_columns), 'loaded_column_count': raw.shape[1] - 1,\n",
    "}\n",
    "display(pd.Series(data_quality, name='Count').to_frame())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "314944d0",
   "metadata": {},
   "source": [
    "<a id=\"4-chronological-partitions\"></a>\n",
    "## 4. Chronological partitions\n",
    "\n",
    "Four successive periods have different jobs. The first trains the model; the second\n",
    "chooses regularisation; the third chooses review thresholds and the final candidate;\n",
    "the last estimates future performance. All fractions are approximate row fractions,\n",
    "with tied timestamps kept together.\n",
    "\n",
    "| Period | Approximate share | Permitted use |\n",
    "|---|---:|---|\n",
    "| Train pool | 60% | EDA, fit preprocessing, fit model |\n",
    "| Model validation | 15% | Select regularisation using average precision, then log loss |\n",
    "| Policy validation | 10% | Select thresholds and candidate using the declared cost scenario |\n",
    "| Final test | 15% | Evaluate frozen choices; estimate uncertainty and diagnose limitations |\n",
    "\n",
    "Accounts may recur across periods: this evaluates future transactions in a partly\n",
    "known-customer population. It does **not** establish performance on entirely new\n",
    "customers. No account ID enters the model. A new-customer deployment needs an\n",
    "additional customer-disjoint evaluation and careful time ordering."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e6c9b8d",
   "metadata": {},
   "source": [
    "### Cell 22 · Set temporal cut points\n",
    "\n",
    "Cut points depend on recorded times, not on which split gives better model scores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "step-022",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Set temporal cut points\n",
    "if len(data) < 1_000:\n",
    "    raise ValueError('Too few records for this four-part teaching protocol.')\n",
    "cut_train = data['timestamp'].iloc[int(len(data) * 0.60)]\n",
    "cut_model = data['timestamp'].iloc[int(len(data) * 0.75)]\n",
    "cut_policy = data['timestamp'].iloc[int(len(data) * 0.85)]\n",
    "assert cut_train < cut_model < cut_policy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d45fe2e8",
   "metadata": {},
   "source": [
    "### Cell 23 · Create the four partitions\n",
    "\n",
    "Each record belongs to exactly one period."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "step-023",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Create the four partitions\n",
    "train_pool = data.loc[data['timestamp'] < cut_train].copy()\n",
    "model_val = data.loc[data['timestamp'].ge(cut_train) & data['timestamp'].lt(cut_model)].copy()\n",
    "policy_val = data.loc[data['timestamp'].ge(cut_model) & data['timestamp'].lt(cut_policy)].copy()\n",
    "test = data.loc[data['timestamp'] >= cut_policy].copy()\n",
    "partitions = {'Train pool': train_pool, 'Model validation': model_val,\n",
    "              'Policy validation': policy_val, 'Final test': test}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ac136d24",
   "metadata": {},
   "source": [
    "### Cell 24 · Verify separation and label support\n",
    "\n",
    "These checks catch empty periods, reused rows, tied-time leakage, and missing classes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "step-024",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Temporal separation, row disjointness, and class-support checks passed.\n"
     ]
    }
   ],
   "source": [
    "# Verify separation and label support\n",
    "assert sum(len(frame) for frame in partitions.values()) == len(data)\n",
    "all_indices = np.concatenate([frame.index.to_numpy() for frame in partitions.values()])\n",
    "assert len(np.unique(all_indices)) == len(data)\n",
    "frames = list(partitions.values())\n",
    "for earlier, later in zip(frames[:-1], frames[1:]):\n",
    "    assert earlier['timestamp'].max() < later['timestamp'].min()\n",
    "for frame in frames:\n",
    "    assert set(frame['is_fraud'].unique()) == {0, 1}, 'Both classes are required in each period.'\n",
    "print('Temporal separation, row disjointness, and class-support checks passed.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59b21412",
   "metadata": {},
   "source": [
    "### Cell 25 · Describe the partitions\n",
    "\n",
    "Counts and prevalence are descriptive split checks, not final model scores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "step-025",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style type=\"text/css\">\n",
       "</style>\n",
       "<table id=\"T_c61ef\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th class=\"blank level0\" >&nbsp;</th>\n",
       "      <th id=\"T_c61ef_level0_col0\" class=\"col_heading level0 col0\" >rows</th>\n",
       "      <th id=\"T_c61ef_level0_col1\" class=\"col_heading level0 col1\" >frauds</th>\n",
       "      <th id=\"T_c61ef_level0_col2\" class=\"col_heading level0 col2\" >fraud_rate</th>\n",
       "      <th id=\"T_c61ef_level0_col3\" class=\"col_heading level0 col3\" >start</th>\n",
       "      <th id=\"T_c61ef_level0_col4\" class=\"col_heading level0 col4\" >end</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >period</th>\n",
       "      <th class=\"blank col0\" >&nbsp;</th>\n",
       "      <th class=\"blank col1\" >&nbsp;</th>\n",
       "      <th class=\"blank col2\" >&nbsp;</th>\n",
       "      <th class=\"blank col3\" >&nbsp;</th>\n",
       "      <th class=\"blank col4\" >&nbsp;</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th id=\"T_c61ef_level0_row0\" class=\"row_heading level0 row0\" >Train pool</th>\n",
       "      <td id=\"T_c61ef_row0_col0\" class=\"data row0 col0\" >778,005</td>\n",
       "      <td id=\"T_c61ef_row0_col1\" class=\"data row0 col1\" >4,585</td>\n",
       "      <td id=\"T_c61ef_row0_col2\" class=\"data row0 col2\" >0.589%</td>\n",
       "      <td id=\"T_c61ef_row0_col3\" class=\"data row0 col3\" >2019-01-01 00:00:18</td>\n",
       "      <td id=\"T_c61ef_row0_col4\" class=\"data row0 col4\" >2019-11-29 19:37:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_c61ef_level0_row1\" class=\"row_heading level0 row1\" >Model validation</th>\n",
       "      <td id=\"T_c61ef_row1_col0\" class=\"data row1 col0\" >194,501</td>\n",
       "      <td id=\"T_c61ef_row1_col1\" class=\"data row1 col1\" >938</td>\n",
       "      <td id=\"T_c61ef_row1_col2\" class=\"data row1 col2\" >0.482%</td>\n",
       "      <td id=\"T_c61ef_row1_col3\" class=\"data row1 col3\" >2019-11-29 19:37:13</td>\n",
       "      <td id=\"T_c61ef_row1_col4\" class=\"data row1 col4\" >2020-01-28 15:01:15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_c61ef_level0_row2\" class=\"row_heading level0 row2\" >Policy validation</th>\n",
       "      <td id=\"T_c61ef_row2_col0\" class=\"data row2 col0\" >129,667</td>\n",
       "      <td id=\"T_c61ef_row2_col1\" class=\"data row2 col1\" >850</td>\n",
       "      <td id=\"T_c61ef_row2_col2\" class=\"data row2 col2\" >0.656%</td>\n",
       "      <td id=\"T_c61ef_row2_col3\" class=\"data row2 col3\" >2020-01-28 15:04:36</td>\n",
       "      <td id=\"T_c61ef_row2_col4\" class=\"data row2 col4\" >2020-04-03 17:53:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_c61ef_level0_row3\" class=\"row_heading level0 row3\" >Final test</th>\n",
       "      <td id=\"T_c61ef_row3_col0\" class=\"data row3 col0\" >194,502</td>\n",
       "      <td id=\"T_c61ef_row3_col1\" class=\"data row3 col1\" >1,133</td>\n",
       "      <td id=\"T_c61ef_row3_col2\" class=\"data row3 col2\" >0.583%</td>\n",
       "      <td id=\"T_c61ef_row3_col3\" class=\"data row3 col3\" >2020-04-03 17:54:44</td>\n",
       "      <td id=\"T_c61ef_row3_col4\" class=\"data row3 col4\" >2020-06-21 12:13:37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f21a8616db0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Describe the partitions\n",
    "split_summary = pd.DataFrame([\n",
    "    {'period': name, 'rows': len(frame), 'frauds': int(frame['is_fraud'].sum()),\n",
    "     'fraud_rate': frame['is_fraud'].mean(), 'start': frame['timestamp'].min(),\n",
    "     'end': frame['timestamp'].max()}\n",
    "    for name, frame in partitions.items()\n",
    "]).set_index('period')\n",
    "display(split_summary.style.format({'fraud_rate': '{:.3%}', 'rows': '{:,}', 'frauds': '{:,}'}))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba097c77",
   "metadata": {},
   "source": [
    "### Cell 26 · Cap only the training data\n",
    "\n",
    "Both implementations train on exactly the same uniform sample. No class balancing changes the holdouts."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "step-026",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training fit uses 150,000 rows, 892 frauds (0.595%).\n"
     ]
    }
   ],
   "source": [
    "# Cap only the training data\n",
    "if MAX_TRAIN_ROWS is not None and len(train_pool) > MAX_TRAIN_ROWS:\n",
    "    train = train_pool.sample(MAX_TRAIN_ROWS, random_state=RANDOM_SEED).sort_index().copy()\n",
    "else:\n",
    "    train = train_pool.copy()\n",
    "assert set(train['is_fraud'].unique()) == {0, 1}\n",
    "print(f'Training fit uses {len(train):,} rows, {int(train.is_fraud.sum()):,} frauds '\n",
    "      f'({train.is_fraud.mean():.3%}).')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e511b267",
   "metadata": {},
   "source": [
    "### Cell 27 · Check customer overlap without printing IDs\n",
    "\n",
    "A count communicates the evaluation population while protecting direct identifiers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "step-027",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fraction of final-test customer IDs also in the train pool: 98.4%\n"
     ]
    }
   ],
   "source": [
    "# Check customer overlap without printing IDs\n",
    "customer_overlap = None\n",
    "if 'cc_num' in data and data['cc_num'].notna().all():\n",
    "    train_customers = set(train_pool['cc_num'])\n",
    "    future_customers = set(test['cc_num'])\n",
    "    customer_overlap = len(train_customers & future_customers) / len(future_customers)\n",
    "    print(f'Fraction of final-test customer IDs also in the train pool: {customer_overlap:.1%}')\n",
    "else:\n",
    "    print('Customer overlap cannot be assessed from the available identifier field.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2fed57a5",
   "metadata": {},
   "source": [
    "<a id=\"5-training-data-exploration\"></a>\n",
    "## 5. Training-data exploration\n",
    "\n",
    "All plots in this section use the **early training pool**. Exploration informs\n",
    "understanding, not a causal claim. Later model and policy validation rows remain\n",
    "reserved for their declared selection tasks."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "04077570",
   "metadata": {},
   "source": [
    "### Cell 28 · Show why accuracy needs a baseline\n",
    "\n",
    "A logarithmic count axis makes the rare class visible."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "step-028",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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GjWMm266Kcd6Bg4c6LBfenr6DX9P161b1zh58qTDfplfew0bNjSKFSvmsE/Gezi3x88wDGPmzJmGr69vrsf18fExpk+f7rBPYXyGASgaOA0EAP7Prl27NGXKlGztVqtVt99+e7b2H374QUFBQXrggQdUsWJF7dy5034KyE033aT27durUqVKCg8Pl8Vi0dGjR7V48WKdPXtW586d09NPP63Vq1c7XfcLL7yg33//3X67fv366tq1qw4ePKhPPvnE6fEzu3Tpkj766CP77Q4dOuiWW25RSkqKjh49qm3btmnXrl15Hs/Hx0f169dX48aNFRERoeLFiyspKUk7duzQ6tWrZRiG1q5dq2XLlqlnz543HG/27Nm6dOmSJCksLEwDBw5UqVKldPLkSR08eFCbNm267v7bt29XdHS0evTooXXr1mnbtm2SpK+//lpff/216tatq+7du2v16tXasWOHJGnjxo368ccf1axZM0nXvnWMiopS8+bNVb58eYWHhystLU2HDx/Wp59+qsTERB05ckQvvfSSpk2blufHKr/++9//2v9ds2ZN9erVS35+fjp69Kh2796tH3744br7r1u3Tk2aNFHnzp21ceNGff/995Kk06dP68MPP9Qzzzxj3zYiIkJ33XWXfSaJr6+vTpw4oc8//1x//fWXUlJS9Pjjjys2NjbX423evFlNmzZVp06dlJKSovDwcEnSk08+qTVr1kiSvLy81LNnT9WtW1dHjhzR/PnzlZKSom+++UajR4/WrFmzbvi4JCQkqGvXrjp9+rSka6/Bhx56SDfddJNWrlxp/+Z3/vz5qlWrlsaPH6/bbrtNwcHBmjFjhg4dOiRJqlKlioYPHy7p2mlT1/Pcc88pLi5Or7zyir2td+/eaty48XX327Ztm8LDwzVmzBglJSXp/ffft88+eO2119S/f3/7tq58nJo0aaKYmBh9+umn+vnnnyVJ4eHhGj9+vH2b3NYq2Lx5s2rXrq2uXbvKy8tLSUlJklz/Xs/puHl9vbp6zBMnTuiRRx6xr2fi4+Njnw2zaNEirV+/Pt/Hzmrfvn0KCQnRyJEj5e/vr3nz5unkyZOSrv3e6969u30Wy5tvvqn333/fvm+XLl3UokULnT59WvPmzdOFCxe0c+dOPfjgg/rqq69yPN6OHTvk7e2tvn37qmbNmjpw4ICKFSt23Rq3bNmi4cOH22d6lCpVSg899JC8vb01b948nTp1SlevXtVjjz2munXrqnXr1pL+2c8wAP8ybg5LAMBtss6syO0n8zfxmdu9vb2Nn3/+OdfxExISjC+//NKYOXOm8dZbbxkxMTFGt27d7Pv7+/sbqamp9u0LMrPiypUrRkhIiMO3b8nJyfb9Jk+eXKBvpXI73rlz5xzas84OMAzD+Ouvv4ykpKQ8HSfDgQMHjMWLFxvTpk0zpkyZYsTExBjly5e3H+fhhx/O0zijRo2y7zNs2LBs/ampqUZcXJxDW+b7U7JkSePChQuGYRjG3r17s32bmpCQYBiGYfzxxx8Ofe+88062Y50+fdpYvXq1MWPGDOPNN980YmJijLZt29r3qVKlisP2rp5ZUb9+ffs+n3zySbb+CxcuOHyzmvU5b9q0qf31mZqaapQuXdre16NHj2zjJSUlGRs3bjQ++OAD4z//+Y8RExNjDBw40GHMP//807591tkKPXr0yPat+tmzZw0fHx/7Nq+//rpD//Tp0x3ej1m/7c7JO++843Dc999/396XnJxs1KhRw94XHh5uXL161d5/vefoRrL+vsk8qyWzzN9uWywWY/v27fa+0aNHO4yR8XosjMfJMAyjf//+9v0qVaqU4zZZZ1Y0b978uu///L7Xc3vtO/N6dfWYr7/+usN+7733nr3v9OnTRlhYmEN/XmV+vUkyNm3aZO/bt2+fw8y+Ll26GIZhGGlpaQ6zhoYPH+4w5po1axzG3LFjh70v6wygzz//PMe6cnv8evTo4fA62717t0O9mV+jXbt2NQyj8D7DABQNzKwAgALq0qWLGjVqlK09PT1dEyZM0FtvvaWUlJRc909JSdGZM2cUGRlZ4Br27NnjcAnF3r17y9/f3367f//+euGFFwo8flZhYWGqV6+e/Vuw6OhoNW3aVFWrVlWtWrXUqlUrNWzYMM/jHTlyRA899JA2b9583e1yWuMjJ+3atdPUqVMlSTNnztRPP/2k2rVrq1q1aqpfv746dOigSpUq5br/XXfdZV8MMOulGu+66y6FhIRIkqpXr+7Ql3kNiuTkZD3++OOaM2fOddfbyOt9Kqh27drZZwkMGDBAM2bMULVq1VSjRg01btxYbdu2ve7Ch4MHD7bPFPL19VVUVJROnTolSdnW3Jg6dapeeOEFJSQkXLemo0eP5joLYfz48fLyclxKa+vWrQ7rLDzzzDO5fkOelpamrVu36q677rpuDd999539397e3urXr5/9tr+/vx544AH7efjnzp3T7t27ZbVarztmYWnRooXD+6lmzZoO/efOnVNISEihPE4FNXbsWAUEBGRrd/V7Pav8vF5dPWbGDCzp2qyWgQMH2m+XKlVK3bp1y3WdkbyKiopSmzZt7LerV6+uli1b2h/PjBkwe/futc8akqQZM2ZoxowZuY773XffqUGDBtnarVarunfvnq8aM7+3WrRooVq1ajnU27p1a/v6RxmzVP7pzzAA/y6EFQDwf/r37685c+bkefvMf4hlNm3aNL366qt5GiO3MMP4v+nEN9ru/PnzDrfLlClz3duu8Mknn6hv37769ddfdfbsWa1bt86h/+abb9a6desUERFxw7Huuece++kU13O90CfreBMmTNCbb75pn2KeefyAgABNmTJFjz32WI77ly9f3v5vPz8/h75y5crZ/+3j4/jxmXmBu/Hjx+vDDz+8Ya2pqak33MYZL7/8so4cOaKVK1cqJSVFmzZtcjgNpmzZslqyZIl9KnZWWcOazP+ByHx/V65cqdGjR+eppus9jzm9n86ePZuncTNk/k9abjKPGR4enu15Llu2rFM1uNL1ngPp/z8PhfE4FVRuvxdd/V7PKq+v18IYM/Pv4RIlStzwNVUQOf0uz9yWEZ646rWQ2/N4PZmPndN9ztyWUa87PsMA/HsQVgBAAeV2/u6iRYvs/y5XrpyWLl2qhg0byt/fX9OnT8/1P8qZv1XOOM87w/79+3PcJywszOF2xjnMud12hTp16mjHjh3au3evtm/frgMHDuiPP/7QihUrlJSUpO3bt+uZZ55xWNsiJ/v27XP4z0ufPn0UExOjcuXKycvLS02bNnX4xjKvXnzxRT377LPaunWrdu/erYMHD2rjxo367bfflJycrFGjRqlLly6qUqVKtn2vd9nZrAFFbjI//1arVQsXLlStWrXk6+urp59+WjExMfm+TwURHBys5cuX6+TJk9q6dav279+v/fv3a9WqVTp+/LhOnDihfv362ddgyCrrY5HbVQwy399ixYrps88+U7t27RQYGKg1a9bozjvvzFO9Ob2fSpQo4XB7yJAhqlGjRq5j3GgNiKxjnjt3TqmpqQ7/uTxx4sR1a/gn5fU5KIzHqaByeh4L672eWV4fq8IYM/Pv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wFNwGggA01i4cKEsFoseeOCBXLc5fvy4Nm7cqB49elw3qJAkb29vVahQQefPn89zDZs2bdJnn32mt99+O8f+UqVK5RhS3nPPPZKk3bt329tWrFihK1eu6NFHH7W3WSwWDR8+XEePHtUPP/yQ57oAAAAAT0JYAcAUrly5osWLF6tly5aqXLlyrtstWrRI6enp6tu3b479ly9f1pkzZ3Tw4EH95z//0dq1a3XrrbfmqYa0tDSNGDFCgwcPVt26dfNV/4kTJyRdCzMy7NixQ8WKFVPt2rUdtm3atKm9HwAAAEB2rFkBwBS+/PJL/f3337mGEBkWLFigyMhIdejQIcf+J598UjNnzpQkeXl5qUePHvZTMG7kvffe05EjR7Rhw4Z81Z6amqq3335bUVFRatKkib39+PHjKlOmjCwWi8P2kZGRkqRjx47l6zgAAACApyCsAGAKCxculK+vr+67775ct9m3b59++eUXjRkzRl5eOU8MGz16tHr27Kljx45p8eLFSktLU2pq6g2P//fff+uFF17Q888/r4iIiHzV/vjjj+uPP/7QF198IR+f//9rNSkpSf7+/tm2zzh9JSkpKV/HAQAAADwFp4EAcLtLly5pxYoV6ty5s0qWLJnrdgsWLJCk686+qFWrljp27Kh+/fpp9erVunTpku6++27daC3hCRMmqESJEhoxYkS+ao+JidH777+vF198UXfccYdDX2BgoFJSUrLtk3HZ48DAwHwdCwAAAPAUhBUA3G758uVKTEy84SkgCxcuVM2aNdWoUaM8j92zZ09t27ZN+/bty3Wb/fv3a9asWRo5cqSOHTumuLg4xcXFKTk5WVeuXFFcXJzOnj2bbb85c+bomWee0SOPPKIJEyZk64+MjNSJEyeyBSXHjx+XJJUrVy7P9wMAAADwJIQVANxuwYIFCg4OVteuXXPd5scff9SBAwduGGhklXGqxYULF3LdJj4+Xunp6Ro5cqSioqLsPz/++KP27dunqKgoTZ482WGfFStWaPDgwerRo4fefffdHMdt0KCBEhMTHa4QknFfMvoBAAAAZEdYkQ82m00Wi0VWq9XdpQBFxunTp7Vhwwbdc889CgoKynW7hQsXSlKulzU9depUtrYrV65o3rx5CgwMVJ06dXId22q16vPPP8/2Ex0drYoVK+rzzz/XoEGD7Ntv2rRJffr0Udu2bbVg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FBERoU6dOun3338vcH0AAAAAAMD1nAorMoSGhMjPz9ehLSAgQHVq11JYWPECj3vmzBlNnjxZu3fvVv369a+77YABA/TWW2+pb9++mjp1qry9vXXHHXfou+++c9jujTfe0OHDh/Xnn3+qU6dO6tKliy5evFjgGgEAAAAAgGu5JKwoLJGRkTp+/LiOHDmimJiYXLf76aeftGjRIr366quKiYnR0KFD9fXXX6tSpUp6+umnHbZt2rSpgoODFRgYqKefflohISHaunVrYd8VAAAAAACQR6YOK/z9/VW27I0X6Pzss8/k7e2toUOH2tsCAgI0aNAg/fDDD/rrr79y3dfLy0uGYbikXgAAAAAA4DxThxV5tWPHDtWoUUOhoaEO7U2bNpUk/frrr5Kk8+fPa/369UpJSVFqaqr+85//6OzZs2rWrNk/XTIAAAAAAMiFU1cDMYvjx48rMjIyW3tG27FjxyRJV65c0bhx47R37175+vqqQYMGWrNmjYoXz31djVOnTun06dMObQcOHHBh9QAAAAAAILMiEVYkJSXJ398/W3tAQIC9X5IiIiL0888/52vs6dOna9KkSc4XCQAAAAAA8sSpsCL+2PHr9lss19adKBEeLovF4syhriswMFApKSnZ2pOTk+39BfXoo4+qV69eDm0HDhxQ9+7dCzwmAAAAAADInVNhRZtbbstTCOHv768mjW/WiEeHqXGjm505ZI4iIyMVHx+frf348WthSrly5Qo8dunSpVW6dOkC7w8AAAAAAPLHqbDi9Vcma868BTp+/IS6db1TlSpWlCTFHTmilavWqHz5curZo7uO/Pmnlq9Yrb79BmnOhzPVonlTlxSfoUGDBtq4caMSEhIcFtn88ccf7f0AAAAAAODfwamrgZw8dUpXrlzRNxvWaOKEcRrQr68G9Osr2/Pj9fVXXyg5OVnJKcl64bln9b8vVyuidISmTpvuqtrtevbsqbS0NM2aNcvelpKSotmzZ6tZs2aqUKGCy48JAAAAAAAKh1MzKxZ+sliDBvbPdslQSQoLK67eve7V7Hkfa9jghxUeHqb77r1Hsz6cna9jTJs2TefPn7df0WPVqlU6evSoJGnEiBEqXry4mjVrpl69emncuHE6deqUqlWrprlz5youLk4ffvihM3cRAAAAAAD8w5wKK86dv6Ck5KRc+xOTknT27Dn77VKlSskw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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Show why accuracy needs a baseline\n",
    "counts = train_pool['is_fraud'].value_counts().reindex([0, 1])\n",
    "fig, ax = plt.subplots()\n",
    "ax.bar(['Legitimate', 'Fraud'], counts, color=[NAVY, SCARLET])\n",
    "ax.set_yscale('log')\n",
    "ax.set(ylabel='Transactions (log scale)', title='Fraud is a small share of the training period')\n",
    "for i, count in enumerate(counts):\n",
    "    ax.text(i, count * 1.12, f'{count:,}', ha='center')\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9aeb162",
   "metadata": {},
   "source": [
    "### Cell 29 · Calculate the majority-rule accuracy\n",
    "\n",
    "This rule catches no fraud even if its accuracy looks impressive."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "step-029",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "Predicting **legitimate for every training-pool transaction** gives **99.41% accuracy** and **0% fraud recall**. The final test will have its own independently reported baseline."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calculate the majority-rule accuracy\n",
    "training_fraud_rate = train_pool['is_fraud'].mean()\n",
    "display(Markdown(\n",
    "    f'Predicting **legitimate for every training-pool transaction** gives '\n",
    "    f'**{1 - training_fraud_rate:.2%} accuracy** and **0% fraud recall**. '\n",
    "    'The final test will have its own independently reported baseline.'\n",
    "))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51abb664",
   "metadata": {},
   "source": [
    "### Cell 30 · Summarise transaction amounts by label\n",
    "\n",
    "Medians and quantiles reveal scale and skew without assuming a currency conversion."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "step-030",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>95%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Legitimate</th>\n",
       "      <td>773420.0</td>\n",
       "      <td>67.55</td>\n",
       "      <td>151.86</td>\n",
       "      <td>1.00</td>\n",
       "      <td>9.61</td>\n",
       "      <td>47.19</td>\n",
       "      <td>82.46</td>\n",
       "      <td>189.66</td>\n",
       "      <td>26544.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fraud</th>\n",
       "      <td>4585.0</td>\n",
       "      <td>525.51</td>\n",
       "      <td>393.42</td>\n",
       "      <td>1.18</td>\n",
       "      <td>207.26</td>\n",
       "      <td>369.09</td>\n",
       "      <td>902.67</td>\n",
       "      <td>1086.78</td>\n",
       "      <td>1371.81</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count    mean     std   min  ...     50%     75%      95%       max\n",
       "Legitimate  773420.0   67.55  151.86  1.00  ...   47.19   82.46   189.66  26544.12\n",
       "Fraud         4585.0  525.51  393.42  1.18  ...  369.09  902.67  1086.78   1371.81\n",
       "\n",
       "[2 rows x 9 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Summarise transaction amounts by label\n",
    "amount_summary = train_pool.groupby('is_fraud')['amt'].describe(percentiles=[.25, .5, .75, .95])\n",
    "amount_summary.index = ['Legitimate', 'Fraud']\n",
    "display(amount_summary.round(2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b93a1dea",
   "metadata": {},
   "source": [
    "### Cell 31 · Plot the amount distributions\n",
    "\n",
    "Taking log(1 + amount) lets small and large purchases appear on one readable axis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "step-031",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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u7vr5Zdflr+/vw4dOiQnJyc9ePAgyWO0t7dX2bJlVb16deXPn1+5c+dWVFSUjh49qtWrV+vhw4fav3+/5syZo2HDhiXaxr59+5Q/f3717dtXkZGRWrBggWVhuPHjx6tly5aqVKlSqs97UlxcXFS9enVVqlRJefPmVY4cOXTnzh2r63vu3Ll65ZVXVLVq1SRjrVmzpho1aqSVK1fq77//liQtWLBAklS7dm01bNhQy5cv16lTpyRJixcv1uTJk+Xn5ycpfdeFLf36669q27atypUrp2XLllmGfW/dulV79uxRUFCQOnfurMDAQE2ePFk3b96U9Oj1EHcKQ2rissU5j8sW5+769eu6efOmgoODVaBAAX3++eeWb1/jP1erV6/W2LFjLXVr166tRo0a6e7du1qyZIkuX76s8+fPq23btjp06NBjTZuKjV+ScuXKpV69eilv3ry6cuWKTp06pV9++SXdbe/Zs0eFChVS165ddeHCBS1fvlzSo/eU999/Xw0aNLDs2717d+3fv9/yuEmTJqpRo4Z+++03y3vMwYMH1bVrV/3www9pen9Ni59++kktWrRQ5cqVtXXrVssIvQsXLmjQoEFau3ZtovW2b9+uPHnyqFOnTvL19dVvv/0m6dFonP79+ysmJkaSlDdvXnXv3l0ODg5avHixwsLC9PDhQ73++usqX7686tSpI0maNm2a1R1pAgMD1bp1a125ckWLFi3SgwcPdO3aNbVu3VonTpyQl5eXpk2bplOnTunTTz+11Hvttdcs12NKr53w8HC1atXKMsrR0dFR3bt3V6FChbRhwwbLCJAlS5aobNmyGj16tBo3bqwcOXJozpw5lv93ixcvrv79+0tKeX2U2LVU3n77bUtZo0aN1LhxY0mJP4cnTpyQJLVp00aVKlVSSEiI8uTJI+nRNfzCCy+oXLlyyp07t1xdXXXt2jVt2rRJx44dU0xMjIYMGaKXXnpJrq6uycaWkq+//tryHixJ+fLlU3BwcIL/TwCkU2ZnSwA8XcLDww13d3erb1cMwzCOHz9u9Y3CxIkTE9SN+422o6OjcebMGcMwDOPu3buGo6OjZZuTk5Nx/vx5wzAM4/bt21bfRr355puW9t58802rPjdv3mzZdv36dSN37tyWbRUqVLBss9XIiurVqxtRUVGGYRhGVFSU4evra9nWrl07qzbjfrtapEiR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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the amount distributions\n",
    "fig, ax = plt.subplots()\n",
    "for label, name, colour in [(0, 'Legitimate', NAVY), (1, 'Fraud', SCARLET)]:\n",
    "    values = np.log1p(train_pool.loc[train_pool['is_fraud'].eq(label), 'amt'])\n",
    "    ax.hist(values, bins=45, density=True, alpha=.55, label=name, color=colour)\n",
    "ax.set(xlabel='log(1 + transaction amount)', ylabel='Density', title='Amounts overlap: amount alone is not proof of fraud')\n",
    "ax.legend(); plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c3304a0",
   "metadata": {},
   "source": [
    "### Cell 32 · Calculate category fraud rates with denominators\n",
    "\n",
    "A high rate based on a tiny category should not be interpreted like a high rate based on many observations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "step-032",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style type=\"text/css\">\n",
       "</style>\n",
       "<table id=\"T_70d41\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th class=\"blank level0\" >&nbsp;</th>\n",
       "      <th id=\"T_70d41_level0_col0\" class=\"col_heading level0 col0\" >rows</th>\n",
       "      <th id=\"T_70d41_level0_col1\" class=\"col_heading level0 col1\" >frauds</th>\n",
       "      <th id=\"T_70d41_level0_col2\" class=\"col_heading level0 col2\" >fraud_rate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >category</th>\n",
       "      <th class=\"blank col0\" >&nbsp;</th>\n",
       "      <th class=\"blank col1\" >&nbsp;</th>\n",
       "      <th class=\"blank col2\" >&nbsp;</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row0\" class=\"row_heading level0 row0\" >home</th>\n",
       "      <td id=\"T_70d41_row0_col0\" class=\"data row0 col0\" >73,806</td>\n",
       "      <td id=\"T_70d41_row0_col1\" class=\"data row0 col1\" >110</td>\n",
       "      <td id=\"T_70d41_row0_col2\" class=\"data row0 col2\" >0.149%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row1\" class=\"row_heading level0 row1\" >health_fitness</th>\n",
       "      <td id=\"T_70d41_row1_col0\" class=\"data row1 col0\" >51,450</td>\n",
       "      <td id=\"T_70d41_row1_col1\" class=\"data row1 col1\" >81</td>\n",
       "      <td id=\"T_70d41_row1_col2\" class=\"data row1 col2\" >0.157%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row2\" class=\"row_heading level0 row2\" >food_dining</th>\n",
       "      <td id=\"T_70d41_row2_col0\" class=\"data row2 col0\" >55,201</td>\n",
       "      <td id=\"T_70d41_row2_col1\" class=\"data row2 col1\" >90</td>\n",
       "      <td id=\"T_70d41_row2_col2\" class=\"data row2 col2\" >0.163%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row3\" class=\"row_heading level0 row3\" >kids_pets</th>\n",
       "      <td id=\"T_70d41_row3_col0\" class=\"data row3 col0\" >67,986</td>\n",
       "      <td id=\"T_70d41_row3_col1\" class=\"data row3 col1\" >153</td>\n",
       "      <td id=\"T_70d41_row3_col2\" class=\"data row3 col2\" >0.225%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row4\" class=\"row_heading level0 row4\" >personal_care</th>\n",
       "      <td id=\"T_70d41_row4_col0\" class=\"data row4 col0\" >54,646</td>\n",
       "      <td id=\"T_70d41_row4_col1\" class=\"data row4 col1\" >126</td>\n",
       "      <td id=\"T_70d41_row4_col2\" class=\"data row4 col2\" >0.231%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row5\" class=\"row_heading level0 row5\" >entertainment</th>\n",
       "      <td id=\"T_70d41_row5_col0\" class=\"data row5 col0\" >56,320</td>\n",
       "      <td id=\"T_70d41_row5_col1\" class=\"data row5 col1\" >138</td>\n",
       "      <td id=\"T_70d41_row5_col2\" class=\"data row5 col2\" >0.245%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row6\" class=\"row_heading level0 row6\" >grocery_net</th>\n",
       "      <td id=\"T_70d41_row6_col0\" class=\"data row6 col0\" >27,152</td>\n",
       "      <td id=\"T_70d41_row6_col1\" class=\"data row6 col1\" >84</td>\n",
       "      <td id=\"T_70d41_row6_col2\" class=\"data row6 col2\" >0.309%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row7\" class=\"row_heading level0 row7\" >misc_pos</th>\n",
       "      <td id=\"T_70d41_row7_col0\" class=\"data row7 col0\" >47,738</td>\n",
       "      <td id=\"T_70d41_row7_col1\" class=\"data row7 col1\" >154</td>\n",
       "      <td id=\"T_70d41_row7_col2\" class=\"data row7 col2\" >0.323%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row8\" class=\"row_heading level0 row8\" >travel</th>\n",
       "      <td id=\"T_70d41_row8_col0\" class=\"data row8 col0\" >24,337</td>\n",
       "      <td id=\"T_70d41_row8_col1\" class=\"data row8 col1\" >80</td>\n",
       "      <td id=\"T_70d41_row8_col2\" class=\"data row8 col2\" >0.329%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row9\" class=\"row_heading level0 row9\" >gas_transport</th>\n",
       "      <td id=\"T_70d41_row9_col0\" class=\"data row9 col0\" >78,990</td>\n",
       "      <td id=\"T_70d41_row9_col1\" class=\"data row9 col1\" >404</td>\n",
       "      <td id=\"T_70d41_row9_col2\" class=\"data row9 col2\" >0.511%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row10\" class=\"row_heading level0 row10\" >shopping_pos</th>\n",
       "      <td id=\"T_70d41_row10_col0\" class=\"data row10 col0\" >69,929</td>\n",
       "      <td id=\"T_70d41_row10_col1\" class=\"data row10 col1\" >507</td>\n",
       "      <td id=\"T_70d41_row10_col2\" class=\"data row10 col2\" >0.725%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row11\" class=\"row_heading level0 row11\" >misc_net</th>\n",
       "      <td id=\"T_70d41_row11_col0\" class=\"data row11 col0\" >37,980</td>\n",
       "      <td id=\"T_70d41_row11_col1\" class=\"data row11 col1\" >547</td>\n",
       "      <td id=\"T_70d41_row11_col2\" class=\"data row11 col2\" >1.440%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row12\" class=\"row_heading level0 row12\" >grocery_pos</th>\n",
       "      <td id=\"T_70d41_row12_col0\" class=\"data row12 col0\" >74,038</td>\n",
       "      <td id=\"T_70d41_row12_col1\" class=\"data row12 col1\" >1,068</td>\n",
       "      <td id=\"T_70d41_row12_col2\" class=\"data row12 col2\" >1.443%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_70d41_level0_row13\" class=\"row_heading level0 row13\" >shopping_net</th>\n",
       "      <td id=\"T_70d41_row13_col0\" class=\"data row13 col0\" >58,432</td>\n",
       "      <td id=\"T_70d41_row13_col1\" class=\"data row13 col1\" >1,043</td>\n",
       "      <td id=\"T_70d41_row13_col2\" class=\"data row13 col2\" >1.785%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f21a73e7cb0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calculate category fraud rates with denominators\n",
    "category_summary = train_pool.groupby('category', observed=True)['is_fraud'].agg(rows='size', frauds='sum')\n",
    "category_summary['fraud_rate'] = category_summary['frauds'] / category_summary['rows']\n",
    "category_summary = category_summary.sort_values('fraud_rate')\n",
    "display(category_summary.style.format({'rows': '{:,}', 'frauds': '{:,}', 'fraud_rate': '{:.3%}'}))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9c42161",
   "metadata": {},
   "source": [
    "### Cell 33 · Plot category rates\n",
    "\n",
    "This is an association in the training benchmark, not a claim that a merchant category causes fraud."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "step-033",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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wxZ1snt9AAAAAADIL3k+smLo0KFauXKlhg8frkqVKunixYvasWOHDh8+rKeeekqSdPnyZbVq1UrPPvusunXrppUrV+qVV15R5cqV1bp1a0n3vvAHBwcrNjZWw4cPl6+vr1asWKGQkBBduXJFo0aNsuh30aJFunbtml544QUlJSXpv//9r5o2baqDBw+qaNGiRr3k5GS1atVKderU0eTJk7VhwwaNHz9ed+/e1YQJEx54fN26dZOvr68mTpyovXv36tNPP5W3t7cmTZpk1AkJCdHy5cvVp08f1alTR9u3b1ebNm1yfU6zc2xbtmxR69at5efnp7CwMCUmJmrGjBmqX7++9u7dKx8fn2xfn/vFx8fr/PnzFmWxsbG5Ph4AAAAAALKS58mKdevW6fnnn9eHH35olL388ssWdf766y8tWrRIffr0kSQNHDhQZcuW1WeffWYkK+bNm6fDhw9r8eLF6tWrl6R7X7QbN26s//znPxowYIAKFixotBkbG6uYmBiVLFlSktSqVSvVrl1bkyZN0kcffWTUS0pKUqtWrTR9+nRJUmhoqNq1a6dJkyYZoyGyUq1aNX322WfG84sXL+qzzz4zkhV79+7V8uXLNXr0aE2dOtXoo3///tq/f38OzuT/y86xjRs3Tp6envrpp5/k6ekpSerYsaOqVaum8ePHGyNSsnN97jdr1iyFh4fnKnYAAAAAAHIqz28DKVSokH755Rf99ddfmdZxdXVV7969jecODg6qVauWjh8/bpStX79exYoV03PPPWeU2dvba+TIkbp+/bq2b99u0WbHjh2NL/OSVKtWLdWuXVvr169P1//w4cONf5tMJg0fPly3b9/Wli1bHnh8Q4cOtXjesGFDXbx4UVevXpUkbdiwQdK9BEVaI0aMeGDbmXnQsZ05c0a//fabQkJCjESFJD355JN6+umnLc5Bdq7P/UJDQxUVFWXxiIiIyPXxAAAAAACQlTxPVkyePFlRUVEqXbq0atWqpbCwMIskhCSVKlVKJpPJoszDw0OXL182np88eVIVKlSQjY1liAEBAcb2tCpUqJAulooVKyouLs6izMbGRn5+funqSUpXNyNlypRJF7ckI/aTJ0/KxsZGvr6+FvXKly//wLYz86BjSz0X/v7+6eoFBATowoULunHjhqTsXZ/7eXt7KzAw0OLxd44HAAAAAICs5Hmyolu3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s1atWjh06BAaNmyIOXPmYPHixQgNDcWoUaNKHVvDhg2RmJgIExMTTJs2DT/++COio6PRrVu3Cjn3ijB8+HAsWbIE9+7dw9ixY3H06FHs2rULhoaG0NLSUnR4RERERERERBIigaswVllisRgmJibo3r07Vq9eXapjr1y5AmdnZxjV94Gatn4lRfjf9uT8TkWHQEREREREpJQ+mZkVVD6vXr2SeTrITz/9hIyMDHh7eysmKCIiIiIiIiI5Ppk1KxQhOzsb2dnZ761jYmJS7KNDlcmpU6cwevRoBAUFwdjYGBcuXMCaNWvg7OyMoKAgRYdHREREREREJMFkxXvMnz8f0dHR761z584dWFlZfZyAysHKygrm5uZYsmQJMjIyYGRkhNDQUMyZMwcaGhqKDo+IiIiIiIhIgsmK9wgNDYWHh8d765iZmX2kaMrHysoKu3btUnQYRERERERERB/EBTapTIoW2ExKSoKTk5OiwyEiIiIiIqL/EC6wSURERERERERKhckKIiIiIiIiIlIqTFYQERERERERkVJhsoKIiIiIiIiIlAqTFURERERERESkVPjoUiqX1kEjoKatr+gwPhlPzu9UdAhERERERERKjzMriIiIiIiIiEipMFlBREREREREREqFyQoiIiIiIiIiUipMVhARERERERGRUmGygoiIiIiIiIiUCpMVRERERERERKRUKiRZERUVBZFIhKdPn1ZEc6XutzR1KyrGPXv2wMXFBVpaWhCJRMjKykJYWBisrKwqpH0iIiIiIiKiquo/N7Ni1qxZ2LlzZ6X2kZ6ejuDgYGhra2P58uVYv349dHV1Zerl5OQgKioKhw8frtR4iIiIiIiIiP5L1BQdQEWbNWsWAgMDERAQUGl9nD17Fi9evMCMGTPQrl07Sfnq1ashFosl2zk5OYiOjgYAeHt7V1o8RERERERERP8l/7lkxceQmpoKADA0NJQqV1dXV0A0RERERERERP8tFXobSNG6DYaGhjAwMED//v2Rk5MjVWfDhg1wc3ODtrY2jIyM0KtXL9y/f1+qztGjRxEUFAQLCwtoamrC3Nwco0ePRm5u7nv7F4lEePnyJdatWweRSASRSISwsLBSx/g+3t7e6NevHwCgadOmUn28vWZFSkoKTExMAADR0dGSeKKioiR19fT08PDhQwQEBEBPTw8mJiYYO3YsCgsLpfoU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UW8DUXbPnj1Dbm7ue+uYmZl9pGiIiIiIiIiIqiYmK94yatQorFu37r11eNcMERERERERUeVisuIt48aNQ9++fRUdBhEREREREVGVxgU2qUyKFthMSkqCk5OTosMhIiIiIiKi/xAusElERERERERESoXJCiIiIiIiIiJSKkxWEBEREREREZFSYbKCiIiIiIiIiJQKkxVEREREREREpFT46FIql9ZBI6Cmra/oMJTWk/M7FR0CERERERHRJ4czK4iIiIiIiIhIqTBZQURERERERERKhckKIiIiIiIiIlIqTFYQERERERERkVJhsoKIiIiIiIiIlAqTFURERERERESkVJisqCRRUVEQiUR4+vSpokMhIiIiIiIi+qQwWUFERERERERESoXJCiIiIiIiIiJSKkxWEBEREREREZFSYbKikmVlZSEsLAyGhoYwMDBA//79kZOTI9lfUFCAGTNmwNbWFpqamrCyssKkSZOQl5cn1Y6VlRU+//xzHD58GE2aNIG2tjYaNGiAw4cPAwC2b9+OBg0aQEtLC25ubrh48aJMLNeuXUNgYCCMjIygpaWFJk2aYNeuXZV6/kRERERERESlxWRFJQsODsaLFy8we/ZsBAcHIy4uDtHR0ZL94eHhmDZtGho3boxFixbBy8sLs2fPRq9evWTaunXrFkJCQuDv74/Zs2cjMzMT/v7+iI+Px+jRo9G3b19ER0fj9u3bCA4Ohlgslhx75coVuLu74+rVq5gwYQIWLFgAXV1dBAQEYMeOHe89h9TUVFy5ckXq59atWxX3IhERERERERG9RU3RAfzXubq6Ys2aNZLt9PR0rFmzBnPnzsXly5exbt06hIeHY/Xq1QCAyMhImJqaYv78+Th06BB8fHwkx16/fh0nTpxAixYtAACOjo7w8/PDoEGDcO3aNVhYWAAAqlevjsGDB+PPP/+Et7c3AGDUqFGwsLDA2bNnoampKenLw8MD48ePR7du3Yo9h9jYWKkECxEREREREVFl4syKSjZkyBCpbU9PT6Snp+P58+dISEgAAHz11VdSdcaMGQMA2L17t1S5o6OjJFEBAM2bNwcAtGnTRpKoeLs8OTkZAJCRkYGDBw9KZnk8ffoUT58+RXp6Ovz8/HDz5k08fPiw2HOIjIxEUlKS1M/OnTtL8zIQERERERERlRhnVlSyt5MIwJtZDwCQmZmJu3fvQkVFBXXr1pWqY2ZmBkNDQ9y9e/e9bRkYGAAAzM3N5ZZnZmYCeHP7iCAImDp1KqZOnSo3ztTUVNSuXVvuPlNTU5iamhZ7jkREREREREQVicmKSqaqqiq3XBAEyb9FIlG52vpQH0VrV4wdOxZ+fn5y676bMCEiIiIiIiJSFCYrFMjS0hJisRg3b95E/fr1JeVPnjxBVlYWLC0tK6QfGxsbAIC6ujratWtXIW0SERERERERVRauWaFAnTp1AgAsXrxYqnzhwoUAgM6dO1dIP6ampvD29sbKlSvx+PFjmf1paWkV0g8RERERERFRReDMCgVq1KgR+vXrh1WrViErKwteXl44c+YM1q1bh4CAAKkngZTX8uXL4eHhgQYNGmDQoEGwsbHBkydPcPLkSTx48ACXL1+usL6IiIiIiIiIyoPJCgX74YcfYGNjg7i4OOzYsQNmZmaYOHEipk+fXqH9ODo64ty5c4iOjkZcXBzS09NhamoKV1dXTJs2rUL7IiIiIiIiIioPkfD2So9EJXTlyhU4OzvDqL4P1LT1FR2O0npyfqeiQyAiIiIiIvrkcM0KIiIiIiIiIlIqTFYQERERERERkVJhsoKIiIiIiIiIlAqTFURERERERESkVPg0ECqXP7cuhZOTk6LDICIiIiIiov8QzqwgIiIiIiIiIqXCZAURERERERERKRUmK4iIiIiIiIhIqTBZQURERERERERKhckKIiIiIiIiIlIqTFYQERERERERkVJhsoKIiIiIiIiIlAqTFURERERERESkVJisICIiIiIiIiKlwmQFERERERERESkVJiuIiIiIiIiISKkwWUFERERERERESoXJCiIiIiIiIiJSKkxWEBEREREREZFSYbKCiIiIiIiIiJQKkxVEREREREREpFSYrCAiIiIiIiIipcJkBREREREREREpFSYriIiIiIiIiEipMFlBREREREREREpFTdEB0KcpLy8PAHDr1i0FR0JERERERESfCltbW2hpaX2wHpMVVCZ///03ACAgIECxgRAREREREdEnIykpCU5OTh+sx2QFlYm9vT0AYMuWLXB0dFRwNFRZbt26hYCAAOzcuRN169ZVdDhUSTjOVQPH+b+PY1w1cJyrBo5z1VBVx9nW1rZE9ZisoDLR19cHADg6OpYoK0aftrp163KcqwCOc9XAcf7v4xhXDRznqoHjXDVw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",
      "text/plain": [
       "<Figure size 1080x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot category rates\n",
    "fig, ax = plt.subplots(figsize=(9, 5))\n",
    "ax.barh(category_summary.index, 100 * category_summary['fraud_rate'], color=NAVY)\n",
    "ax.set(xlabel='Transactions labelled fraud (%)', title='Fraud rates vary by category in the training period')\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d330647",
   "metadata": {},
   "source": [
    "### Cell 34 · Inspect hour-of-day rates\n",
    "\n",
    "Recorded local clock patterns can support features. No timezone or universal behaviour is inferred."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "step-034",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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gsLCwtSmTRudOnVKa9assQ4W+eabb1q/oZWko0ePavz48Tp16pT1OBdddJGGDh2q3NxcrV+/XqdPn67xnKtWrbJ+uxsQEKBDhw5JatjzcO/evTbfcl999dXq37+/cnJydPToUa1bt87mm3x7t69NfZ4/1fnpp5/Uvn173XDDDTpy5Ig+/PBDSWXfyv/tb3+zaa1x0003aePGjZIkb29vXXvtteratat27dqljz/+WKWlpfroo48UHx9v85ysr9WrVys0NFRTpkxRRESE9Vzr16/XjBkzVFpaKunM30fDMPTvf/9bBw8e1MmTJ3X11Vdr//791tv6yCOPWFsCSWVj5UyePFlRUVE6ePBglb8LN954o7Zs2WK9fvnll2vw4MHauHGj9W/htm3bdMMNN9i0BKiopr95W7du1Zw5c6zbtWnTRrfccou8vLz03nvvad26ddUer6SkxHq7JCkgIEA33HCDoqOjtWHDButt+Nvf/qY+ffro+uuvlyT997//1cKFC63HiYyM1E033VTl7749kpKSdPfdd1tbqnl4eGj69OkKDw/X4sWLtXz58hr39fPz0/Dhw9W7d2+FhITI19dXWVlZWr58ufVv2TPPPKNp06YpOjpa9913n/X/yu7du7Vq1SoNHz5cUtljsHfvXuuxb7vtNrtvC4CzwNFpCQDUhyp9i1dZxW9oVembrsry8vKMFStWGAsWLDBefvllY968eVW+Pfrjjz+s29e3FYQkm29I//73v9us27FjR7Mds6ioyOZb6c6dOxu5ubnW/f785z/b7NeYlhUeHh7GgQMHrOt+/PFHm2NbvqHKyMgw3N3drctfeOEFm2POnz/fus5sNhtpaWnWdRWPZzabjU2bNlWpqbaWFRW/2QwMDLQ5duV67733XsMwDCMpKcnm274RI0bYfLtb+TnS0JYVt9xyi3VdSUmJMWLECOs6k8lkJCUl2eyfnZ1tfPvtt8abb75pvPTSS8a8efOMq666yrqPl5eXUVhYaN2+8rf+lVsKWUybNq3Gb2EtKrZEGj16tFFaWmpdt3v37hpfc5Wfwy+//HK1x6/4vDKZTMaWLVus6+6//36bY2RnZ9dwD1dv586dxocffmi88sorxosvvmjMmzfP5tv/uXPnWrd9+OGHbc5V+blqGIbNc77yfdypUycjIyOjyj4NeR5u3brVuiwgIMAoKCioctz9+/dbL9u7fV3q+/ypuI2fn59x7Ngx67rx48db14WEhFiX//LLLzb7ffzxxzbHfPTRR232Ky4urrPeyn8HAgICjMOHD1fZ7pprrrFu06dPH5v76cSJE4a3t3eV5+vJkycNDw8P6/IOHTpUaRGRk5NjpKSkGIZhGDt27LCp5YYbbrDZ9qabbrJZX/H5Xp+/eXfeeafNdhVbrRw4cMCm1oqv6aVLl9rst379epvjTp482ea+sbjiiiusy93d3Y19+/ZZ1/300082x6xvy4rnn3/eZr933nnHuu7kyZNGSEiIzfrKSktLjU2bNhnvvvuu8Y9//MOYN2+e8eyzz9rs8+6771q3r9jqqOLj8fjjj1uXJyQk1Kt2AGcfYQWAFqGuN0UVP/TEx8fXeJy///3vNTY1r/izdu1a6z71DRaio6Nt1n399dc2+/3000/NdsydO3faLH/yySdt9qv8hr5iWPHvf//bmDdvXpWfnTt3Vnv/jhw5ssr9WrHrxIABAwzDMIxly5bVeT9X/Fm6dKn1eBWXX3nllVUfyGpukyU8OH36tE3oMHXq1Cr7duzY0br+vPPOMwyj6hv6f/3rXzb7VH5z3tCwouLzwDAM41//+pfN+q+++sowjLIg44knnjC8vLzqvO+OHz9uPV5ThRWV78e6fh566CHrvhWfw8HBwUZRUVG1NVR8Xg0dOtRm3euvv25z/Oo+gFZn69atRu/eveusd8aMGdZ9Bg4caF0eEhJSZxeEyvfxiy++WOf9V9/nYX5+vhEeHm5dHhUVZVx55ZXG/fffb7z55pvGnj17bI5h7/Z1aUhYcf3119use+yxx6zrTCaTdXnFgLI+P7/88kud9Vb+O3DPPfdUu11ERES9z3vNNdcYhlH1b9jf//73WmupfPuWL19us37lypU261999dVq78+a/uZVDA9jYmKqrB85cmS1r+mKIVB9fizBYMVuaMOHD69yvk6dOlnX1zesqBgamc1mm6DVMKqGwhUtX77c5pw1/VTsCvLll19al3t5eRnp6elVav/nP/9Zr9oBnH10AwHQ6vTo0aPa5V988YXuv//+eh2jugHQ6lJ58DkvLy+b65bmx81xzMzMTJvlUVFRNtfbtm1b4zlef/11/fTTT1WWh4WFKS4ursryyMjIapdZuk+cPHlSkqodeLE2aWlp1S6v6fGsycmTJ20Gw6zutrdt29Y6IJ2lzsr3YeXbWd3tboi6jmu5/1577TX99a9/rdcxG/J8rUvl+7EuNT1+Xbp0kbt73W83muL1k5eXpzFjxlQ7WGllFe+zis/Vc845R25u9o0/Xt1ztKHPQy8vL3366aeaPn26fvvtNyUlJVm7+Vhceuml+u9//ysfHx+7t28OtT12Fe+DpvqbUJua/l7Yc27LeSvv06lTp1r3q7x95ce88vWaaqrpNlT8G1XT3+H61FWX9PR0+fv71+t8li5P9VXxmJaumJWPWZ3jx4/rqquuqrU7lkXF1/bo0aMVGxur/fv3q6CgQIsWLdL5559vrdvHx0c33HCDXbcBwNlDWAGg1bGMT1HZv//9b5ttlixZogsvvFA+Pj5atmyZxowZ06jzVn7TVXmWj+Y8ZlBQkM311NRUm+vJycmNrsUiJSWl1mWWWkJCQmy2uf3229WtW7caj2sZP6Cymh7PmljGdrB8SKrutldcZqmz8n1Y+XZWd7sbIiUlRd27d6/xuJY6Kj5fo6Oj9emnnyohIUFeXl6aP3++7r777iappyaV78eLLrpIo0aNqnH7nj17Vru8vo9fU7x+Vq1aZRNUPPDAA3r88ccVHh4uk8mkiIiIaj8AV3yuHj58WKWlpXYFFtXdxoY+D6WysVIOHDigHTt2aPv27Tp48KB27NihpUuXqqSkRN9//73mzZunp59+ukHbN7X6PnaV/yY89thjCgsLq/G4lrEy7FHT8y0kJMT6dzEhIcE6LkN12rdvb92noro+mFfePjk52SbwrfwcqLy9RU23oeLfqLr+Dtd0HpPJpOeee67WADE4ONh6vhMnTth9vtpUvA0nT55UUVGRzfOnpmN++eWXNkHFvHnzdOuttyo4OFi5ubk13mcmk0n33nuvZs2aJUl66623bMYluuaaa2ociwWA4xFWAHAZFada69y5s6644grr9YofDFuiHj16KCAgQNnZ2ZKkTz75RH/+85+tbwL/9a9/1bivZdDB+lq9erV+++03de7cWZK0YsUKmzd/AwYMkCQNHjxY7u7u1qlJCwoKqkxDK5V90/b111+rV69edtVRE19fX/Xt21dbt26VJC1dulTp6enWD0UrVqywmebv/PPPlySdd955Nh8u33vvPU2fPt36odXeKTRrsmjRIl1wwQWSyloLvPfee9Z1JpNJ5513niTb5+t5552n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3323duzYoQkTJtjsExMTo/Xr12v69OkKDw+Xl5eX4uLi9Morr+jtt99ukrpeeeUVvfHGG+rdu7e8vLwUFhamadOmaf369YqJibFuN3ToUC1fvlzDhw+Xt7e3/P39ddFFF+mnn36q89vtzz77TFOmTFF4eHiNYy/06tVLn376qQYNGiRfX98ajzV79mxt2LBBt9xyi2JjY+Xj4yN3d3eFh4dr2LBhevzxx7Vu3boqgyw6ypIlS/Twww+rXbt28vDwUMeOHfXEE0/oiy++kNlsrnG/iy++WLt379ZTTz2l/v37KzAw0Ho7hw8frttvv71B9dj7PAwMDNT8+fN14403qlevXoqIiJC7u7t8fX3VvXt3zZgxQ5s3b1a/fv0atH191Of501ChoaFau3at3nnnHV1++eWKjIyUu7u7vL291blzZ40fP16vvPKKPvrooyY9ryTdeuut2rFjh2bNmqW4uDj5+fnJbDYrJCREAwcO1H333afly5dbu2lJkqenpz755BMtXbpU11xzjWJiYuTl5SU/Pz916dJFN910k00XtvDwcP3888967bXXdOGFFyokJETu7u4KDg7WsGHD9I9//EMbNmxo8IC9c+fO1bvvvmsdvyYkJESTJk3Shg0bau1K17lzZ23btk3/+Mc/NGLECIWGhspsNlufJ9dee60WLFhgbX1gsXDhQr388ss699xz5enpqcjISN1yyy3asGGDoqOjG3Qbbr31Vn311Vc6//zz5ePjo4CAAI0aNUqrV6/WJZdcUu0+Hh4e+uGHH3TbbbcpPDxcnp6e6t69u+bNm6cFCxbUec5OnTpp3Lhx1uvu7u6aPn16g+oHcPaYDMOOob4BAE4tLy+v2hH/X375ZT344IPW6z///LMGDRpU7+N27NjR2s932rRptTaph63ExESb/uGHDh1ymg/2AOAqnnzyST333HOSpPHjx+s///mPgysCUBfGrACAViQ+Pl7nn3++hg4dqvbt2yszM1MrV660GRzy/PPPtyuoAACgJfr999916NAh7d+/X6+99pp1+X333efAqgDUF2EFALQip0+f1nvvvWczw0RFvXr10uLFi89yVQAAnH2JiYlVuidOmjRJI0aMcExBAOxCWAEArchjjz2mZcuWac+ePTpx4oRKS0sVGhqqPn36aOLEibrxxhvl6enp6DIBADhrzGazYmJidP31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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Inspect hour-of-day rates\n",
    "hour_summary = train_pool.assign(hour=train_pool['timestamp'].dt.hour).groupby('hour')['is_fraud'].agg(rows='size', frauds='sum')\n",
    "hour_summary['fraud_rate'] = hour_summary['frauds'] / hour_summary['rows']\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(hour_summary.index, 100 * hour_summary.fraud_rate, marker='o')\n",
    "ax.set(xlabel='Recorded hour', ylabel='Labelled fraud (%)', title='Training-period pattern across the recorded day', xticks=range(0, 24, 3))\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34177f20",
   "metadata": {},
   "source": [
    "<a id=\"6-features-and-preprocessing\"></a>\n",
    "## 6. Features and preprocessing\n",
    "\n",
    "Five numeric features and one low-cardinality category keep the first model readable:\n",
    "log amount, log location-distance proxy, sine and cosine of hour, weekend, and\n",
    "transaction category. Category coefficients are relative to an omitted reference\n",
    "category. We avoid high-cardinality merchant names and direct customer identifiers.\n",
    "\n",
    "The distance is between **source cardholder and merchant coordinates**. It is not a\n",
    "verified journey or transaction-terminal GPS measurement. Time-of-day uses the clock\n",
    "as recorded. Hour sine/cosine makes 23:00 close to 00:00 rather than far apart.\n",
    "\n",
    "We handle imbalance through prevalence-preserving training, ranking metrics, and\n",
    "review-threshold selection. This avoids manufacturing fractional one-hot categories\n",
    "with ordinary SMOTE and avoids interpreting balanced-sample scores as live fraud\n",
    "probabilities. These choices are a baseline design, not a claim that resampling or\n",
    "class weights are always inappropriate."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1284832a",
   "metadata": {},
   "source": [
    "### Cell 35 · Define the location-distance proxy\n",
    "\n",
    "The haversine formula approximates great-circle distance. Missing inputs remain missing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "step-035",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the location-distance proxy\n",
    "def haversine_km(lat1, lon1, lat2, lon2):\n",
    "    lat1, lon1, lat2, lon2 = [np.radians(np.asarray(v, dtype=float)) for v in (lat1, lon1, lat2, lon2)]\n",
    "    a = np.sin((lat2 - lat1) / 2) ** 2\n",
    "    a += np.cos(lat1) * np.cos(lat2) * np.sin((lon2 - lon1) / 2) ** 2\n",
    "    return 6371.0088 * 2 * np.arcsin(np.sqrt(np.clip(a, 0, 1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5410324",
   "metadata": {},
   "source": [
    "### Cell 36 · Verify the distance calculation\n",
    "\n",
    "A same-point check and a known quarter-circumference catch unit and formula mistakes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "step-036",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Distance checks passed.\n"
     ]
    }
   ],
   "source": [
    "# Verify the distance calculation\n",
    "assert np.isclose(haversine_km([0], [0], [0], [0])[0], 0)\n",
    "assert np.isclose(haversine_km([0], [0], [0], [90])[0], 10007.5572, atol=.01)\n",
    "print('Distance checks passed.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b75e118",
   "metadata": {},
   "source": [
    "### Cell 37 · Define one reusable feature rule\n",
    "\n",
    "The same deterministic transformation must run at training, validation, test, and inference time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "step-037",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define one reusable feature rule\n",
    "def engineer_features(frame):\n",
    "    timestamp = pd.to_datetime(frame['trans_date_trans_time'], errors='coerce')\n",
    "    if timestamp.isna().any():\n",
    "        raise ValueError('Feature construction requires valid transaction timestamps.')\n",
    "    amount = pd.to_numeric(frame['amt'], errors='coerce').to_numpy(dtype=float)\n",
    "    if not np.isfinite(amount).all() or (amount < 0).any():\n",
    "        raise ValueError('Feature construction requires valid non-negative amounts.')\n",
    "    coords = [pd.to_numeric(frame[c], errors='coerce').to_numpy(dtype=float) for c in ['lat', 'long', 'merch_lat', 'merch_long']]\n",
    "    for values, bound in zip(coords, [90, 180, 90, 180]):\n",
    "        values[np.abs(values) > bound] = np.nan\n",
    "    distance = haversine_km(*coords)\n",
    "    angle = 2 * np.pi * timestamp.dt.hour.to_numpy() / 24\n",
    "    category = frame['category'].astype(object).where(frame['category'].notna(), np.nan)\n",
    "    return pd.DataFrame({\n",
    "        'log_amount': np.log1p(amount), 'log_distance': np.log1p(distance),\n",
    "        'hour_sin': np.sin(angle), 'hour_cos': np.cos(angle),\n",
    "        'weekend': (timestamp.dt.dayofweek.to_numpy() >= 5).astype(float),\n",
    "        'category': category.to_numpy(),\n",
    "    }, index=frame.index)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a42b9d90",
   "metadata": {},
   "source": [
    "### Cell 38 · Construct training and selection features\n",
    "\n",
    "Final test features are deliberately constructed only after the policies have been frozen."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "step-038",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>log_amount</th>\n",
       "      <th>log_distance</th>\n",
       "      <th>hour_sin</th>\n",
       "      <th>hour_cos</th>\n",
       "      <th>weekend</th>\n",
       "      <th>category</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>3.819</td>\n",
       "      <td>4.780</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>grocery_net</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>4.286</td>\n",
       "      <td>2.622</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>gas_transport</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2.171</td>\n",
       "      <td>4.205</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>shopping_pos</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>4.160</td>\n",
       "      <td>4.521</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>food_dining</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>3.176</td>\n",
       "      <td>4.389</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>shopping_pos</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    log_amount  log_distance  hour_sin  hour_cos  weekend       category\n",
       "6        3.819         4.780       0.0       1.0      0.0    grocery_net\n",
       "7        4.286         2.622       0.0       1.0      0.0  gas_transport\n",
       "14       2.171         4.205       0.0       1.0      0.0   shopping_pos\n",
       "18       4.160         4.521       0.0       1.0      0.0    food_dining\n",
       "24       3.176         4.389       0.0       1.0      0.0   shopping_pos"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Construct training and selection features\n",
    "train_features = engineer_features(train)\n",
    "model_val_features = engineer_features(model_val)\n",
    "policy_val_features = engineer_features(policy_val)\n",
    "display(train_features.head().round(3))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a80a9c15",
   "metadata": {},
   "source": [
    "### Cell 39 · Specify numeric preprocessing\n",
    "\n",
    "Median replacement and scaling learn their values from training rows only."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "step-039",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Specify numeric preprocessing\n",
    "numeric_features = ['log_amount', 'log_distance', 'hour_sin', 'hour_cos', 'weekend']\n",
    "numeric_pipeline = Pipeline([\n",
    "    ('impute', SimpleImputer(strategy='median', keep_empty_features=True)),\n",
    "    ('scale', StandardScaler()),\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da2018e1",
   "metadata": {},
   "source": [
    "### Cell 40 · Specify categorical preprocessing\n",
    "\n",
    "An unseen category becomes an all-zero category vector. Monitor that situation rather than silently treating it as familiar."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "step-040",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Specify categorical preprocessing\n",
    "categorical_pipeline = Pipeline([\n",
    "    ('impute', SimpleImputer(strategy='constant', fill_value='__missing__')),\n",
    "    ('encode', OneHotEncoder(drop='first', handle_unknown='ignore', sparse_output=True)),\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad9d9813",
   "metadata": {},
   "source": [
    "### Cell 41 · Combine the preprocessing rules\n",
    "\n",
    "Keeping one fitted transformer prevents different implementations from seeing different feature spaces."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "step-041",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Combine the preprocessing rules\n",
    "preprocessor = ColumnTransformer([\n",
    "    ('numeric', numeric_pipeline, numeric_features),\n",
    "    ('category', categorical_pipeline, ['category']),\n",
    "], sparse_threshold=1.0, verbose_feature_names_out=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d39c905",
   "metadata": {},
   "source": [
    "### Cell 42 · Fit preprocessing on training rows\n",
    "\n",
    "This is the only preprocessing fit. Stored means, medians, and category levels are reused later."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "step-042",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Transformed training matrix: (150000, 18); sparse non-zero fraction: 32.92%\n"
     ]
    }
   ],
   "source": [
    "# Fit preprocessing on training rows\n",
    "X_train = sparse.csr_matrix(preprocessor.fit_transform(train_features), dtype=np.float64)\n",
    "y_train = train['is_fraud'].to_numpy(dtype=float)\n",
    "feature_names = preprocessor.get_feature_names_out()\n",
    "print(f'Transformed training matrix: {X_train.shape}; sparse non-zero fraction: {X_train.nnz / np.prod(X_train.shape):.2%}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e9333d02",
   "metadata": {},
   "source": [
    "### Cell 43 · Transform the two selection periods\n",
    "\n",
    "Transform applies learned rules without learning anything from future rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "step-043",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Transform the two selection periods\n",
    "X_model_val = sparse.csr_matrix(preprocessor.transform(model_val_features), dtype=np.float64)\n",
    "X_policy_val = sparse.csr_matrix(preprocessor.transform(policy_val_features), dtype=np.float64)\n",
    "y_model_val = model_val['is_fraud'].to_numpy(dtype=int)\n",
    "y_policy_val = policy_val['is_fraud'].to_numpy(dtype=int)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d8ff4a9",
   "metadata": {},
   "source": [
    "### Cell 44 · Verify the transformed matrices\n",
    "\n",
    "Check that columns align and the optimiser will not receive infinities or missing values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "step-044",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Preprocessing checks passed; category reference: entertainment\n"
     ]
    }
   ],
   "source": [
    "# Verify the transformed matrices\n",
    "for matrix in [X_train, X_model_val, X_policy_val]:\n",
    "    assert matrix.shape[1] == len(feature_names)\n",
    "    assert np.isfinite(matrix.data).all()\n",
    "reference_category = preprocessor.named_transformers_['category'].named_steps['encode'].categories_[0][0]\n",
    "print('Preprocessing checks passed; category reference:', reference_category)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce709c4f",
   "metadata": {},
   "source": [
    "<a id=\"7-logistic-regression-from-first-principles\"></a>\n",
    "## 7. Logistic regression from first principles\n",
    "\n",
    "For one transaction, a weighted sum of the features produces a score:\n",
    "\n",
    "$$z = x^T w + b, \\qquad p = \\sigma(z) = \\frac{1}{1+e^{-z}}.$$\n",
    "\n",
    "The sigmoid maps a score to a number between zero and one. A fitted score is not\n",
    "automatically a well-calibrated fraud probability; we check calibration later.\n",
    "This illustration uses a score axis only and is **not a separate fraud experiment**."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5ae554de",
   "metadata": {},
   "source": [
    "### Cell 45 · Define a numerically stable sigmoid\n",
    "\n",
    "Using expit avoids overflow at extreme positive or negative scores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "step-045",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define a numerically stable sigmoid\n",
    "def sigmoid(scores):\n",
    "    return expit(scores)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e24674d",
   "metadata": {},
   "source": [
    "### Cell 46 · Plot the sigmoid\n",
    "\n",
    "Moving the threshold changes decisions while leaving the underlying risk ranking unchanged."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "step-046",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Fy5c0IIFCxQdHS3DMDRgwAC1bt1a/v7+kqQePXpo69atkiR3d3d169ZNlSpV0t69e7V06VLFxcXpq6++UmBgoEaPHm3q87lt2zb17dtXBQsW1MyZMxUdHa3Y2Fh16dJFTk5O6tevn9zd3TVr1izFxMQoLi5OU6ZMUfPmzW3ryMz+ZvT9djulSpVSs2bNVLZsWXl7e8tisej06dP6+uuvdenSJV2+fFkjRoxI9ciQtISGhurKlSvq27evfHx89PXXX+vIkSOSpD/++EMfffSR3RE+if3111+qXr262rdvL6vVavs5NXXqVLujsgIDA9WhQwedP39eCxcuVHR0tC5cuKAOHTro8OHD8vLySrbuffv2qVChQho8eLDc3Ny0aNEi29EY8+fPV8eOHW1Hcjg7O+vuu+9W3bp15evrKy8vL4WHh2v79u1asWKFDMPQL7/8ou+++06dOnVKcV8y8j2QnV577TUdP35ckyZNsrV17dpVdevWtVvupZdesn1v79u3T3/99ZcaN24sSdqxY4cOHDhgW/a5555L17avX7+uefPm2R63aNFCzZs3V2RkpE6fPq2tW7dq7969aa7j119/1WOPPaa77rpLX3zxhe2IuTVr1mjz5s1q0KCBpPhP48uXL6/77rtPJUuWlLe3t2JjY3Xs2DEtXbpUN2/e1IkTJzRx4kTNnDkzxW0dOnQo3e+JadOm6dNPP7WNbdu2re6//36FhoZq0aJFunr1qnbv3q2nn35av//+uyQpIiJCPXr0UFRUlK3mhO/3FStW6KeffkrX85pUZv6eyYyEOaf++ecfLV261NY+evRo2++S1OZYWb16tWrXrq1HH31UR44c0VdffSXDMBQZGamePXvq6NGjcnd3v+N1AQ7P3KwEQGakJ0VPekt8ZMXFixftPpVs0qSJ3ad7Y8eOtRv73Xff2foSfwo/depUwzAMY9CgQYYk26eTVqvVuHTpkhEdHW0ULFjQtvyiRYsytJ+nT582li9fbnz00UfGu+++a0ydOtUIDAy0+6QivVI7suKVV16x29c//vjD7nlK/El1rVq1bH3Vq1e3tRcuXNgICQmx9X322Wd260zvkRVeXl629r///jvZPoSGhhpXrlyxa0u8rtQ+SU7tU8qZM2fajR8wYIARFxdnNzYoKCjFdSbVoUMH23refvvtZP03b940Tp8+bXs8bNgw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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the sigmoid\n",
    "z_demo = np.linspace(-8, 8, 300)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(z_demo, sigmoid(z_demo))\n",
    "ax.axhline(.5, color=SILVER, linestyle='--')\n",
    "ax.set(xlabel='Linear score z', ylabel='Sigmoid output', title='How a logistic score becomes a probability-shaped output')\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "35d5a440",
   "metadata": {},
   "source": [
    "The training objective is mean binary cross-entropy plus L2 regularisation:\n",
    "\n",
    "$$L = \\frac{1}{n}\\sum_i[\\log(1+e^{z_i})-y_i z_i]\n",
    "       +\\frac{\\lambda}{2}\\lVert w\\rVert_2^2.$$\n",
    "\n",
    "`logaddexp(0, z)` computes the logarithmic term stably. The intercept is not penalised.\n",
    "The gradients are $X^T(p-y)/n + \\lambda w$ for weights and the mean of $p-y$ for bias.\n",
    "The loss encourages useful probability estimates; L2 shrinks large coefficients."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "829cc463",
   "metadata": {},
   "source": [
    "### Cell 47 · Define the objective\n",
    "\n",
    "This formula is equivalent to correctly signed binary cross-entropy without taking log(0)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "step-047",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the objective\n",
    "def logistic_objective(X, y, weights, bias, l2):\n",
    "    scores = np.asarray(X @ weights).ravel() + bias\n",
    "    return float(np.mean(np.logaddexp(0, scores) - y * scores) + l2 * np.dot(weights, weights) / 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c7d9409a",
   "metadata": {},
   "source": [
    "### Cell 48 · Define the gradients\n",
    "\n",
    "These derivatives tell gradient descent which direction reduces the objective."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "step-048",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the gradients\n",
    "def logistic_gradients(X, y, weights, bias, l2):\n",
    "    probabilities = sigmoid(np.asarray(X @ weights).ravel() + bias)\n",
    "    errors = probabilities - y\n",
    "    weight_gradient = np.asarray(X.T @ errors).ravel() / len(y) + l2 * weights\n",
    "    bias_gradient = float(errors.mean())\n",
    "    return weight_gradient, bias_gradient"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54222347",
   "metadata": {},
   "source": [
    "### Cell 49 · Check the analytic gradient\n",
    "\n",
    "Finite differences provide an independent check of the loss sign and regularisation derivative."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "step-049",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analytic gradient, bias gradient, and extreme-score checks passed.\n"
     ]
    }
   ],
   "source": [
    "# Check the analytic gradient\n",
    "check_X = np.array([[1., -.5], [0., 1.], [2., .2], [-1., .4]])\n",
    "check_y, check_w, check_b, check_l2 = np.array([0., 1., 1., 0.]), np.array([.2, -.3]), .1, .01\n",
    "analytic_w, analytic_b = logistic_gradients(check_X, check_y, check_w, check_b, check_l2)\n",
    "epsilon = 1e-6\n",
    "finite_w = []\n",
    "for j in range(len(check_w)):\n",
    "    delta = np.zeros_like(check_w); delta[j] = epsilon\n",
    "    finite_w.append((logistic_objective(check_X, check_y, check_w + delta, check_b, check_l2)\n",
    "                     - logistic_objective(check_X, check_y, check_w - delta, check_b, check_l2)) / (2 * epsilon))\n",
    "finite_b = (logistic_objective(check_X, check_y, check_w, check_b + epsilon, check_l2)\n",
    "            - logistic_objective(check_X, check_y, check_w, check_b - epsilon, check_l2)) / (2 * epsilon)\n",
    "assert np.allclose(analytic_w, finite_w, atol=1e-7) and np.isclose(analytic_b, finite_b, atol=1e-7)\n",
    "assert np.isfinite(sigmoid(np.array([-1e6, 0, 1e6]))).all()\n",
    "print('Analytic gradient, bias gradient, and extreme-score checks passed.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b037b67",
   "metadata": {},
   "source": [
    "### Cell 50 · Define a safe gradient-descent update\n",
    "\n",
    "Backtracking reduces an over-large step until it gives sufficient descent. This makes the optimisation stable rather than tuning learning rate on final outcomes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "step-050",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define a safe gradient-descent update\n",
    "def descent_update(X, y, weights, bias, l2, step_size):\n",
    "    dw, db = logistic_gradients(X, y, weights, bias, l2)\n",
    "    old_loss = logistic_objective(X, y, weights, bias, l2)\n",
    "    squared_norm = float(np.dot(dw, dw) + db * db)\n",
    "    for _ in range(50):\n",
    "        new_w, new_b = weights - step_size * dw, bias - step_size * db\n",
    "        new_loss = logistic_objective(X, y, new_w, new_b, l2)\n",
    "        if np.isfinite(new_loss) and new_loss <= old_loss - 1e-4 * step_size * squared_norm:\n",
    "            return new_w, new_b, new_loss, step_size, max(np.abs(dw).max(), abs(db))\n",
    "        step_size *= .5\n",
    "    raise RuntimeError('Backtracking failed; inspect the features and objective.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4cf2d659",
   "metadata": {},
   "source": [
    "### Cell 51 · Define the training loop\n",
    "\n",
    "One cohesive function trains one model. The initial bias reflects the training prevalence and the stopping rule checks the gradient."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "step-051",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the training loop\n",
    "def fit_scratch(X, y, l2, max_iterations=MAX_ITERATIONS, tolerance=GRADIENT_TOLERANCE):\n",
    "    weights = np.zeros(X.shape[1], dtype=float)\n",
    "    prevalence = np.clip(y.mean(), 1e-8, 1 - 1e-8)\n",
    "    bias = float(np.log(prevalence / (1 - prevalence)))\n",
    "    history, step_size = [], 16.0\n",
    "    start = time.perf_counter()\n",
    "    for iteration in range(1, max_iterations + 1):\n",
    "        weights, bias, loss, accepted_step, gradient_norm = descent_update(X, y, weights, bias, l2, step_size)\n",
    "        if iteration == 1 or iteration % 10 == 0 or gradient_norm < tolerance:\n",
    "            history.append({'iteration': iteration, 'objective': loss, 'step': accepted_step})\n",
    "        step_size = min(accepted_step * 1.15, 64.0)\n",
    "        if gradient_norm < tolerance:\n",
    "            break\n",
    "    dw, db = logistic_gradients(X, y, weights, bias, l2)\n",
    "    final_gradient = float(max(np.abs(dw).max(), abs(db)))\n",
    "    return {'weights': weights, 'bias': bias, 'l2': l2, 'history': pd.DataFrame(history),\n",
    "            'iterations': iteration, 'gradient_norm': final_gradient,\n",
    "            'converged': final_gradient < tolerance, 'fit_seconds': time.perf_counter() - start}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "27d9fc94",
   "metadata": {},
   "source": [
    "### Cell 52 · Define scratch probability prediction\n",
    "\n",
    "Keep probability scoring separate from threshold-based review decisions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "step-052",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define scratch probability prediction\n",
    "def scratch_probability(model, X):\n",
    "    return sigmoid(np.asarray(X @ model['weights']).ravel() + model['bias'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30849abd",
   "metadata": {},
   "source": [
    "<a id=\"8-model-selection\"></a>\n",
    "## 8. Model selection\n",
    "\n",
    "Select each implementation's L2 value on the **model-validation** period using\n",
    "average precision (AP), with log loss as the tie breaker. AP summarises the\n",
    "precision–recall curve; it is not the trapezoidal PR area. Both models use the same\n",
    "features, training sample, unweighted labels, and candidate regularisation strengths.\n",
    "\n",
    "Scikit-learn's inverse penalty parameter is matched to our mean-loss convention:\n",
    "`C = 1 / (lambda * n_train)`. The optimiser differs; the objective does not. Solver\n",
    "agreement is also checked on a fixed regularisation value, separately from selection.\n",
    "No test scores guide either search."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "76defea2",
   "metadata": {},
   "source": [
    "### Cell 53 · Train the scratch candidates\n",
    "\n",
    "The small candidate set makes the search readable and its computational cost explicit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "step-053",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Scratch lambda=0.0001: 235 iterations, gradient=9.9e-06, converged=True\n",
      "Scratch lambda=0.001: 78 iterations, gradient=9.3e-06, converged=True\n",
      "Scratch lambda=0.01: 22 iterations, gradient=5.3e-06, converged=True\n"
     ]
    }
   ],
   "source": [
    "# Train the scratch candidates\n",
    "scratch_candidates = {}\n",
    "for l2 in L2_CANDIDATES:\n",
    "    scratch_candidates[l2] = fit_scratch(X_train, y_train, l2)\n",
    "    fitted = scratch_candidates[l2]\n",
    "    print(f\"Scratch lambda={l2:g}: {fitted['iterations']} iterations, gradient={fitted['gradient_norm']:.2g}, converged={fitted['converged']}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1611b1d6",
   "metadata": {},
   "source": [
    "### Cell 54 · Score scratch candidates on model validation\n",
    "\n",
    "These are selection scores, not final claims of performance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "step-054",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>l2</th>\n",
       "      <th>validation_ap</th>\n",
       "      <th>validation_log_loss</th>\n",
       "      <th>iterations</th>\n",
       "      <th>converged</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0001</td>\n",
       "      <td>0.345141</td>\n",
       "      <td>0.019169</td>\n",
       "      <td>235</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0010</td>\n",
       "      <td>0.313585</td>\n",
       "      <td>0.020013</td>\n",
       "      <td>78</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0100</td>\n",
       "      <td>0.295729</td>\n",
       "      <td>0.024857</td>\n",
       "      <td>22</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       l2  validation_ap  validation_log_loss  iterations  converged\n",
       "0  0.0001       0.345141             0.019169         235       True\n",
       "1  0.0010       0.313585             0.020013          78       True\n",
       "2  0.0100       0.295729             0.024857          22       True"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Score scratch candidates on model validation\n",
    "scratch_selection = pd.DataFrame([\n",
    "    {'l2': l2, 'validation_ap': average_precision_score(y_model_val, scratch_probability(model, X_model_val)),\n",
    "     'validation_log_loss': log_loss(y_model_val, scratch_probability(model, X_model_val)),\n",
    "     'iterations': model['iterations'], 'converged': model['converged']}\n",
    "    for l2, model in scratch_candidates.items()\n",
    "]).sort_values(['validation_ap', 'validation_log_loss'], ascending=[False, True])\n",
    "display(scratch_selection)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea28bf12",
   "metadata": {},
   "source": [
    "### Cell 55 · Freeze the scratch regularisation choice\n",
    "\n",
    "The selected model remains fitted on the original training sample; validation rows are not added to its training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "step-055",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Selected scratch lambda: 0.0001\n"
     ]
    }
   ],
   "source": [
    "# Freeze the scratch regularisation choice\n",
    "scratch_l2 = float(scratch_selection.iloc[0]['l2'])\n",
    "scratch_model = scratch_candidates[scratch_l2]\n",
    "print('Selected scratch lambda:', scratch_l2)\n",
    "if not scratch_model['converged']:\n",
    "    print('Convergence tolerance was not reached; treat the solver comparison as provisional.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e97cb50f",
   "metadata": {},
   "source": [
    "### Cell 56 · Train the matched library candidates\n",
    "\n",
    "The alias prevents namespace conflicts. Default L2 regularisation avoids a deprecated penalty argument."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "step-056",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Library lambda=0.0001: 52 solver iterations\n",
      "Library lambda=0.001: 28 solver iterations\n",
      "Library lambda=0.01: 15 solver iterations\n"
     ]
    }
   ],
   "source": [
    "# Train the matched library candidates\n",
    "library_candidates = {}\n",
    "for l2 in L2_CANDIDATES:\n",
    "    fitted = SklearnLogisticRegression(C=1 / (l2 * len(y_train)), solver='lbfgs', max_iter=2_000, tol=1e-9)\n",
    "    fitted.fit(X_train, y_train)\n",
    "    library_candidates[l2] = fitted\n",
    "    print(f'Library lambda={l2:g}: {int(fitted.n_iter_[0])} solver iterations')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13358b68",
   "metadata": {},
   "source": [
    "### Cell 57 · Score library candidates on model validation\n",
    "\n",
    "The metric and selection rules match the scratch search."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "step-057",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>l2</th>\n",
       "      <th>validation_ap</th>\n",
       "      <th>validation_log_loss</th>\n",
       "      <th>iterations</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0001</td>\n",
       "      <td>0.345275</td>\n",
       "      <td>0.019158</td>\n",
       "      <td>52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0010</td>\n",
       "      <td>0.313714</td>\n",
       "      <td>0.020003</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0100</td>\n",
       "      <td>0.295732</td>\n",
       "      <td>0.024854</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       l2  validation_ap  validation_log_loss  iterations\n",
       "0  0.0001       0.345275             0.019158          52\n",
       "1  0.0010       0.313714             0.020003          28\n",
       "2  0.0100       0.295732             0.024854          15"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Score library candidates on model validation\n",
    "library_selection = pd.DataFrame([\n",
    "    {'l2': l2, 'validation_ap': average_precision_score(y_model_val, model.predict_proba(X_model_val)[:, 1]),\n",
    "     'validation_log_loss': log_loss(y_model_val, model.predict_proba(X_model_val)[:, 1]),\n",
    "     'iterations': int(model.n_iter_[0])}\n",
    "    for l2, model in library_candidates.items()\n",
    "]).sort_values(['validation_ap', 'validation_log_loss'], ascending=[False, True])\n",
    "display(library_selection)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "16dfa43d",
   "metadata": {},
   "source": [
    "### Cell 58 · Freeze the library regularisation choice\n",
    "\n",
    "Neither implementation is chosen by looking at final test performance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "step-058",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Selected library lambda: 0.0001\n"
     ]
    }
   ],
   "source": [
    "# Freeze the library regularisation choice\n",
    "library_l2 = float(library_selection.iloc[0]['l2'])\n",
    "library_model = library_candidates[library_l2]\n",
    "print('Selected library lambda:', library_l2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5372550a",
   "metadata": {},
   "source": [
    "### Cell 59 · Check agreement for the same objective\n",
    "\n",
    "Comparing predicted scores on a fixed lambda verifies that the scratch implementation approximates the library solution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "step-059",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute probability difference at lambda=0.001: 0.00001518\n"
     ]
    }
   ],
   "source": [
    "# Check agreement for the same objective\n",
    "parity_l2 = L2_CANDIDATES[1]\n",
    "parity_scratch = scratch_probability(scratch_candidates[parity_l2], X_model_val)\n",
    "parity_library = library_candidates[parity_l2].predict_proba(X_model_val)[:, 1]\n",
    "parity_mean_gap = float(np.mean(np.abs(parity_scratch - parity_library)))\n",
    "print(f'Mean absolute probability difference at lambda={parity_l2:g}: {parity_mean_gap:.8f}')\n",
    "assert parity_mean_gap < 0.005, 'Solver discrepancy is too large; inspect convergence before proceeding.'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3cef8b0a",
   "metadata": {},
   "source": [
    "### Cell 60 · Plot the scratch optimisation trace\n",
    "\n",
    "A decreasing objective supports numerical stability. It does not demonstrate generalisation by itself."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "step-060",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABCsAAAIcCAYAAADfZCR+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAmSJJREFUeJzs3XdcleX/x/H34YAMBQRk5kRRSxyVI82c2dBMMzUbjjKt7JujHGVZWX5tWJp9/dkyZ9PMUTbN1XCXWlrOUhFBUJAloHDu3x/I8RzZHOwwXs/Hg4fnvtb9uQ/ngHzOdV+XyTAMQwAAAAAAAOWEi7MDAAAAAAAAsEWyAgAAAAAAlCskKwAAAAAAQLlCsgIAAAAAAJQrJCsAAAAAAEC5QrICAAAAAACUKyQrAAAAAABAuUKyAgAAAAAAlCskKwAAAAAAQLlCsgIAAAAAAJQrJCsAAAAAAEC5QrICACq4DRs2yGQyWb82bNjg7JAum4ULF9pd65EjRy7r+erXr28917Bhwy7ruZxl2LBh1musX7++s8O5bKrKdVY2l+M9/2//HEH5ZvtaeP75550dDgAbJCsAVCjLly/XbbfdptDQUFWrVk3e3t6qW7eurrvuOo0YMULvvPOOs0MsFP9JLhh/TALlD3/IAQCcxdXZAQBAcT344IN6//337crOnz+v1NRURUVFaevWrfrss8/00EMPOSlCXG5t2rTRjBkzrMf+/v6X9XxPP/20kpKSJEmRkZGX9Vy4vAYNGmT9Hvr6+jo5GhTX5XjP/9s/RwAApUOyAkCF8P3339slKq6++mrdfPPN8vX1VUJCgv744w/9/PPPlz2O5ORk+fj4XPbzIH/NmjVTs2bN/rXzjRgx4l87V2lUldejYRhKS0tTjRo1Sj3GLbfcoltuuaUMo0JxOPq9uxzv+X/758jlUlXe/wCqLm4DAVAhfPvtt9bHDRs21Pbt2/XSSy/pySef1KuvvqpvvvlGCQkJ+vTTT/Ptn5ycrBkzZuiGG25QQECAqlWrpuDgYHXo0EEvvPCCtd2RI0fspj0vXLhQK1asUIcOHeTt7W39RDYrK0tTpkxRr1691KhRI/n5+cnV1VU1a9ZU69atNWXKFCUmJuYZ9/7777eLq0GDBtZzdenSxa7u5MmTevbZZ9W2bVv5+fmpWrVqCgsLU9euXTV37txCn69Vq1apY8eOql69unx9fdW7d2/t27evWM+1rbi4OE2ZMkXXXnutfH19rTH06dNHX375ZZ72+a2f8dFHH6lt27by8vKSv7+/+vfvr/3791v75N4as2jRImvZ0aNH851+XthtNJfeRnLy5Ek98MADCgwMlLe3t3r06KHffvtNUs73Y9CgQfL391f16tXVuXNnbd68Oc/1FLZmxbZt2zRo0CDVq1dPHh4e8vDwUO3atXX99ddr7Nix2rFjR57xoqKiNGHCBLVo0ULe3t5yd3dXeHi4RowYYfec5Hr++eftrjctLU1PPfWUwsPD5ebmptGjR1vbXq7p+mlpaZo5c6Y6duwof39/63unT58+WrNmTZ72JX1v5OrSpYvde+Ho0aO67777FBwcLLPZrGXLlknK+z05dOiQ7r33XgUFBcnd3V2RkZF2r6Vchd1mVNoxJSk2NlYPPviggoOD5enpqZYtW+rdd9/VP//8k+dnSUls2rRJ9957rxo0aCAPDw9Vr15dV111lUaPHq2///67yOtLTk7WpEmT1KBBA7m7u6tu3bp68sknde7cuWKdP/f7YWvq1Kn5vv+K+71buXKlhgwZopYtWyokJETu7u7y8vJSw4YNdd9992nr1q154ijJe76413w5xpSkc+fO6cUXX1SjRo3k7u6u+vXra9KkSUpLSyvV+jfF/X2Ua8+ePRo5cqQaN24sLy8veXp6qlGjRho+fLh2795t1/arr76yG/vEiRPWuldeecVa3rt3b7t+ERER1rrJkydby/fv36/hw4crIiJCnp6eqlatmkJDQ9WmTRs98sgjWrt2bbGuOVdZ/O5ZunSp2rdvX6rfg2+//bZ1LHd3d8XHx+dpY/v7e+TIkSW6PgDFZABABTB69GhDkiHJCAgIMA4cOFDsvrt37zbq1Klj7X/pl6+vr7XtP//8Y1fXsWPHPO0NwzBSUlIKHC/3q169ekZMTEy+4+b31blzZ2scP/zwg+Hn51dg25YtW1rbrl+/3q7ulltuybdPYGCgER8fX+znbcuWLUZgYGChMQ8ePNjIzs4uMJbu3bvn269mzZrG7t27DcMwjAULFhT53Dz33HP5tv3nn3+s5x46dKi13N/f32jQoEGecby8vIwvv/zSCAgIyFPn6elp/PXXX3bPQb169az1Q4cOtZZv2LDBcHV1LVbMub766ivD29u7wPYeHh7G559/btfnueees2tzww032B3bxlTYuQtj+7zVq1fPru7w4cNGREREodc5ceJEuz4lfW/k6ty5s7U+IiLCCA4OtuuzYMGCPN+TFi1aGD4+PvmeY+HChcW+ztKOGR0dbdfX9uv222/PN/7imDJlimEymQp8/qpXr26sXLmywOsLCAgwrrrqqnz7Dhs2rFgx2H4/CvrKff8V93t35513Fjqei4uL8cEHH9jFUdz3fEmu+XKMmZWVVeDP3nbt2tk9J7bv28IU9/eRYRjGO++8Y7i5uRX43Lq6uhpz5861tk9OTrb7Gfbxxx9b62699VZrec2aNa0/46Ojo+3G/OGHHwzDMIx9+/YZNWrUKPR7W9xrNoyy+d1z6c/K3K/8fg/a1uf+7ExLS7P7HfzKK6/Y9dm8ebNdv61btxb7+gAUH7eBAKgQrrnmGuvj06dPq0mTJmrevLlat26tq6++WjfccINatmyZp19aWpp69uyp6Ohoa1mbNm3UrVs3SdJvv/2W7yfguX7++WcFBATorrvuUlBQkLZv3y4p51PsBg0a6LrrrtMVV1whPz8/ZWdn659//tGnn36qs2fP6ujRo5o2bZrmzJkjf39/zZgxQzt27LCb/TF58mT5+flJkurUqSNJOn78uPr27avU1FRru27duqlDhw46e/astm7dqrS0tAJj/vbbb9WmTRvdfPPNWr9+vX755RdJUnx8vN5//31NmjSp4Cf6guTkZN1+++3WT5NcXV01ePBg1a5dW1988YX1U7olS5aoadOmdp+w2Vq7dq06deqkLl266LffftPq1aslSWfOnNGwYcP022+/We8f//TTT63fCz8/P7sxO3ToUGTMthISEpSenq4xY8YoLS1N8+bNkySdPXtWvXv3lpeXl8aOHaszZ85YP/FOT0/X7Nmz9dZbbxU5/ltvvaWsrCxJ0hVXXKH77rtP3t7eOnHihA4ePKiffvrJrv3Ro0c1YMAAnT17VlLOJ3IDBw6Uh4eHVq1apV27dikjI0P33nuv9u7dq/Dw8HzP+9NPP6lt27bq0aOHMjMzra+dyyE7O1t33HGHDh48KEny8fHRvffeq7CwMG3bts366earr76qli1b6p577pFU8vdGfnLP2bdvX1199dWKjo5WQEBAnna///67/Pz8NG7cOKWnp+u9995Tdna2JOnll1/W0KFDS3zdJRnzscce09GjR63HHTp00I033qjt27friy++KPG5JenTTz/Viy++aD2uX7++7rrrLp09e1YLFixQamqq0tLSNGjQIO3Zs0cNGzbMM8bp06eVmJioIUOGKCwsTPPmzdOpU6ckSYsXL9b06dMVGhpaaByPPPKIbrvtNk2YMMFa1qNHD910003W4/zWeijse1ezZk3deOONuuqqq+Tn5ycPDw+dOnVKX331lfbt2yeLxaIxY8bozjvvlIeHRwmetbK5ZkfGnDt3rt0MwPr16+vuu+9WfHy8Fi5caP154YiCfh9t2rRJjzzyiCwWiySpVq1aGjx4sMxmsxYvXqy4uDhlZWXp0UcfVfPmzdWxY0d5e3urbdu22rRpkyTpxx9/1KBBg2SxWKy/M6Scn9W///67WrVqpY0bN1rLPTw8dP3110uS9XUp5XyP77//ftWqVUsnT57U4cOH9eOPPxb7Gsvqd89PP/3k0O9BLy8vPfjgg9a1Td59911NmDDBOtvok08+sbZt3ry52rZtW+xrBFACzs6WAEBxnD9/3mjXrl2hn7Q0adLEWLFihV2/OXPm2LUZNWqUYbFY7NocOnTI+vjST7J8fHyMo0ePFhhXfHy8sXr1auOtt94yXn/9dWPGjBlGp06drP3Dw8Pt2hf2iV6u8ePH27W59BOdS2O+9BOltm3bGufOnTMMwzDOnTtnBAUFWev69etX4LXYevPNN+3GfO+996x1GRkZRuPGja11fn5+RlZWVr6x3HjjjXbP95AhQwr8NKqwT76L8/zZ9pdk9wlt+/bt7epsP0Vs27attfyaa66xO19BMyv69OljLX/ppZfyxHn27Fnj+PHj1uMnnnjC2j4kJMRISkqyez5tZ/6MGTPGWnfpzIp+/frZfZpoy7ZdWcys+PLLLwv95HDgwIHWOtuZPrlK+t649JP8WbNm5Ruv7ffEZDIZv/32m7Vu7NixdmMkJycXeZ2lHTMmJsZwcXGxlnfs2NH6PjAMw7jvvvvs+hV3ZsU111xj7ePr62v3KfC6devsxhw9enS+1yfJeOONN6x1K1eutKv74osvihWLYRTvdVXc751h5Pws/+WXX4wFCxYYb7zxhjFjxgzj8ccft+v/448/WtuX5D1f3Gu+HGNeeeWVdr834uLirHXz5s2z61famRUF/T7q16+ftY3ZbLabIXbgwAG7GRS33367tW7KlCnW8mbNmhmGYRi//vqrtSx3Blruc/DQQw9Z67p162YdZ8yYMdbyhx56KE98586dM44cOVKsay6r3z0l+T1Y0Gv86NGjhtlsttatWbPGMAzDyM7ONsLCwqzls2fPLta1ASg51qwAUCG4urpq7dq1eu6551S7du182+zfv1/9+vWzu5/10k90/vvf/+a5Dzu/TyZzDRkyRHXr1s1TnpGRoQcffFAhISG67bbb9Mgjj+iJJ57QhAkT7M55/PjxYl2fLdv+/v7+Gj9+fJ42hcX84IMPys3NTZLk5uamBg0aWOvyWysgP7aLlZrNZg0ZMsR67O7ubv0UPXfMv/76K99xBg8ebPd8X/pJd2GzWhzh6uqqgQMHWo9t1yhwc3NT//79rccRERHWx8V9fjp37mx9/Mwzz6h9+/YaOnSoXnzxRX399dcyDENXXHGFtY3tTIvY2Fj5+vpa73X28PBQVFSUtb6whWInT54sF5f8f3UbhmH9Kos1Ky6dHdKuXTu7e8KXLl1qrdu9e7dSUlIklc17w8/PT//5z3+KjLF9+/a6+uqrrcdNmjSxqy/u97M0Y/7666/WT7KlnNe22Wy2Hg8fPrzE5z579qx27txpPe7du7dq1aplPe7atavda9n2E3BbZrPZbleksnheiquw790nn3yiK664Qtdff73uv/9+jR07VhMmTNDMmTPt2pXm5+bluObijpmammr3M7B3794KDAy0Hg8ZMkSuro5PZi7o95Htz4z27duradOm1uOIiAh17NjRemz7munevbv18Z9//qmEhATr7ImIiAj17NlTkqxltjMrbPva/jx85513dM011+jee+/Vc889p+XLlystLU316tUr1jWW1e+esvg9WLduXd1xxx121ybl/GzMXePD3d1d9913X7HGA1ByJCsAVBjVq1fX888/r6ioKO3fv1+LFy/WQw89pKCgIGsbwzDs/uObkJBgfezn56eaNWuW6Jy2/+mzNXnyZL3//vvW6eEFKe5idrZsY65Xr16Bf5wW5NLFA93d3a2Pbf+4Km4MuYt72goJCSmwva3g4OBCjy/XH01BQUHW/6hKsos/KCjI7g8H28fFfX5Gjx5t/c9wdna2tmzZosWLF+vZZ59Vr169FBYWpuXLl1vbF/T85Ce/hdxyFfR6vBxKErMk6/T4snhvNGzYsFh/3BX2WpeK//0szZhnzpyxK7/0FoNL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wW6P90u/bHdfuHQV9PXr19ud03al/s6dOxf7Od+0aZN1NfiCvu6++267HRAujeW2227Lt5+Pj4+xc+dOu/P9/vvvdiuv235t377dMIzir+J/6W4Ppa0raDeQRx99tMjX4qBBg+zGWr16teHt7V1kP9vX3KWv+8LYtiuL3UAMwzAOHz5sREREFBmz7XNT2vdGcV+nBX1PDKP0r4/SjhkdHW3UrVs33+vt1auX3fGiRYsKvKZLPfXUU4U+356ensbnn39u16ew6yvuz7X8TJgwId8YcnePMIzife8SEhIK/Nl3//33Fxhfab+nhV3z5RgzKyvLuPnmm/O9vtatWxvBwcF211scJfm+zZ07127Xj0u/zGaz8eabb+bpl52dned3zb333mut/7//+788Y+3Zs8dujBkzZhT5M+L666+3+11RmLL43VOS34O2/Qr62Tl16tQ8z2d0dHSxrgdA6XEbCIAKYezYsVq+fLlGjx6t9u3bq0GDBqpevbrc3NwUFBSkrl27as6cOfrll1/y3PPfsmVL/fHHH3rllVd0/fXXy8/PT66urgoICFCbNm00duzYEsczYMAALV++XNdee62qVasmPz8/3X777dqyZYsiIyML7FetWjV9++236tWrl/X+9Px0795df/75p6ZMmaLWrVvL19dXrq6uCgwM1A033KARI0aUOOaSat++vfbu3avJkyerVatWqlGjhlxdXRUSEqLevXtrxYoV+uijjwr9ZOuJJ57QZ599pnbt2snT01M1a9bUHXfcoa1bt+aZPdC8eXN9/vnnateunXXRt/Lq/vvv1+TJk9WtWzfVr19f1atXt35/unbtqrffflsffPCBXZ9evXrpzz//1JNPPqlrrrlG3t7eMpvN8vX11dVXX62HHnpIq1atslvt3tnCw8O1a9cuzZ49W126dFFAQIDMZrO8vLzUpEkTDRo0SPPmzbO7Vam0742KKCwsTFu2bNEDDzygwMBAubu7q1mzZpozZ44mT55s19Z2rYCiTJ8+XT/++KPuvvtu1a1bV9WqVZOnp6eaNGmiRx99VL///rv69etX1peTrxdffFETJ05U/fr1HVrvxc/PTz///LMGDhyomjVrysPDQy1bttT8+fPzvT2vojGbzVq1apWmTp2q8PBwubm5qU6dOnr88cf1ww8/KDk52dq2JK+F4nrkkUf066+/avjw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AOByKHGy4s5+fS5HHPkaNmyYli1bprFjxyoiIkILFy5Uz549tX79enXs2LHAfqmpqeratauSkpI0efJkubm5adasWercubN27dqlgICctQ9WrVqlV155RX379tXQoUOVlZWlxYsXq0ePHpo/f77uv/9+u3EXLFig4cOHq0ePHpo+fbrMZrP279+vqKioy/o8IEfumhWSFBOfQLICAAAAACopk2EYhrODyM+2bdvUrl07zZgxQ+PHj5ckZWRkKDIyUkFBQdq0aVOBfV999VVNmjRJ27ZtU5s2bSRJ+/btU2RkpCZOnKjp06dLkvbu3avg4GDVqlXL2jczM1OtWrVSamqqXRLiyJEjuuqqqzRixAjNnj27TK5x7969ioyM1J49e9SsWbMyGbMy2/TrHt0x8hlJ0pwXxmhAr65OjggAAAAAcDmUeDeQf8uyZctkNps1cuRIa5mHh4eGDx+uzZs3FzqbYdmyZWrTpo01USFJTZs2Vffu3bV06VJrWbNmzewSFVLOziY9e/bU8ePHlZKSYi1/++23lZ2drRdeeEFSzuyNcprnqbRaNG0oP9+cBVxffHOxklPSnBwRAAAAAOByKLfJip07d6px48by8fGxK2/btq0kadeuXfn2s1gs+v3339W6des8dW3bttXhw4ftkhD5iY2NlZeXl7y8vKxlP/zwg5o2baqvv/5atWvXlre3twICAjRlyhRZLJYSXh1Ko0Z1Tz0/dpgk6eSpRP13zhLnBgQAAAAAuCzKbbIiJiZGoaGhecpzy06cOJFvv4SEBGVmZpaqryQdOnRIy5cv15133imz2WwtP3jwoKKionT//ffrgQce0LJly3Trrbdq2rRpevrpp4u8nri4OO3du9fu69ChQ0X2g727endTxzbNJUkLl32rbbv+cnJEAAAAAICyVqqtS/8N6enpcnd3z1Pu4eFhrS+on6RS9T179qwGDBggT09Pvfzyy3Z1qampslgsevnllzVp0iRJ0p133qmEhATNnj1bkydPlre3d4HXM3fuXE2dOrXAehSPyWTSa0+PUpe7xigj85yemPZ/+uGjWXKv5ubs0AAAAAAAZaTczqzw9PRUZmZmnvKMjAxrfUH9JJW4b3Z2tgYNGqQ///xTy5YtU1hYWL7j3n333Xbld999t9LT07Vz585Cr2fUqFHas2eP3dfKlSsL7YP8NagTqidG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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the scratch optimisation trace\n",
    "history = scratch_model['history']\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(history.iteration, history.objective)\n",
    "ax.set(xlabel='Gradient-descent iteration', ylabel='Penalised training objective', title='Scratch optimiser: learning on training rows only')\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "26c1b5b6",
   "metadata": {},
   "source": [
    "<a id=\"9-review-policies\"></a>\n",
    "## 9. Review policies\n",
    "\n",
    "The same score can support different operational decisions. In the declared scenario:\n",
    "\n",
    "`cost = review_cost × all_alerts + false_alert_friction × false_alerts + missed_fraud_cost × missed_frauds`.\n",
    "\n",
    "On the **policy-validation** period, select the threshold with the smallest cost among\n",
    "policies alerting at most the declared fraction of transactions. Ties prefer fewer\n",
    "alerts and then a higher threshold. A no-alert policy is a valid candidate. Choose\n",
    "the final implementation by its selected policy cost, with a library preference if\n",
    "costs tie. All choices are frozen before final testing.\n",
    "\n",
    "This estimates a retrospective scenario. It assumes every flagged fraud avoids the\n",
    "constant missed-loss amount, ignores residual losses and implementation costs, and\n",
    "does not establish real savings. A fraction cap is a proxy for workload; a live team\n",
    "would need explicit per-day or per-shift capacity and investigation effectiveness."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a20e4416",
   "metadata": {},
   "source": [
    "### Cell 61 · Score the policy-validation period\n",
    "\n",
    "This period was used neither to train models nor to select their regularisation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "step-061",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Score the policy-validation period\n",
    "policy_probabilities = {\n",
    "    'Scratch': scratch_probability(scratch_model, X_policy_val),\n",
    "    'Scikit-learn': library_model.predict_proba(X_policy_val)[:, 1],\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "759ebb92",
   "metadata": {},
   "source": [
    "### Cell 62 · Define an exact threshold sweep\n",
    "\n",
    "Sorting once and using cumulative counts evaluates every distinct score efficiently. Equal scores receive the same decision."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "step-062",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define an exact threshold sweep\n",
    "def threshold_sweep(y, probabilities):\n",
    "    order = np.argsort(-probabilities, kind='stable')\n",
    "    p, labels = probabilities[order], y[order]\n",
    "    endpoints = np.r_[np.flatnonzero(np.diff(p) != 0), len(p) - 1]\n",
    "    tp = np.cumsum(labels)[endpoints]\n",
    "    alerts = endpoints + 1\n",
    "    fp, fn = alerts - tp, int(y.sum()) - tp\n",
    "    table = pd.DataFrame({'threshold': p[endpoints], 'tp': tp, 'fp': fp, 'fn': fn, 'alerts': alerts})\n",
    "    none = pd.DataFrame([{'threshold': np.nextafter(float(p.max()), np.inf), 'tp': 0, 'fp': 0, 'fn': int(y.sum()), 'alerts': 0}])\n",
    "    table = pd.concat([none, table], ignore_index=True)\n",
    "    table['alert_rate'] = table.alerts / len(y)\n",
    "    table['precision'] = np.divide(table.tp, table.alerts, out=np.zeros(len(table)), where=table.alerts.to_numpy() > 0)\n",
    "    table['recall'] = table.tp / y.sum()\n",
    "    table['cost_mu'] = REVIEW_COST_MU * table.alerts + FALSE_ALERT_FRICTION_MU * table.fp + MISSED_FRAUD_COST_MU * table.fn\n",
    "    return table"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2ceeb200",
   "metadata": {},
   "source": [
    "### Cell 63 · Verify tie handling and the no-alert option\n",
    "\n",
    "This independent example checks the cumulative logic against explicit decisions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "step-063",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Threshold tie and confusion-count checks passed.\n"
     ]
    }
   ],
   "source": [
    "# Verify tie handling and the no-alert option\n",
    "tie_y, tie_p = np.array([1, 0, 1, 0]), np.array([.8, .8, .2, .1])\n",
    "tie_table = threshold_sweep(tie_y, tie_p)\n",
    "for row in tie_table.itertuples():\n",
    "    prediction = tie_p >= row.threshold\n",
    "    assert row.tp == np.sum(prediction & (tie_y == 1))\n",
    "    assert row.fp == np.sum(prediction & (tie_y == 0))\n",
    "assert tie_table.iloc[0].alerts == 0\n",
    "print('Threshold tie and confusion-count checks passed.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "193eca77",
   "metadata": {},
   "source": [
    "### Cell 64 · Evaluate policy candidates\n",
    "\n",
    "Each sweep is an internal selection table; the entire table is not printed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "step-064",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Evaluate policy candidates\n",
    "policy_sweeps = {name: threshold_sweep(y_policy_val, probabilities)\n",
    "                 for name, probabilities in policy_probabilities.items()}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f039e12",
   "metadata": {},
   "source": [
    "### Cell 65 · Select review thresholds under the capacity cap\n",
    "\n",
    "The cap is checked on policy validation. Future alert volume can exceed it if distributions change."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "step-065",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>threshold</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "      <th>alert_rate</th>\n",
       "      <th>cost_mu</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>implementation</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Scratch</th>\n",
       "      <td>0.05073</td>\n",
       "      <td>0.24609</td>\n",
       "      <td>0.68471</td>\n",
       "      <td>0.01824</td>\n",
       "      <td>156560.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scikit-learn</th>\n",
       "      <td>0.05079</td>\n",
       "      <td>0.24671</td>\n",
       "      <td>0.68471</td>\n",
       "      <td>0.01819</td>\n",
       "      <td>156488.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                threshold  precision   recall  alert_rate   cost_mu\n",
       "implementation                                                     \n",
       "Scratch           0.05073    0.24609  0.68471     0.01824  156560.0\n",
       "Scikit-learn      0.05079    0.24671  0.68471     0.01819  156488.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Select review thresholds under the capacity cap\n",
    "policy_rows = []\n",
    "for name, table in policy_sweeps.items():\n",
    "    feasible = table.loc[table.alert_rate <= MAX_POLICY_ALERT_RATE]\n",
    "    choice = feasible.sort_values(['cost_mu', 'alerts', 'threshold'], ascending=[True, True, False]).iloc[0]\n",
    "    policy_rows.append({'implementation': name, **choice.to_dict()})\n",
    "policy_choices = pd.DataFrame(policy_rows).set_index('implementation')\n",
    "display(policy_choices[['threshold', 'precision', 'recall', 'alert_rate', 'cost_mu']].round(5))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "739cc68a",
   "metadata": {},
   "source": [
    "### Cell 66 · Freeze the final candidate and thresholds\n",
    "\n",
    "The implementation choice is made here, before any final test model predictions exist."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "step-066",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Frozen candidate: Scikit-learn; review threshold: 0.050788\n"
     ]
    }
   ],
   "source": [
    "# Freeze the final candidate and thresholds\n",
    "ranked_policies = policy_choices.assign(tie_preference=[1 if name == 'Scratch' else 0 for name in policy_choices.index])\n",
    "selected_name = ranked_policies.sort_values(['cost_mu', 'tie_preference']).index[0]\n",
    "frozen_thresholds = policy_choices.threshold.astype(float).to_dict()\n",
    "selected_threshold = frozen_thresholds[selected_name]\n",
    "print(f'Frozen candidate: {selected_name}; review threshold: {selected_threshold:.6f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b188eb0",
   "metadata": {},
   "source": [
    "### Cell 67 · Visualise the threshold trade-off\n",
    "\n",
    "The shaded feasible region expresses the declared capacity constraint, not a guarantee of future workload."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "step-067",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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PluAMaNGvPB1rVq2wD9/bcaqH37Cxk1bkJ2TA3t7OzTz9yvT+aOqPpn/H3y88HN8s2IV8vLyMHhg/2onK+zt7LD9z034avl3+O33PyCTydC4UUP876fVeKNzx+eKqzJeng2we/tf+H71j9i2YxfS0tJga2MLb+/GmPbhlDLn9+nVE998twq5ubnoU0EXkJL69+0NidgeP65bj3X/24D8/Hw4SMQIDmqOoYMHqJ1bvJqiQX0PWFtblRgPxImTYarjlbG3s0Onju2x/8AhjBoxtMzxO3fv4e+t27Fj6xa18caNGmLZl0uwYvUPyM7KxphRIzByuPr1+w8eRvc3u5QpKEtERJojEl7kKyEiIiIiolpy7vxFjHzrbRw5uAce7vVqZM5bt+6gz8Ch2LtjK7y9yy/QSkREtY81K4iIiIjoldAiuDnat22DtT//UmNz/rjuf+jZoxsTFUREWoYrK4iIiIiIiIhIq3BlBRERERERERFpFSYriIiIiIiIiEirMFlBRERERERERFqFyQoiIiIiIiIi0ipMVhARERERERGRVmGygoiIiIiIiIi0CpMVRERERERERKRVmKwgIiIiIiIiIq3CZAURERERERERaRUmK4iIiIiIiIhIqzBZQURERERERERahckKIiIiIiIiItIqTFYQERERERERkVb5f4WwkdD/4OhjAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Visualise the threshold trade-off\n",
    "table = policy_sweeps[selected_name]\n",
    "plot_table = table.loc[table.alert_rate <= .05].iloc[::max(1, int((table.alert_rate <= .05).sum() / 600))]\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(100 * plot_table.alert_rate, plot_table.cost_mu / len(y_policy_val) * 10_000)\n",
    "ax.axvline(100 * MAX_POLICY_ALERT_RATE, color=SCARLET, linestyle='--', label='Validation capacity cap')\n",
    "choice = policy_choices.loc[selected_name]\n",
    "ax.scatter([100 * choice.alert_rate], [choice.cost_mu / len(y_policy_val) * 10_000], color=SCARLET, zorder=3)\n",
    "ax.set(xlabel='Transactions sent for review (%)', ylabel='Illustrative cost (MU per 10,000)', title='Policy-validation choice: cost and workload')\n",
    "ax.legend(); plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59a996d2",
   "metadata": {},
   "source": [
    "<a id=\"10-final-held-out-results\"></a>\n",
    "## 10. Final held-out results\n",
    "\n",
    "The final period is opened now. The two models and thresholds are already frozen.\n",
    "We report both the default 0.5 threshold and each chosen review policy so readers can\n",
    "see how changing a decision rule differs from changing a model.\n",
    "\n",
    "| Metric | Interpretation |\n",
    "|---|---|\n",
    "| Average precision (AP) | How well high-ranked rows concentrate fraud; compare with prevalence |\n",
    "| ROC AUC | Ranking discrimination across thresholds; use continuous scores |\n",
    "| Precision | Of alerts, the fraction labelled fraud |\n",
    "| Recall | Of labelled fraud, the fraction alerted |\n",
    "| Alert rate | Review workload as a fraction of transactions |\n",
    "| Brier score / log loss | Probability errors; smaller is better |\n",
    "| Accuracy | Overall correctness; read alongside the majority rule |\n",
    "| Cost / 10,000 | The declared retrospective cost scenario, not measured savings |\n",
    "\n",
    "The majority baseline predicts legitimate everywhere and uses the sampled training\n",
    "prevalence as its constant probability score. Its AP on the test set equals test\n",
    "prevalence and its ROC AUC is 0.5."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "abee2469",
   "metadata": {},
   "source": [
    "### Cell 68 · Construct and transform final test features\n",
    "\n",
    "The held-out period receives the same deterministic feature rules and already fitted preprocessor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "step-068",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Construct and transform final test features\n",
    "test_features = engineer_features(test)\n",
    "X_test = sparse.csr_matrix(preprocessor.transform(test_features), dtype=np.float64)\n",
    "y_test = test['is_fraud'].to_numpy(dtype=int)\n",
    "assert X_test.shape[1] == X_train.shape[1] and np.isfinite(X_test.data).all()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eb3a7f3a",
   "metadata": {},
   "source": [
    "### Cell 69 · Score the final test period\n",
    "\n",
    "Both implementations score exactly the same rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "step-069",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Score the final test period\n",
    "test_probabilities = {\n",
    "    'Scratch': scratch_probability(scratch_model, X_test),\n",
    "    'Scikit-learn': library_model.predict_proba(X_test)[:, 1],\n",
    "}\n",
    "baseline_probability = np.full(len(test), y_train.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45bd3466",
   "metadata": {},
   "source": [
    "### Cell 70 · Define one evaluation rule\n",
    "\n",
    "One function prevents metrics in tables, charts, and prose from using inconsistent labels or thresholds."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "step-070",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define one evaluation rule\n",
    "def evaluate_policy(y, probability, threshold, name):\n",
    "    predicted = (probability >= threshold).astype(int)\n",
    "    tn, fp, fn, tp = confusion_matrix(y, predicted, labels=[0, 1]).ravel()\n",
    "    alerts = int(tp + fp)\n",
    "    cost = REVIEW_COST_MU * alerts + FALSE_ALERT_FRICTION_MU * fp + MISSED_FRAUD_COST_MU * fn\n",
    "    return {'policy': name, 'threshold': threshold, 'accuracy': accuracy_score(y, predicted),\n",
    "            'balanced_accuracy': balanced_accuracy_score(y, predicted),\n",
    "            'precision': precision_score(y, predicted, zero_division=0),\n",
    "            'recall': recall_score(y, predicted, zero_division=0), 'f1': f1_score(y, predicted, zero_division=0),\n",
    "            'average_precision': average_precision_score(y, probability), 'roc_auc': roc_auc_score(y, probability),\n",
    "            'brier_score': brier_score_loss(y, probability), 'log_loss': log_loss(y, probability),\n",
    "            'alert_rate': alerts / len(y), 'tn': int(tn), 'fp': int(fp), 'fn': int(fn), 'tp': int(tp),\n",
    "            'cost_mu_per_10000': cost / len(y) * 10_000}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f5bf6ba",
   "metadata": {},
   "source": [
    "### Cell 71 · Evaluate the baseline and both model policies\n",
    "\n",
    "Threshold 1.0 gives the baseline no alerts. The chosen model remains the earlier frozen candidate regardless of this table."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "step-071",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>average_precision</th>\n",
       "      <th>roc_auc</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "      <th>alert_rate</th>\n",
       "      <th>cost_mu_per_10000</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>policy</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Always legitimate</th>\n",
       "      <td>0.00583</td>\n",
       "      <td>0.50000</td>\n",
       "      <td>0.99417</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>29125.66452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scratch at 0.5</th>\n",
       "      <td>0.36411</td>\n",
       "      <td>0.88660</td>\n",
       "      <td>0.99408</td>\n",
       "      <td>0.38750</td>\n",
       "      <td>0.02736</td>\n",
       "      <td>0.00041</td>\n",
       "      <td>28362.17622</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scratch review policy</th>\n",
       "      <td>0.36411</td>\n",
       "      <td>0.88660</td>\n",
       "      <td>0.98425</td>\n",
       "      <td>0.22023</td>\n",
       "      <td>0.67079</td>\n",
       "      <td>0.01774</td>\n",
       "      <td>11326.97864</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scikit-learn at 0.5</th>\n",
       "      <td>0.36456</td>\n",
       "      <td>0.88673</td>\n",
       "      <td>0.99409</td>\n",
       "      <td>0.40244</td>\n",
       "      <td>0.02913</td>\n",
       "      <td>0.00042</td>\n",
       "      <td>28310.96852</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scikit-learn review policy</th>\n",
       "      <td>0.36456</td>\n",
       "      <td>0.88673</td>\n",
       "      <td>0.98434</td>\n",
       "      <td>0.22128</td>\n",
       "      <td>0.66990</td>\n",
       "      <td>0.01763</td>\n",
       "      <td>11340.24329</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            average_precision  ...  cost_mu_per_10000\n",
       "policy                                         ...                   \n",
       "Always legitimate                     0.00583  ...        29125.66452\n",
       "Scratch at 0.5                        0.36411  ...        28362.17622\n",
       "Scratch review policy                 0.36411  ...        11326.97864\n",
       "Scikit-learn at 0.5                   0.36456  ...        28310.96852\n",
       "Scikit-learn review policy            0.36456  ...        11340.24329\n",
       "\n",
       "[5 rows x 7 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Evaluate the baseline and both model policies\n",
    "test_rows = [evaluate_policy(y_test, baseline_probability, 1.0, 'Always legitimate')]\n",
    "for name, probability in test_probabilities.items():\n",
    "    test_rows.append(evaluate_policy(y_test, probability, .5, f'{name} at 0.5'))\n",
    "    test_rows.append(evaluate_policy(y_test, probability, frozen_thresholds[name], f'{name} review policy'))\n",
    "test_metrics = pd.DataFrame(test_rows).set_index('policy')\n",
    "display(test_metrics[['average_precision', 'roc_auc', 'accuracy', 'precision', 'recall', 'alert_rate', 'cost_mu_per_10000']].round(5))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45f1c2d8",
   "metadata": {},
   "source": [
    "### Cell 72 · Define the selected test decisions\n",
    "\n",
    "This name still comes from policy validation, not from choosing the best-looking row in the final table."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "step-072",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the selected test decisions\n",
    "selected_probability = test_probabilities[selected_name]\n",
    "selected_prediction = (selected_probability >= selected_threshold).astype(int)\n",
    "selected_metrics = test_metrics.loc[f'{selected_name} review policy']\n",
    "selected_matrix = confusion_matrix(y_test, selected_prediction, labels=[0, 1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fab6a0fe",
   "metadata": {},
   "source": [
    "### Cell 73 · Show the selected confusion matrix\n",
    "\n",
    "False alerts mean analyst work and possible customer friction; missed fraud means loss exposure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "step-073",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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XVvbtm1L0OHbHDly2DweNmyYDh06JBcXF5UqVUp16tRJdE1RJfX9L1iwoHWZKVOmyGKxKF26dFq4cKGOHz9uV00vus6dO+vjjz+2HiLt3bu3du3aZb269sSJE9a2AwcOtB7ue/XVV216tuvVqxftn7ucOXOqdevW8vT0VPfu3a3ndM6YMUP//POPXnnlFaVNm1Y3btzQwYMHtWvXLmXPnl1t27Z93k/bRqNGjdS1a1e5uLhoxowZNmGtR48ekiKuCB44cKD16uLTp0+rXLlyatasma5du6bp06dbl8mUKVOM/1wkRlL34169emnMmDF6/PixHj16ZJ0eGdxNKyWv+gCS078xGHJUI0aMsJkf6cmTJ0bJkiVjvOqzS5cusa7TnissW7VqFeP2GjVqZG2TkHHSnn3dGjVqFG/79957z6aW7777LsZ27u7uCX5t45KQccgkGT179oy27KxZs57bOHmGYRhr1661Ga+scOHCxo0bN+Jdn2EYRrly5WKs6c0330zwa2PvOHnPvv8LFiyIsU3atGmNFi1axPj5f/Y9enafiiquK7Hje71ik9ira+P6nti1a5eRMWPGOF+vtm3b2lxZm5DPZtTX5OHDhwnaz559P+Paf2L7bopP1PetSJEiRt68eWOspVOnTjbLhYWFGR07doyz/gwZMhg7duyIdXuJ+e5NzH4c1bPfv56enjZXApuRgwAkK2dnZ23atElvvPGGtQerYMGCGjt2rH766afnss3JkyerR48eyp49e6wnEOfNm1eHDh3ShAkTVLNmTWXMmFGOjo5KnTq1ChYsqDZt2uinn37S119/bV1m0KBBeuedd1S1alX5+PgoVapUcnZ2VrZs2dSgQQPNmzdPn376qc12evXqpU8//VQFCxaMdjg1OcyYMUO//PKLOnXqpNKlS8vb21uurq5ydXWVj4+PXnvtNS1fvtxm3LlI7du315EjRzRgwAAVL15cadKkkbOzs7Jmzaq6deuqTZs2dtVWr149zZw5Uw4OEV+tkb0yCTnZfMmSJWrdurW8vLysyyenpLz/rVq10pIlS1SmTBm5uLjI09NTTZs21Z49e/4T94GtVKmSjh49qqFDh6pkyZJKkyaNnJyclDVrVjVp0kRLly7VnDlz7Dpp383NTatWrdLixYvl7+8vb29vubi4WD/PDRo00Oeff67Nmzcn4zOLn5eX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5AEAAJgQIQ8AAMCECHkAAAAmRMgDEKtp06bJYrHo3LlzKV0KgARiv0UkQh7wAoj8UnZzc9Ply5ejza9Zs6aKFi2aApU9H3PmzNH48eNTugzguYrcryN/nJyc5O3trYCAgBj3cyC5EfKAF8jjx4/12WefpXQZzx0hD/8lo0eP1syZM/Xjjz+qQYMGmjVrlmrUqKFHjx49l+117NhRDx8+VK5cuZ7L+vHyIOQBL5CSJUtqypQpunLlSkqX8lyEhISkdAnAv65Bgwbq0KGD3njjDf30008aNGiQTp8+rRUrVjyX7Tk6OsrNzU0Wi+W5rB8vD0Ie8AIZOnSowsLCEtSbFxoaqo8++ki+vr5ydXVV7ty5NXToUD1+/DjeZf/8808FBAQob968cnNzU9asWdW1a1fdunUrQXX++uuvqlatmtzd3ZU2bVo1atRIR48etWkTEBCgNGnS6PTp02rYsKHSpk2r9u3bq2bNmlq9erXOnz9vPYyVO3fuBG0XMINq1apJkk6fPm2dduzYMbVs2VIZMmSQm5ubypYtaxMC9+/fL4vFounTp0db37p162SxWLRq1SpJsZ+TF99+u2LFClksFv3555/WaYsXL5bFYtFrr71ms67ChQurdevWSX8R8K8g5AEvkDx58qhTp04J6s1744039OGHH6p06dL6+uuvVaNGDX366adq06ZNvNvZsGGDzpw5oy5dumjixIlq06aN5s2bp4YNGyq+m+DMnDlTjRo1Upo0afT555/rgw8+0N9//62qVatG+6MSGhqqevXqKXPmzPryyy/VokULDRs2TCVLllSmTJk0c+ZMzZw5k0O3+E+J3E88PT0lSUePHlXFihX1zz//6L333tO4cePk7u6uZs2aaenSpZKksmXLKm/evFqwYEG09c2fP1+enp6qV69erNtMyH5btWpVWSwWbdu2zbrc9u3b5eDgoB07dlin3bx5U8eOHVP16tXtfSnwvBkAUtzUqVMNScbvv/9unD592nBycjL69etnnV+jRg3Dz8/P+vjQoUOGJOONN96wWc+gQYMMScbmzZvj3N6DBw+iTZs7d64hydi2bVu0us6ePWsYhmHcu3fP8PDwMLp3726z7LVr14z06dPbTO/cubMhyXjvvfeibatRo0ZGrly54qwReNlF7j8bN240bt68aVy8eNFYtGiR4eXlZbi6uhoXL140DMMw6tSpYxQrVsx49OiRddnw8HCjcuXKRv78+a3T3n//fcPZ2dkICgqyTnv8+LHh4eFhdO3aNdp2k7Lf+vn5Ga+//rr1cenSpY1WrVoZkox//vnHMAzDWLJkiSHJOHz4cDK8Snie6MkDXjB58+ZVx44dNXnyZF29ejXGNmvWrJEkDRw40Gb6O++8I0lavXp1nNtIlSqV9fdHjx4pMDBQFStWlCQdOHAg1uU2bNig4OBgtW3bVoGBgdYfR0dHVahQQVu2bIm2TO/eveOsBTC7V155RV5eXsqZM6datmwpd3d3rVixQjly5FBQUJA2b96s119/Xffu3bPuU7du3VK9evV08uRJ65W4rVu31tOnT7VkyRLrutevX6/g4OA4D50mZr+tVq2atm/fLkm6d++eDh8+rB49eihTpkzW6du3b5eHh4eprvg3K0Ie8AIaPny4QkNDYz037/z583JwcFC+fPlspmfNmlUeHh46f/58nOsPCgrS22+/rSxZsihVqlTy8vJSnjx5JEl37tyJdbmTJ09KkmrXri0vLy+bn/Xr1+vGjRs27Z2cnJQjR454ny9gZt999502bNigRYsWqWHDhgoMDJSrq6sk6dSpUzIMQx988EG0fWrEiBGSZN2vSpQooUKFCmn+/PnWdc+fP1+ZMmVS7dq1Y91+YvbbatWq6erVqzp16pR27doli8WiSpUq2YS/7du3q0qVKnJwIEK86JxSugAA0eXNm1cdOnTQ5MmT9d5778XaLqlXz73++uvatWuXBg8erJIlSypNmjQKDw9X/fr1FR4eHutykfNmzpyprFmzRpvv5GT7leLq6sofAvznlS9fXmXLlpUkNWvWTFWrVlW7du10/Phx6z41aNCgWM+pi/rPXOvWrTVmzBgFBgYqbdq0WrFihdq2bRtt34sqMftt1apVJUnbtm3TmTNnVLp0abm7u6tatWr65ptvdP/+fR08eFBjxoxJ5KuAlEDIA15Qw4cP16xZs/T5559Hm5crVy6Fh4fr5MmTKly4sHX69evXFRwcHOf4WLdv39amTZs0atQoffjhh9bpkf/tx8XX11eSlDlzZr3yyiuJeTo2GNoB/1WOjo769NNPVatWLX377bfq2rWrJMnZ2TlB+1Tr1q01atQoLV68WFmyZNHdu3fjvdgqMfutj4+PfHx8tH37dp05c8Z6JXD16tU1cOBALVy4UGFhYVx08ZLgX2zgBeXr66sOHTpo0qRJunbtms28hg0bSlK0q1K/+uorSVKjRo1iXa+jo6MkRbuKNiFXuNarV0/p0qXTJ598oqdPn0abf/PmzXjXIUnu7u5xHhYGzKxmzZoqX768xo8fr3Tp0qlmzZqaNGlSjOfgPrtPFS5cWMWKFdP8+fM1f/58ZcuWLd7Aldj9tlq1atq8ebP27dtnDXklS5ZU2rRp9dlnnylVqlQqU6ZMYp82UgA9ecALbNiwYZo5c6aOHz8uPz8/6/QSJUqoc+fOmjx5soKDg1WjRg3t27dP06dPV7NmzVSrVq1Y15kuXTpVr15dX3zxhZ4+fSpvb2+tX79eZ8+ejbeedOnS6YcfflDHjh1VunRptWnTRl5eXrpw4YJWr16tKlWq6Ntvv413PWXKlNH8+fM1cOBAlStXTmnSpFGTJk0S9qIAJjB48GC1atVK06ZN03fffaeqVauqWLFi6t69u/Lmzavr169r9+7dunTpkg4fPmyzbOvWrfXhhx/Kzc1N3bp1i/eUiMTut9WqVdPs2bNlsVish28dHR1VuXJlrVu3TjVr1pSLi0vyvyhIfil9eS8A2yFUnhU5FEnUIVQMwzCePn1qjBo1ysiTJ4/h7Oxs5MyZ03j//fdthmGIzaVLl4zmzZsbHh4eRvr06Y1WrVoZV65cMSQZI0aMiFZX5FAMkbZs2WLUq1fPSJ8+veHm5mb4+voaAQEBxv79+23qdnd3j3H79+/fN9q1a2d4eHgYkhhOBaYU134dFhZm+Pr6Gr6+vkZoaKhx+vRpo1OnTkbWrFkNZ2dnw9vb22jcuLGxaNGiaMuePHnSkGRIMnbs2BHrdpOy3xqGYRw9etSQZBQuXNhm+scff2xIMj744IMkvBpICRbDiGfkUwAAALx0OCcPAADAhAh5AAAAJkTIAwAAMCFCHgAAgAkR8gAAAEyIkAcAAGBChDwAAAATIuQBAACYECEPAADAhAh5AAAAJkTIAwCTunTpsvIUKKpFS5Ylark2HQLUpkPAc6kJwL/HKaULAAAzW7RkmQa/N9z62MXFRR4e6VWwQH7VqlldrV5rrjRp3FOwQgBmZTEMw0jpIgDArCJD3oC3+ypnDm+Fhobq5s1A7dn3u3bs3K3s2bNpyg8TVbhQwWTftmEYevLkiZycnOTo6Jjg5Z48eSpJcnFxTvaaAPx76MkDgH9BzepVVbxYUevjPr26a9fuverW80117/2WNv66Qm5ubsm6TYvFIldX10QvR7gDzIFz8gAghVSuVEFv9empy5evaOnyVdbpp0+fUe+3BqhkucoqWLS0mr72ujZs2hJt+bt37+qjTz5X1VqvqqBfKVWqVkcDB7+voKDbkmI+J+/mzUANfm+4KlWro4J+pVS+Sk117/2WLl26bG0T0zl5gbduacjQD1S2UnUVLFpaDZq8psVLltu0idze5J+nas68hapRp74K+pWS/2utdfjPI8nwigFIDHryACAFNW/WRGO/mqDtO3epbeuWOnHylFq26aisWTKrV483lDpVKq3+dZ169umnHyZ+rXqvviJJCgl5oNfbddap02fUqkVzFfUrrKDbwdq4aYuuXbuuDBk8Y9xe77f668TJ0+rcsZ1yeGfXrVtB2rFrty5fvaocObxjXObRo0dq26GLzl+4oE7t2ylHDm+tWbteg94bprv37qpL54427VesXKOQkBC1bfO6LBZp8pSp6t23v37btFbOzvQSAv8WQh4ApKBsWbMqbdq0unDhoiRp9MefKXv2rFq+eL5cXVwkSR3bt1Grth312Zf/C3mTf/pFx0+c1I/fjrdOk6S3+vRUbKda3717V38cOKT3h7yjHt26WKf36dU9zhrnzl+oU6fP6OsvP1Ozpo0lSe3bvq42HQI0bvxEtWrxms3FI1euXNWWDauVPn16SVLePHnUo/db2rZjp+rUqpm4FwhAknG4FgBSmHvq1AoJCVFw8B3t2rNXjRrUV8j9EAUF3VZQ0G3dvh2s6lWr6Ny587p27bokae36jSpcqKBNwItksVhi3I6rm5tcnJ21d+/vunPnToLr2/Lbdnl5ZVLTxg2t05ydnRXQsb1CQh5o7++/27Rv1LC+NeBJUvmypSVJFy5eSvA2AdiPnjwASGEhDx4oY8YMOnf+ggzD0FfjJ+qr8RNjbHsrKEhZs2bR+QsXVb9e9IAXF1cXFw0ZPFBjPhurcpVrqGSJEqpdq4ZaNGsqL69MsS53+fJV5c6VSw4Otv0Cvr55rfOj8s6ezeZxZOC7e+duouoFYB9CHgCkoKvXrunevXvKlctHhhEuSereLUDVq1aJsX0uHx+7ttc1oKPq1K6h9Rs2a9uOnfp6/ET9MOknzZnxs/yKFLZr3ZEcHGM+SMSIXcC/i5AHAClo6bKVkqTqVSsrZ84ckiRnJydVrVIpzuVy+eTUiROnkrTNXD4+6t4tQN27BejsufNq5N9SU36ZpvFffh5je2/vbDp2/ITCw8NtevPOnDlrnQ/gxcM5eQCQQnbt3quJ309Szhw51KxpY2XKmFEVK5TTnPkLdePGzWjtbwUFWX+v/+or+ufYca1bvzFau9h6zB4+fKjHjx/bTMvlk1Pu7qmtAyDHpFaNarp5M1Cr1qy1TgsNDdX0mXPk7p5aFcqVi/e5Avj30ZMHAP+Crdt26PSZswoLC1Ng4C3t2rNXO3bulrd3dk35caJ10OLRI4arVduOqt+4udq83kI5c+ZU4K1bOnjwkK5eu65fVy6RJPV4o6t+XbdBb779jlq1aK5iRYsoOPiONm7eqo9HfaAihQtFq+Hs2fNqH9BNjRrUUz5fXzk5OWrdhk0KDLylJo0axFp729atNGfeQg0eMkxH/jqqHN7e+nXdeu0/cFAfDhvCbdmAFxQhDwD+BV9P+FaS5OLsrPT/f+/aD4YNiXbv2vz5fLVi8XxN+PYHLVq6XMHBwcqYIaOKFCmkfn17W9u5u6fWgjkz9PU332n9hk1asnS5MmbMoMqVKipb1qwx1pAtW1Y1adRQu3bv0dLlK+Xo6CTfvHn07YRxalCvbqy1u7m5ae6sqfriy6+1ZOkK3b9/X3ny5tbYzz5Wy9eaJc8LBCDZce9aAAAAE+KcPAAAABMi5AEAAJgQIQ8AAMCECHkAAAAmRMgDAAAwIUIeAACACRHyAAAATIiQBwAAYEKEPAAAABMi5AEAAJgQIQ8AAMCECHkAAAAmRMgDAAAwIUIeAACACf0fnBkw4BnFUjcAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 780x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Show the selected confusion matrix\n",
    "fig, ax = plt.subplots(figsize=(6.5, 5))\n",
    "ax.imshow(np.log1p(selected_matrix), cmap='Blues')\n",
    "for (i, j), value in np.ndenumerate(selected_matrix):\n",
    "    ax.text(j, i, f'{value:,}', ha='center', va='center', color='black' if value < selected_matrix.max() / 2 else 'white', fontsize=13)\n",
    "ax.set(xticks=[0, 1], yticks=[0, 1], xticklabels=['No alert', 'Review'], yticklabels=['Legitimate', 'Fraud'],\n",
    "       xlabel='Decision', ylabel='Observed label', title=f'Final test: {selected_name} frozen policy')\n",
    "plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f78d3521",
   "metadata": {},
   "source": [
    "### Cell 74 · Plot precision–recall curves\n",
    "\n",
    "The horizontal line is test prevalence. AP is reported from average_precision_score rather than trapezoidal integration."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "step-074",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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EREREVEGTFYQERERERERkVphsoKIiIiIiIiI1AqTFURERERERESkVpisICIiIiIiIiK1wmQFEREREREREakVJiuIiIiIiIiISK0wWUFEREREREREaoXJCiIiIiIiIiJSK0xWEBEREREREZFaYbKCiIiIiIiIiNQKkxVEREREREREpFaYrCAiIiIiIiIitcJkBRERERERERGpFSYriIiIiIiIiEitMFlBRERERERERGqFyQoiIiIiIiIiUitMVhARERERERGRWmGygoiIiIiIiIjUCpMVRERERERERKRWmKwgIiIiIiIiIrXCZAURERERERERqRUmK4iIiIiIiIhIrTBZQURERERERERqhckKIiIiIiIiIlIrTFYQERERERERkVphsoKIiIiIiIiI1AqTFURERERERESkVpisICIiIiIiIiK1wmQFEREREREREakVJiuIiIiIiIiISK0wWUFEREREREREaoXJCiJSfx9iAEFQdRRERERERPSZMFlBROopMQHYswFo5wVUNgbmjlV1RERERERE9JloqDoAIvq2vbh1C1sPnMCCfecglUqxf0o/JG9aDo87Z2CYHCfWk29YgkCr0ijfqBEkWtqArh6gZwDIZCqMnoiIiIiIPgWJIHBsdV4EBQXB3d0dgYGBcHNzU3U4RF80QS5H0Ma/kLzmN1R4fR/JkGKCTnk0SnmFBimv8zXk6/7s7XCo1xBBq5ZB27oYPPoM+GRxExERERHR58FkRR4xWUFUAElJwNMQwLksIJEgISYGN+dOh+XB9XCKf5tj00syM6zTKoXmyeFolRKW82EghRbk/xWUcAaGTgbadC+KsyAiIiIios+M00CIqOh9iAa2rkLq+sWQRYQjtnEH3IpKguvVv+EtT8y2WZxEA3dcquNWpcaYdPgqAEDP2RU2wSfgmfA623YKiQogLUEypgdQ3hNwci2SUyIiIiIios+HIyvyiCMr6JsklwMn9gMblwIm5sD8jUDIXaBsRUBDI22/XJ72fwB49RJYvxjyrX9AGhebbbdvZHp4WLM1yo6bCvNfhwLvI4G2PYHvewJGJv8/tBwSiQQSiQQAsPPwKRw7exWNfKoiMTkVJjN+QIsPoQCA6wZ2qBL7IuuBWnYB6jQHLKyBGvWL8pEhIiIiIqJPiMmKPGKygr4JggDcvYlUM0tEnjgCy23LIH0YmKVaXM0miC9WAua7VqUVjJwBPAuF/IAfpCnJ2Xb/QL8Yon37o+KPP0NLT69QoSbExCDozxUoVqc+kqzsUOP7ISieEov2yc8xLvF+1lM78xQSW4dCHZOIiIiIiD4PJivyiMkK+mQS4tOSBLqF+/CeXx9uX4fO39vxOlHAqSt3cPFZBAalPoVHUs5rSeSFv8wcv2s5w0pIxITEu3hc3BUGQ8ajbLuOwP9HShS1oOAnGD9nFS7fvIdrH47BXojPUid11K+QDf7lkxyfiIiIiIiKDpMVecRkBRWJ00eATcsA73pAr5HA2gXA8umAqQVw7MFnSVi8DLiOZz8PQfVHl3Ot+1aihbMyS7RNeZmnvg9q2GCVrgtKtWiDH7q3RrnSJQsZbf5cv/MQgycuRLvQ0xiaGIInUn2Uk8eI+yMlWgjadAW1q1X4rHEREREREVH+MFmRR0xWUKFEvwd+HQXs3ZB9nb3XAPcqRX7oj3Hx+GPzAezbvhe9395El4/B0Mm8IGUmiZBijrYrjtt7on7DWri/YQ1kggBrIQEzE+7AX8MCS7RKAwBmJtzBdZkZNhiUQd1OHTCgS0sUL2ZZ5OeRX6FPX+LM7v3ovHIYdJWcb2LxUrhh5wEbM2M4aMmRGnIfmjP/+CTXgIiIiIiI8ofJijxisoIK7N8DwORBwJvwHKvN8u6Dpk5WqBT1BDCzACxtgP5j/1u8Mo8EQcDJ0xdx5+ETVAw6Dbdjm2GZGo9YyGCAVLHeA6kBzIRkmEpSIdHQwN3vWuNqlWbQMTZG6xYNEBH1AcWtLaCpqYFb90IglwuoWM4ZEATIBQE7Dp/Go2dhePkqEm5lSqJrm4YwMTIoyCP0ST29cQN3+3VA0/8vxpmrBZuA1t0+bVBERERERJQjJivyiMkKyrf3b4GZI4ADfmKRYF0cktf/Tak4rmGNhinZ35ITrbsBvUcBbpX/34EA3A0AjEwB+1JZqgcf2o+EaSNQPupptl0GmpaA5s/zIa1UHQb6urCxMs//uX1pnoYCDZzzXP3R4v1wbN7qEwZEREREREQ5yd9XtkSUN8f3pY2miExLRMgNjPBuyHT8cP0tAj9eRcuUMJzRsISDPC7nZMX+zcD+zbjYuC+Kd+mFD+P6w+3VfQi6+ni4+TKKlSqB9Tv/weMbN9Du3jF89+w6pNl0FWlhh/C+E1C+78BPtsil2irhhNMbb2D50rW4+uApegkv4GiiB9nrlwiUGcE9NQbdkv9L8ESP7oUon2dqOVKEiIiIiOhbwJEVecSRFZQnH6KBGcOBvRvFojN6dhguLYdXUl2xzMbKHJ4VXKENATP3T4VJStqdKz5CBv0MUzUySoQU2hnWXngj0cYVmRkEAPVS3mRpFyfRwK0G3VC1Vg1oWtkAdZoB0uxSGd+mO/cfwchQH637/YKKLwOxPv6KuC/JtiS0bO2BZyHAwq1AtdoqjJSIiIiI6NvCkRVEhRX2DPhnF2BsBmHZVEhepn1D/x6amKBTHrtldgojGbq1bYgpI3rByFA/rWD2GNzbsgm9FmzEE6kBZIIcRz6eRUV5tMJhtDMtEmklJKJFiuI6GDeKlYXllIWwFxKg51kL1U3MPsEJfz3KuzoCAJrU9sKWHW8U9mmFPQHCnqRtdKsDHH8IlCz9WeMjIiIiIvpWcWRFHnFkBSn1905geIcsxSdlVhipWxGvM4ymMDc1xqpZP8HHy0NpV68j3mHv0XOQSqWYtGANAGBWwh30TX4MALitaYbVshJYnhCQpe0zo2KIGTYd7r36F8VZfXMEQUBySgrO7diN+lM7K63zsudYfDC1Qqkrx6AdfBuYuARolvXaExERERFR4TFZkUdMVlBGH9++RciADqhw+6RCeTykmKbjhnWapQCJBPW/q4x+nVog4m0UWjSoAX1dnTz1n5iUDIkEiLh9E88njgSq1IDX1NmYu3o79EICMeD1ZQgfY6Gtow1Z2x6Abx9AJvsEZ/ptuRxwF137jkHr5JcIl+iinDwaExPvKa9cuykw4GdAVw8oX/XzBkpERERE9JVjsiKPmKygdKHHjyJ1eEeUSVGcpnFTaowhulVQqVVLzBrTH4YGepB8awtZfuEEQcC6nX9j/NzVaNe0No4dOYGQD0dyb/ibH9Cqy6cPkIiIiIjoG8FkRR4xWfHle/DoOfyv3obzg8vQSkqA1/Q5kChbcFIQxDUmYj58xG9/bkdCYhJm/NQHAZPGoMKe5dD5//oRl2RmGKxbBSVK2EFWrDh6+jZFywY1Pudp0Se0/cC/qDS9J5yjX+KMzBLbtRwwJDEE5TOtJwIAuBENGBp9/iCJiIiIiL5CXGCTvglH/r2I/mNmY0X8dfikhAEA7lXyRNl27RUr7tkAYd44hLnXwMuhv6LjkKmoGvscRkIKjmyciTYpLwEAcgALtVyw29EHiyYORe1qFT7zGdHn0LFVfaDpYyA5CQYhz7G3988oLo9H+cRoPJfowl6IF+tGXzwNYwsLoEI1TskhIiIiIiokjqzII46s+HJdGjkQVQ//CQ0oPtUvl/JEqosH7Dr1hEO16sDcMcD6xeL+EoYtsDT+Blr/P7mR7rVMD29+WQb37r05zeMbE5+QiAWrt8P/6i3ce/QC46Ku44ekUMVKg8YDP81STYBERERERF8JJivyiMmKL488JQWXurZGjRt5WHMgj66blkKJrcdg4eRcZH3Sl0kQBCzo1gtjrmzMutPUAngfCazcBzRo/dljIyIiIiL60imZsE/05UuKi8OVptWzJCreWpUocJ+3GvZAJf+HTFQQAEAikeDHdX9itYmSW9G+j0z794c2ED4oWd+CiIiIiIhyxGQFfXU+RkYisF4FeD+5JpalGpsBQybB/Gwobli7Km13QMMWnYx8FAt7jwJOPgJOP0GFFRsg1eAyL/QfmZYW3vUeC2uj1pik7a60TsTTZ585KiIiIiKiLx8/edFXJfrpE4S3qYHKseEAgAcGxWC5+wLMHB3FOpXP30PQ1k1Ye+Q8yt44gVbJL/GnliN22Hrhr9/GAzqpwPpFQJ3mQMM2KjoT+lJ4uDoBAFZrO2GrlgPKpH5Ag5TX+DHpIQBAnpqqyvCIiIiIiL5IXLMij7hmhfqLfHAfsb7foWTCOwDALQtnlD50CXrm5krrvwiPQJUW/QEAFd1KY8Nv41HM0uyzxUtfj2t3HuDomSswNzWGpoYMNmf2odnxNQCAV9suo1gVLxVHSERERET0ZeHICvoqhN8MQErXuiiZlLY+wGX7iqh08Dy09PWzbWNnY4mwK7txN/gpyjqXgIYGbzdJBVO1vAuqlncRty/d+lf8v+7w9sCFp6oIi4iIiIjoi8VkBX25BAFY+xsSd6+HRcg9aEIOALhQ+jt47z8FmaZmrl3IZDKUd3XMtR5RfiTpGIj/N37DNSuIiIiIiPKLC2zSl0kQkDJ9ODB3DLRDgv5LVHg0RPWDZ/KUqCD6VMy/7yz+PwUSXL/zUIXREBERERF9eZisoC+KIAgQ5HL4t28Cjc3LFfb5e7dBjZ3/QCrjdA5SLTf3sjjh1gBAWrKiee9xkMvlKo6KiIiIiOjLwWQFfTGCH79A7Q7DsaK8C2rcOqawz79OF9TYtBcSKZ/SpB6cSxQHAOhAjlfR+3CrfUMgIV7FURERERERfRn4yY6+CM+fvUCn7/ug/d1/MCQpBADwTKIHT4MGWPvjOtT400/FERIpKulYQmG70u2TwO8zVBQNEREREdGXpdC3Lk1NTcXZcxfw7PkLRMfEpC16qHAECYYPGVSYQ6gF3rpUdSLvBiG+fQ3YJ8WIZc8luuhv1wxdhvZHj+8bqzA6omw8DQEalM5afuAmULbCZw+HiIiIiOhLUqi7gdy+E4gfho3Cq1evkV3OQ/KVJCvo84uPikJidBQ+dKyFUhkSFW+0DCHb+C/+qeKpwuiIclHCGQgW0NB3MI7fWvlfeauKwLSVQBf+XSQiIiIiyk6hkhWTps5EYkIiVq1YCq+qlWFkZFRUcdE3KiUlFXNWbkHoxj/xZ9R56EKASaY6VkcCgBJOqgiPKN8SpRoYqlMJyxMC/iuc8gPQsgtgyL+ZRERERETKFGrNivsPHmJg/z5oUK8OExVUaIIgYNiUJTi3dg3WRZ2DBhRH68ib+ALHHjBRQV8UCYCdmvY4JbNU3FHZGEd/X4GP8QkqiYuIiIiISJ0VKllhU8waAgq15AWR6I/N+3H9yN/wi7ukUB5kVBxJtz5CumwnUKqMiqIjKpiGPp6ARIJO+jUwUdtdYV/jxUOQ5GUNvAlXUXREREREROqpUMmKgf37YtuO3fgQG1tU8dA36srCeWg+oyuuxJ6AhZD0X3mJKih1/A609PRUGB1RwU0Y2g2Pzm9DlfIuOKxpm2W/aUIM8J0tAlrXxoGjZ1UQIRERERGR+inUmhUfP36Evp4e6jZohhbNm8DGphhkUplCHYlEgr69exQqSPq63d2xFV4rxymUxXQbDqMpS+ClopiIiopEIoG+rg4Or5sDQRDw5/YjCFmxEHNfnVKoV+nuWUz8ZSoa1PoberraKoqWiIiIiEg9FOrWpY4u5XM/gESC0Pu3C3oItcFbl34az69dhW7XWrCQZ5i336Y7MG8DIJGoLjCiTyzo4WNotPSAi1xxZNq7K1EwMzVWUVREREREROqhUCMrzp48WlRx0Dco9s0bJPZuCvuMiYo6zYFf1zBRQV89tzKlsH7MSlzeswE9gk+I5ZEXzsCsRSsVRkZEREREpHqFWrPCrrhtnn4KKjExEePGjYOtrS10dXVRrVo1HD9+PM/tt2/fjurVq0NfXx8mJiaoUaMGTp48WeB4qOjIk5Px8PvacE54CwC45NEQ8A8HVh8EtLRUHB3R59GrXzf0OPA3krT/W5OlzKjWuF3NERfHjYQ8JUWF0RERERERqU6hkhXp4uLicOr0WWzesg2bt2zDqdNnERcXV+h+e/XqhYULF6Jr165YsmQJZDIZmjVrhvPnz+fadurUqejcuTPs7e2xcOFCzJw5Ex4eHnj58mWh46L8uxv8BHfuPxK3r/T4HpVf3wcA3LRwhueWg4BlMY6ooG+PhgaCBv2qUOTx7jGq71mCn6p689amRERERPRNKtSaFQCwfqMfFi5eho9xccjYlYG+Pn4aNRw9u3cpUL9XrlxBtWrVMH/+fIwePRoAkJCQAHd3d1hZWcHf3z/btpcuXUKNGjXw22+/YdSoUQU6fmZcs6LgTvrfQNcRMyEIAi7v/wMRm1ah6topAIDH2qYwO3YHxrbFVRwlkWrdruYIj3ePs5QfW/YvGjWpp4KIiIiIiIhUp1AjK3bv3Y/pv85BmTLOWPLbXBzevwuH9+/C0oXz4FKmNKb/Ogd79h0oUN+7du2CTCbDgAEDxDIdHR307dsXFy9exPPnz7Ntu3jxYhQrVgwjRoyAIAiI5a1VVSb8dSTGTZgHuVwOQRBwfstWlP1rBgAgWqIJyeqDTFQQAXA8eAn+jXrj0vcjFMqNbmWfmCUiIiIi+loVKlmxdt1GeHlWwXa/DWjRvCnKurqgrKsLWjRvim1+6+FZtTLW/LWhQH0HBASgTJkyMDIyUij38kq7meXNmzezbfvvv//C09MTS5cuhaWlJQwNDWFjY4Ply5cXKBYqmJT4BIS1qoarL7Zj68eLMJMnovqaSdAXUiAH8HjUApSs8Z2qwyRSCwZWVqjx+1/wnrsYCa6VxPLUp6FI3LwSj9auQEpCogojJCIiIiL6fAp1N5BHj5/gl3GjIZPJsuyTyWRo1qQxZs1dUKC+w8PDYWNjk6U8vSwsLExpu/fv3yMyMhIXLlzAyZMnMWXKFDg4OGDdunUYNmwYNDU1MXDgwByP/ebNG0RERCiUhYSEFOg8vmVX+nZAjXdp61TUS32De7H//LevVid4/zBcVaERqbXXYxejRJ/aAIDvjq8Hjq+HI4BjC6bD7dQdFC9mqdL4iIiIiIg+tUIlKwwNDfAihwUrX7x8CQMD/QL1HR8fD21t7SzlOjo64n5l0qd8vH37Ftu2bUPHjh0BAL6+vihfvjxmzpyZa7JixYoVmDZtWoHipjS31q6G99WDSvcFFCuLaqs3f+aIiL4chkYGSssbpbzGkTFDUHzTjs8cERERERHR51WoaSD16tTChk1bcPDQkSz7Dh3+Gxs3b0X9unUK1Leuri4SE7MOeU5ISBD3Z9cOADQ1NeHr6yuWS6VSdOzYES9evMCzZ89yPPbgwYMRGBio8LNv374Cnce3KCI4GDbzR2b75HLafhwSJaNxiCiNmXsFvCrljlcSbWzXtFfY1+zSTqRcPqOiyIiIiIiIPo9CjawYO3oUbgTcwsjRP+PXOQtQsqQDAODJk2eIiIyEk2MpjBtdsLtx2NjYKL3NaHh4OADA1tZWaTszMzPo6OjAxMQky/QUKysrAGlTRRwcHLI9tpWVlViX8keQy/G8ZwtUTk0b+XK1w4/wqOEN7ZEd8E6qg6jl++DIBTWJciaTodixO4j9GI8WEgARYUADZ3F3Urf6eHPqGWztlP8dJCIiIiL60hVqZIW5mRkO7duJiePHwMWlNCIj3yIy8i1cXEpj4i9jcXDvDpiZmRao74oVK+Lhw4eIiYlRKL98+bK4XxmpVIqKFSsiIiICSUlJCvvS17mwtOR870/l8o+DUTniIQDgun0FeM5cAO3m7ZEalAi9a2/g2LCxiiMk+nIY6OtCX08XKOGEMaXbiOV6SIVt3eKAjz0Q9U51ARIRERERfSISQRAEVQehzOXLl+Ht7Y358+dj9OjRAIDExES4u7vD3Nwcly5dAgA8e/YMcXFxcHV1FdsuXrwYo0aNwurVq9G/f38AadNH3NzcoKOjg6CgoHzHExQUBHd3dwQGBsLNza0IzvDr8+zUv7Ae0AjakCNMwwAG/96HEUdREBWJwAePYN7SDTZCgkL56+JlYH36gYqiIiIiIiL6NAo1DeRTqlatGtq3b4/x48fjzZs3cHZ2xoYNG/DkyROsXbtWrNejRw+cOXMGGXMuAwcOxJo1azBkyBA8fPgQDg4O2LRpE54+fYqDB5Uv+kiFkxwXj8SRXaANOVIBvJ20ArZMVBAVGXcXR8Rff4Nt1dzQKfm5WC579RyIfA3s3wxcOQMMmQR4eKowUiIiIiKiwstXsqJz996QSqTY8NcqaGhooEuPPrm2kUACv41rc62nzMaNGzFp0iRs2rQJ79+/h4eHBw4dOoRatWrl2E5XVxcnT57E2LFj8ddff+Hjx4+oWLEiDh8+jMaNOQ3hU7g8sBtqxr0BAPhXbg6fLt1VHBHR10fX0BDl959FsY4j8ODDERgjBRap8UD1Yv9VOnkQuPoWMDIBkhIBHeWLERMRERERqbN8TQPp1K0XJBIJNq37ExoaGuJ2brZuWleoINUBp4FkL2jvbriMbQ8NCAjVNYed/xNoGyi/9SIRFd67qBhc79gUDR/5Z1vnvZ4JjOJjEDV7A8zbdfuM0RERERERFV6+RlZs27w+x2369sRHR0N3Un9oQEAyJMC8jUxUEH1iZiZGeFCjJb57dBl6SMU6zZJwkseiVmqkWMc0LgoAkDy+H6IqVoOJU2kVRUtERERElH9qu2YFfRkCBnRBjcT3AIAbtTuiWpNmKo6I6NvQcdgg9HodjzOXbwEASqXG4tLHf7PUKyYkAk3KIKKsFzQiXkLedSjMh/78ucMlIiIiIsqXQt0N5GVYOMLCwuFZtbJYdvfefaz5awOSkpLQqkUzNGpYv0gCVTVOA8kqeO9OOI3tACmAB/rWcLr4BBq6OqoOi+iblJKSik3rtsHgZQgSLGxRa9U4lEh4n6XeC10z2F15wbUsiIiIiEitFSpZMeCH4YiLi8PmDWsAABGRkWjYtBWSk5Ohr6+Pt2/f4fclv6FJ44ZFFrCqMFmhKOnjR4R5O6BkwjskQIoXf/wD5/pf/nUm+lqkPA7Gjabe8Ep9p7xC5RrAhhNMWhARERGRWpIWpvGtO3dQ87vq4vaefQeQkJCIIwd249K5k6hRvRr+/Gt9YWMkNXR1WB+UTEj7EHSlpi8TFURqRqNUaVgdD8TapiMw074+jmoUU6xwwx/HOrRESkqqagIkIiIiIspBodasiIqKhrm5mbh98tRZVPOqihIODgCAJo0aYP7CJYWLkNTOozOnUfXcrrT/65jD+/cv/24vRF+jkvY26Lt0MQAg4PfFiFjyMyyFRHF/o3v/AmXTXgZSTCwgnbESAcU98DryHUqXtIO9rRV0ot8C7yIAu1LA2b+R+iQEUc+f4b2xFYTw53DqOxjvDcygb2EJHSMjVZwmEREREX2FCpWsMDczxcuXYQCAmJgY3Lx5C2NHjxL3p6SkIpXf2n1V5KmpiP2xB7QhhxxA0tQV0NLTU3VYRJSLSkNG4qCLF4aPnYXHHw5n2a8RFQkMaw97iTYm63rBXR6N1skvUSP1rUI9GQDz//8AAI6sF///QtMQERb2KLlyG0zLugGPHgBWNoCRyac7MSIiIiL6KhUqWfFdjepYv8kPBgYGuHTlKuSCgEYN6on7Q0JDYWNTLIce6EtzaeIY1Ih5DgC4Wr4+qrXroOKIiCivWjaogZY3DuHp1g0oMbmX0jpWQiIOx50rUP92yR9gF34XaOMhlqVKZZAt3gbUagLo87bGRERERJQ3hUpWjB09Eo+fPMGsuQugqamJX8b9BHt7OwBAYlISDh85ilYteSvLr8XbkGCU2/07AOC1hh7cV21RcUREVBAOnXpg6cPX2Lf3b4RIDTAgKRQTE+9lqfdSooPiQgIAYJumPQDgvZktrOPf41VCKgYnheZ6LJk8FRjeHgAgL1MekpAgSH6YALhXAUo4AzFREE4exLskOYQB42BhaZ5Lj0RERET0LSjU3UDSxXz4AB1tHWhpaYplCQkJePT4CWxtbGBiYlzYQ6gc7wYCXGtYFVWfXE/7/w9zUfXHsSqOiIiKjCAAIzoCQTeAOs2BZh2Q7O6Ji7fuQZ4qh1fFctDT1RarJyUnIyrmIyxNjXBr1XLI9A1w8++j6HRtJzRRsJeVEeY+mHXqGPR5C2QiIiKib16RJCu+Bd96suK+30a4Tu0JALhqXRZVzwVBIpGoOCoiUjeCICAuPgH379yFf59O6J/0CDqQ57n98O9nY+ncnz9hhERERET0JcjXNJDde/cDAL5v0woSiUTczk27tq3zHxmph8REyOeOgeumZQCAOMhQbPEGJiqISCmJRAJ9PV1UqVYF5W/eRb1OoxD7KBjWOhpIiI9Hp+Rn8E55i0ryKDyT6GKnlgN+Snwgtr9x9DhSZ42BTCZT4VkQERERkarla2SFo0t5SCQS3Lt9HVpamnB0KZ/7ASQShN6/Xagg1cE3O7JibC9g7wZx85xPR/j8tU118RDRF0UQBLx4FQEbS3NoaPyXgEhMSsaVm/dQtnQJGE4eAO1/doj73kz4HVa9BqsiXCIiIiJSE/lKVrz4/21K7YrbKmznJr3+l+ybTFa8egn42CkUJdyIgY6hoYoCIqKv0tE9wNB2imXX3/OWp0RERETfsHxNA8mcdPgakhCUg4UTFDbvDJ6N8kxUEFFR866LBGNz6ES/FYte/9gL1mv2qS4mIiIiIlIpaWEaR0VF4979B9nuv//gIaKjowtzCFKRxOsXFaZ/LKnSGeVHcdE7IvoEjE2hcy0Sax18xKK3t2/iY2SECoMiIiIiIlUqVLJixqy5+GXStGz3T5g8DbPmLijMIUgFBLkcjwZ1BAAkQYKaxo3RYu58FUdFRF+7Mr8uFf9f7v1TSKvb4OHBfaoLiIiIiIhUplDJiouXLqNBvTrZ7q9ftw7O+18qzCFIBW78Nhtlo54DANZoOaJ+lw5wKlFcxVER0dfOx7sigoztxW1dpEI++QcI8rzf+pSIiIiIvg6FSla8ffcepqam2e43MTHB27fvCnMI+sySP8ah2Pp5AIBIiRYWabvgx/4dVBwVEX0r4tr1wxuZrrjtGvsKT/9YBMR9VGFURERERPS5FSpZYWVlibv37mW7PzDoLszNsk9mkPq5PnksiifFAAAWartgwZzxMDY0UHFURPSt8Bw/GRaBMQplJReNBioYIGFUV6C0RPxJvXpORVESERER0adWqGRFowb1sGPXHhz/91SWfcdOnMSuPXvRqGH9whyCPqOPkRFwPrwWAPBC0xBTLl5E60Y1VRwVEX1rpBoauDl5XZZynUNbFLZlXWoh9UNMlnpERERE9OXL161LMxsxbDAu+F/CoCEjUNbVBWVKOwMAHgaH4N79B3B2csSo4UOKJFD6tJKSk3Fl1CDUTU0AALzsNBx2BvoqjoqIvlWlv++AdbOnoXfykxzrve7bGpbd+kOzZWdAIvk8wRERERHRJycRBEEoTAdxcXFY9edfOHr8Xzx9lrYoYwkHezRp1AAD+vWGnp5ekQSqakFBQXB3d0dgYCDc3NxUHU6Riv4Qi/pNe+Lk6wMwQgpCdS1Q6kY4pBqFymURERVKSkoqot6/x/HRo/B3wEOc1bBEvEQD0xICMSgpNEt9Ye81yAGE+vsj4t+j+O7GYYX9qbr6iLctCe1hk6HZnGvxEBEREamzQicrvhVfc7Ji2OQlKLd7GX74/5v/2z8thcegYSqOiohIOf/Fv6HG76ML3P6RRSk4XnxUhBERERERUVEr1JoVGb15E4G79+4jLi6uqLqkzyD6QyzOHTyC3kmPAQD+MnN4DByq4qiIiLLn0e8H/FV3AOaVbIg7UuN8t3eMfIxrx//F/dBnCH/z9hNESERERESFVehkxbETJ1G/cUtUr1UfLdt2wM1bdwAA7969R/PWvjh2/N9CB0mfzuotBzE88SF0IAcAWM5awXnfRKTWDAz00Gf1Kow9fgx2V57Dz6AMoqCJ4xrWuG9shyvtRyHi8AOc3HAdZWw6oXvdn9HQuRvOyyzEPqoOboDUZuVRo0lPhL2OVOHZEBEREZEyhVqU4MTJ0/hh6EhUrlgBrVs2w+JlK8R9ZmamKGZthZ179vGOIGoq+kMsDmzahhPJzwAAydXro/T3nMdNRF8OU2NDdA14AABomGlfvTLAw7Nbxe2Q6WOBTfPFbTd5DB5/OIziTfvgxfX9kDBRS0RERKQ2CjWyYtnylfDyrIKd2zahe9fOWfZXqlQBd+/eK8wh6BNa5XcQvd/dhvb/R1Vojpqp4oiIiD4d58nzcHf4vCzldVLeYPmGvSqIiIiIiIiyU6hkxYPgEDRv2jjb/Rbm5oh8+64wh6BPJComFgc3bUPX/4+qEHyaAJW8VRwVEdGnVW7YGOChHELJ0mKZX/xlzFq6AampqSqMjIiIiIgyKlSyQldXB3Hx8dnuf/78BUxNTApzCPpE/tx6EH3e/zeqQjJ8qmoDIiL6XCQSSJbtUigK/3AAwV4lgNISyEtLgdISCLvXqyY+IiIiIipcssK7mhf27D2AlJSULPsiIiKxbcdu+NSsUZhD0Cfw8UMsTP6Yid7JTwAAQq2mQMVqqg2KiOhzcvUAGrZVLIp5CQCQIu2O3pKfewNJSZ89NCIiIiIqZLJi9MhhCH/1Gq3bdcKWbTsgkUhw9vwFLFi0FE1atIUgCBgx9IeiipWKSOjgLugfe1fclgybosJoiIhU5KdZuVY5c/7KZwiEiIiIiDKTCIIgFKaD4JBQTJsxGxcvX0HGrryreWL65AlwdnYqdJDqICgoCO7u7ggMDISbm5uqwymwpI+x0KpoKG4LbpUh2XddhREREalWeNhrbJgyHY9khmjZriUCRg3A5MS0hO5+o9JoffYGoG+g4iiJiIiIvi0FvnVpcnIyQkIfwcTEGJs3rEF0dDSePH0GuSDAwd4O5mZmRRknFZGAWVORccKH5KfZKouFiEgd2Nha4+c/fxe3K3duCaxPS1a0jgkG/p/glZcoDeneq4ChsUriJCIiIvqWFHgaiFQqRavvO+KfYycAAMbGxqjgUR6VKngwUaGm5CkpsN6/VtxOGToF8GmkwoiIiNRP8Va+SsulT4PxfFBHID7uM0dERERE9O0pcLJCJpOhuK0Nkrj42BfjxrJFKJkYBQDwb9gLGiOmqjQeIiK1VL4qVo/fhtMyyyy77K8cRVL90jh65jI27PoHcfGJKgiQiIiI6OtXqAU2e3bvgm3bdyEqKrqo4qFPRBAE6G5aDACIkWjCY8oc1QZERKTG+vVqj/XNR8HBsAW+K9FZYZ9WRBga9/NGz/FN0dO7Lh48eq6iKImIiIi+XgVeswIAUlPl0NLSQu0GTdG0cUPY2dlCR1tHoY5EIkHf3j0KFSQV3r3tW+D2IQwAEOTZFNWtrVUcERGR+pJKpVj/23ikpqZCJpPhyKZWaDa9c5Z6O+MuYkqrpgiX6iJI0wwaTi6YNLwHGtSsqoKoiYiIiL4ehbobiKNL+dwPIJEg9P7tgh5CbXzpdwMJ8CmHSq/uIRFSfDh8FxZlXFQdEhHRF0MQBGxdvw2O84bBO+VtjnVfSHTxSMsE5ZLe4qmuBZLXHoG3bipwbC9QvR7gXfczRU1ERET05SpUsuLFy7A81bMrblvQQ6iNLzlZEXb1Mop18YYUgL9TddT4x1/VIRERfdHkaxZAOndMwRq36AyUqwRUqAYYmwJR7wCvWoBEUrRBEhEREX3BCjUN5GtIQnxV4j4Cfy0EYmOAfqMBi7SpHk/nTkb6lbIcNUl18RERfSWk/UbjVbVGEJZPh4U8AZqnD+e98aGtaT+ZpHjVgfTPQ5Dq6RdhpDmIjwNu+ANnjgCRrwGX8kByMtBjGGBkkrb/1mXg+SOgiS9v2UpERESfVaFGVqSLiorGef+L4kgLu+K2+K66N0xNTQrbtdr4IkZW/NAGOLE/7f+dBgIz/kBsRASE74rDUEjGbZOS8Lj6WKUhEhF9reSh9xEWHAwrx1JI1DPGh7besI0Kw0ENGwRLDfFj0sNc+/jH0h2NL9yGJI+jLARBgEQuB2Sy3CunJycunwaunIZw6wokKcl5Og4ACL8shKT3qDzXJyIiIiqMQo2sAIDFS3/HH3/+leUWppqamhjYvw9+HDG0sIegvPgQ81+iAgC2rUL1QClqh5zHHCHtzWhytyEqCo6I6OsndXKFnZMrAEALQPw/QRixfBOMDfURFf0B9ffvRc+kJwiVGqBeyhu4yGNQTFC89WmTiECk1igOWcPWgE9jICEeyU9DIdm+Ghqv0u468syyFBwi0hLPeUlpREETJsialMjvpBPJrB/xVNMQJdp3B148huDglFb+4Dbw7wEkBd9FbLfhMHUuA4mFNSCXp43KMLeGoKePpEcPIbt1ERoxUUDYM0BXH7h+HrhyBgDwdvsVmFSoDKlEgoSYGOiamGQNIvo98DAQsHUAipfI5xkQERHRl6RQIyuW/v4HFi/9HXXr1EKPbl3gWDLtjcOjx0+wcfMWnD57HiOGDcbwIYOKLGBVUfuRFbvWAeP7iJtXZGZopVcT5z6eRGl5LF5qGqLYzUjItLRUGCQR0bfrzKWbCHz4GF4Vy6JiWWcIEPAg9Dk2b9iOubt++ayxBEqN4K9hAX+ZObQgoBTi4ZIchaqp7+AgxCNEqo+TGtaIhUaeRoTk5q1UB+byhFzrxUADRkjJUn69lCfKJr+D3otQsez50FmwdygOQRCQKgjQaOKbliC5dxPQ1ATMrAC7kmmjTlJTAamU64IQERF9QQqVrPCuWQ/ly7vhz5XLlO7vO3AIAoPu4vL5UwUOUF2ofbKiax3x26l0w3UqYWlCAADgUuO+8F6+RgWBERFRbo6u+Qs15w6APlKLtN9IiRYshLSRj39plsRZDStckpkjUd8Ierra8G1aGw1qVkWV8i7Q09UW272P/oDFa3ciVS7Hqc1bceHjySKNS1V2aNrBy1CCku/SRql83HwO+tVqqjgqIiIiUqZQ00A+xH5AbZ/vst1ft7YPLl+5WphDUG6Cg4Cr57IkKgCIiYqPkMF9wozPHRkREeVRjU6dMPjmM1y7cBmDkkLglfoOH6GBayYlsVdujvb9esC7uCkS5XI4Va4ES3NT6OpoI/pDLA6euAjnkrZwLmmHN5HvYW1hBnMTQ8jfv4W2pi7k+ro4cuoSjJOSMauyG2ytLXKNx9TYENN+TBut96ZXO+xfMAetd8/DI6k+nkj0US/1DQBgi6YDLsnMUaqUPbweXoCdPB4lhDgAQIhUH87yj4iU6SBAzwZPEiV4IdFFhFQbbyXauCEzRQw0cC7FH2XiI3OMJxYyXJeZIVaigeYp4QV+nDskvwDe/bf914ABaLjnH7g6ORS4TyIiIvo0CjWyokefAbCytMSCub8q3T963AREREZiw9pVBQ5QXajlyIrI10D1YrlW22fpgTb+tz5DQEREVFixH+MhlUoVRjqog9TUVKTK5dDS1Mx2/8F/L+Lv05fhaG8DrwplUdK+GEraFRMXDE1OTkFiUjIM9HX/axgfB7wJA+wdAakUSUlJuHDyPG48fQMrJMFOV4qlZwJx8dYD9O3YHLVe3MDb44dxV2oEWyEeekIqeiU/wTOJHvZr2qJcagzq/z+ZAgCvJdqw/v/aIAmQQgdycV8SJBikWxVekhh0TngMY7ni+lsAkLz3GjTdqxTFQ0hERET5UKhkxfPnL9Cz3yDUre2D7l07w8HeDgDw7PkLbNy8BWfOXsCGtX/Azq54kQWsKmqZrFg+A1gyWdwMlBrBXR6Tpdrzv07D3qf254yMiIjosxAEATGxH2Gor4fklFRoyKQIf/MOUTEf4FSiOHR1tIEXT/Ax7CX+uPYIN+4/gd/fk3PvOBO5viGkBoaAvROw4QTANaCIiIg+qUIlK9wreUEuF5CYmPaNhVQqBQDI5WnfWmhpaUEj0+3UJBIJbt+4VNBDqoy6JSse7N8Ll9HfK5RN1nbDB4kmFiXcFMsSK9eE9vZznzk6IiIiNdamChB0o1BdjKvcC2Z1GqK2dwV4V1L9+wIiIqKvTaHWrGjSqGGe7wVPRUeQy7MkKgBgj6YdIqQ6CskK7Z7DPmNkREREX4DtF4D9m4HYGMQ5lwfcqgB6+tDV0YJEIkFqaip2//wzGuxfAjMh621fAWDujfXweBiGhWvSprTs+/NXVK/MpAUREVFRKdTIim+JOo2seHzqX5Qa0CBLubVRawDA65j9/xUGJXKoKhERUQH9ffoy+v6YtjbXyvjraJ0SJu47rGGDPrqe+F979x0fRZ3/cfw9u5teSaOG3oTQSyhKUVEEsVLEgp4oFuwgnv5ERcETUWyInh6HgN2IqNhAUTyUKk2QXgy9BUhvu/P7I7KwJkCyKbMhr+fjwd3M5zvf2fckN0fyYYpdppwy1K1jgt59ZazS0zNVPTbKqsgAAJwTSnVlBayxd+a/1eBvtVuCOkuSln3xb+nm9dKfW6UbR9KoAACgFC7rlai9K79wr+d/Mk2Ox26TJPXP36cDaSfH7lqyRw3PX+9eX/r5m6pf5+wPwgYAAIVxZUUx+dKVFVtbx6rxX695Gx9wnn52xGqNvZquuLib3p44Rtq5RVq9RLp8qOSgHwUAQJm6NlFau+y0w2MDErTHFqSDRoD+c99g5e/+U2v8ozUvK1BhORkadkFrRbdpp6g6dbidFgCA06BZUUy+0qzYvWSx6tzUTZL0c5erdcMWm3Lz8iVJf3w/U9HVwi3LBgBAlfDHaumuK6W9yaXazfMBzfSifzNJkl2mGjesq007dkuSurZvqQkP36aWTf9+LSUAAFUDzYpi8pVmxa933qxuP8yUJG1/4zu5GrfUnv2H1LNLW8syAQBQpf25Vbq4SZnsakRQR+XKpgvzD8gpQ5ubdNbdb76m+JpxZbJ/AAAqC+4RqGSils6XJP3pH6EGF14sw2ZT4/q1LU4FAEAVVq+xtMWUUg5LM16RuWOTNq9Zp5WB1VU9Nkqtj2xTzNY1Sql3njLSMxR/5PRXZLyVtcKz8MdODe67Sy/P+0K1qseU84EAAOA7StWsWLp8hRo3aqjoqKKfeJ2SclRbtm1TYqeOpfkY/GX/72vVPH2fJGl36x6qZ7NZnAgAALhFxUgPPiNDUrO//ngM//VHmRnSQ9dLP3whhYRJGWln3O3HmYv167adNCsAAFVKqX7bvf6mW7Xol8WnHf918RJdf9OtpfkInGL7f6a4l2Ou+4eFSQAAgNeCQ6Q3Py+4GmN1asF//7BNGnyb9OiL0n+/VfboiR5TUhct0Kbtu+R0Oi0KDQBAxSrVlRVne9xFTm6u7Hb+9b+shP/6nSRpryNUTQdcaXEaAABQZuo2lCa87V4NvOBSHZ/7sSI2/iZJ6vv2I9Lbj7jHM2RXiE42Lo4Y/vqPf0O1iAjQgINrlBYYppAAP9mOp8jl8NMfif0VOnq86idY+0YzAACKq8TNij1792n3nj3u9W3bd2jp8hWFtktNTdMHH32i2rVqlS4hJEmHt27ReccK7nHd2aKranELCAAA57TD945XxMjLihw7tVEhSdFmrh7J2SgdLFgPy06TsguWbfl5SvhljvTLHPf25ozvZXS7qBxSAwBQNkrcrEj69DO9MuUNGYYhwzD0+htv6fU33iq0nWmastvtmvD0E2UStKrb+s5b6vLXcsTAmyzNAgAAyl/Diy/RqiGj1O6jF8t8338+8aDqf7+2zPcLAEBZKfGrS7du3aYt27bLNE3dc/8o3TLsBnXq2MFzp5KCgoPV4rxmio05Nx4GZfWrS3/rkaAO+9brqC1A4b+nyu7vX+EZAACANVwulzZs/VNxMdUUExkuw2aTMzdXpsuUPStdub98r2RHmAJatNa8H5do3Csz1L1Le3WuG6OYXRs1bN7UQvvMvPFeBY/8PymmugVHBADAmZW4WXGCaZp6Z+a76nF+dzVq1LCsc/kcK5sVOenpym9fTSFmvpbW76jE+csr9PMBAEDl5nK5dCw1XSu7NtHF+Qc9xnK/Wif/pjzLAgDgW7x+8EFuXp4mPPeC5i/4qQzjoCgb35uhEDNfkmS7cIDFaQAAQGVjs9kUFRmudb2GFBrz758gNTGkJoac331mQToAAArzulkR4O+v2JgYBfj7lWUeFCHj6yRJUp4MNbv5NovTAACAyuq2Fybqjfv+o4/84osct99zjfK+/6KCUwEAUFipXilx7TVXavacL5Wbm1dWefA3psul+psL3rayoVo9hfN2FQAA4KXQkCDdde9wDV63U6sSB2iFvVqhbfzuulLausGCdAAAnFTit4GcqnnTJpr//QJd2v9KXXvNlapTu7YCAwIKbdf30j6l+ZgqbceC79UwP12SlJ7IK8YAAEDpGTab2r1bcAVFXl6+rus3VJ/uTDq5wWUtTi6Pela689EKTggAqOq8fsCmJDVs1ursH2AY2rax8r8ay6oHbP5y2w3qvvB9SdKuWb8ovku3CvtsAABQNbhcLt3Utpvey1paaCwlorqiVuy3IBUAoCor1ZUV78/6b1nlwGlUW/WzJGlnQDXVp1EBAADKgc1mU+SVQ3T/nBy9kr3aYyzq+AEpJ0cq4upZAADKS6maFV06dyqrHCjC8b271TR1jyRpb7OOqm9tHAAAcA57/ZkHNaVxPVV/daYkaUrWbxqUt7tgMCFQ6d9sUmjjphYmBABUJaV6wOYJObm5WrlqteZ9v0ApKUfLYpeQtOW9GXKo4C6dkEuvsjYMAAA4591z8zU68NscHfhtjgKat/YYy+7XWn9s3GZRMgBAVVPqZsX0me8qsXsvDRo6THfd84A2btosSUpJOar2nc/Xx0mzSx2yqsr78WtJUrZsajr4eovTAACAquTAtXfoE7867vUYM0f7Z7xpYSIAQFVSqmbFJ59+pmcmTFTPC87XxGef1qnP6oyKqqauXRP15VfflDpkVWS6XKq/Y40kaWNMQwVFRlobCAAAVCm3XT9AcdPnamuNk7d+XJj0gjKOHLEwFQCgqihVs+I//52hPhf11iuTn9dFvXsVGm/VsoW2bPH+csGcnBw98sgjqlWrloKCgpSYmKj58+eXeD99+vSRYRi65557vM5S0f7830+qmZ8hScrs2NPaMAAAoMoxDEM9E9uoZtJCj/rGi1qrFC+TAwCgWErVrNj5Z7J69rjgtOMRERE6euyY1/u/5ZZbNHnyZN1www165ZVXZLfb1a9fPy1atKjY+5g9e7YWL17sdQar7E16371cayC3gAAAAGuEVK+hFXVOPr+iQ8Zebb6wlf7cuYumBQCg3JSqWREeHqajR0//QM2t27YpNjbGq30vW7ZMH374of71r39p0qRJGjFihBYsWKB69eppzJgxxdpHdna2Ro0apUceecSrDFYKXlHwrxj7HKGqd0Eva8MAAIAqre1Xnv/w02z3ei3r101TZ82xJhAA4JxXqmZF754X6IOPk5SamlpobPOWrfrw4yRdfGEvr/adlJQku92uESNGuGuBgYEaPny4Fi9erF27dp11H88//7xcLpdGjx7tVQarZB07puaHt0uSdjZoLcNWJi9tAQAA8IojOFi75m70qA3K263lL/xLw+59Su98wjPKAABlq1S/BY964D65nE5d2v9qvfjyqzIMQ59+9rkeGP2IrrhmiKKjonXfyLu82veqVavUtGlThYeHe9Q7d+4sSVq9evUZ5ycnJ+u5557TxIkTFRQU5FUGq2z55EMFyiVJ8uvdz+I0AAAAUnyzZnKuz5FpGO7aO1nLNfPbcbrlsX66os0FSvr6J7lcLgtTAgDOFY7STK5ePU5ffPaxJr34iuZ+/a1M09Rnn3+p0JAQXXH5ZRoz+kFFRVXzat/79u1TzZo1C9VP1Pbu3XvG+aNGjVK7du103XXXlfizDx48qEOHDnnUtm7dWuL9eCv9+y8lSU5JTYYOq7DPBQAAOBO7v7/06GTp2QcLjX2RuUgNH5+kleu26Nkxt1uQDgBwLilVs0KSYqKjNfHZpzXx2ad1JCVFLpdL0VFRspXy1oWsrCwFBAQUqgcGBrrHT+fHH3/Up59+qqVLl3r12VOnTtW4ceO8mlsWojf9JknaGlJDzerEW5YDAACgkFvul7pfLE14QPr1B4+hFs5UvTdnviY8fJtcLpfsdrs1GQEAlV6pmxWnio6KKrN9BQUFKScnp1A9OzvbPV6U/Px83XfffbrpppvUqVMnrz777rvv1qBBgzxqW7du1VVXXeXV/kri+O5dapxxQJJ0uFkHNSv3TwQAACgBw5CaJkgzvi9Yn/ai9FzB88HmZi6SMqWvWizSdP8G8jNd6j3ybo24/QaJZ3ABAEqgRM2KV6e8UfJPMAzdN/LOEk+rWbOm9uzZU6i+b98+SVKtWrWKnDdz5kxt2rRJ//73v7Vz506PsbS0NO3cuVNxcXEKDg4+7WfHxcUpLi6uxJnLwtakD9Xhr+XQi3heBQAA8HEdC7/Gvn/+PvXPL/iZTS8skV4Yph2D7lGDZ1+r4HAAgMqqRM2Kl1+bWuIPMLxsVrRt21Y//vijUlNTPR6yeeLWjrZt2xY5Lzk5WXl5eerevXuhsZkzZ2rmzJn67LPPKuQqCW/k/PStJClXhhpfO8TiNAAAAGfRprP0xhzprqvOuFmDT6bo8J+bVO33xbI9PVXGVTdVSDwAQOVkmKZpWh2iKEuXLlWXLl00adIk96tHc3JylJCQoOjoaC1ZskRSQXMiMzNTzZs3lyRt3LhRGzduLLS/q6++Wv369dPtt9+uxMTEIh/eeSbr169XQkKC1q1bp5YtW5by6E5ve6toNcxO0bqIeCWsSC63zwEAACgXy/8n/bZI2Rt/l+2rj+Svot8Okvn5agW3aFPB4QAAlUWZPrOiKMePH1dERESJ5yUmJmrQoEF69NFHdfDgQTVu3FgzZszQzp07NW3aNPd2w4YN08KFC3Wi59K8eXN34+LvGjRo4LNXVEjSoc2b1TA7RZJ0vGVni9MAAAB4odMFUqcLFChJL7+vBfffpQu/frPQZn+u+0Pn0awAAJxGuTzpKCc3V199851G3HWfOnfv7fV+Zs6cqQceeECzZs3Sfffdp7y8PM2dO1c9evQow7S+Y8cn77mXIy+9wsIkAAAAZaP3y1P1y/Slen3kv3V71Mmf4ULnJ0mrlkhFPFAdAIAyuw3ENE398usSff7lV/pu/g9KT09XVFQ1Xdirh57/1/iy+AhLVcRtIEsu664uW39VpuxyrD4u/5CQcvkcAAAAK6x5a6raTBpZeGDJASnamoebAwB8U6lvA/l93Xp9/sVX+vLrb3To0GEZhqEB/S/TsBuHql3bNjIMoyxyVgl1/vxdkrQ5ur7a0qgAAADnmNCOXYoe6FJdevdHKbFXheYBAPgur24DSU7epVdff1MXXTpAVw0cqm++m6crB/TXay+/INM01feSi9W+XVsaFSWwf93vqpOXJknKaJVocRoAAICy16h9e30/9Wc9GdBSKYafx9ieL5IsSgUA8EUlvrLimsE3aM3a31WtWqQuu/QSPTdhnDp1bC9J+jOZt1d46885n6jGX8tRF/e3NAsAAEB5ubjPBbp43Tpt3p6sB68apBlZyyRJtT6eKj05WfL3tzghAMAXlLhZsXrNWsXXqa3/e3SMLuzVQw5Hub9QpEpwLl0oScqWTY0u5+GaAADg3Na0YV09/MkH0uWNJEmGTGnRPOnCyy1OBgDwBSW+DWTcE/+nuNhY3TnyfnXu1kuPjR2nxUuWqYye01klZWRlq9rmVZKkrZF15B8SanEiAACA8pfQrKFW2Ku513OPpViYBgDgS0p8WcRNN1ynm264Trt27dacL7/SF19+pQ8/TlJsbIy6JnaWYRg8q6KE7rv/SU1zFTyvIu28jhanAQAAqDj3BrbX4owfJEkHXnhS8VffJPGzJABUeV49YFOS4uPr6N6779D8b77Q559+qAH9LtOSpctlmqbGjhuvRx9/Sj/8+JNyeHf2WeUuWeheDut1qYVJAAAAKlb71s3cy/GHdip3QDsL0wAAfIVhluH9Gy6XS78uXqo5X8zVvPk/KD0jQ0FBgVq/enlZfYRl1q9fr4SEBK1bt04tW7Yss/2mZ2RpRufWGpm7VfkylLvkkIKjo8ts/wAAAL4sJytbjtZBsp9am/atAnrwDzgAUJV5fWVFkTuz2XR+9656YeIELV+8UK9Ofl7dup7mfdqQJK1cv1ldnEckSRv8o2hUAACAKiUgKFC/zFyh46fcnRwwvK+yF/1gYSoAgNXKtFlxqoCAAF3e/zK9/cZr5fUR54TVy1ertfOYJKnxwKHWhgEAALDA+YntNKHLcI9a4D8uVvLsjyxKBACwWrk1K1A8qb/8KD8V3IkTdP5FFqcBAACoeDabTRNnvqEnu9zmUa/7yHXSn1stSgUAsBLNCgu5XC6FbfztZKHD+daFAQAAsJBhGHpq5lv679CnPep7Z/7bokQAACvRrLDQ5h271SrzoCTpeGy8FBVjcSIAAADrGIahW58eqyfq93XXas18QTpy0MJUAAAr0Kyw0Kplq3Shs+AvX7MdDyIFAACQpAETX/BYz+ndSHK5LEoDALACzQqrpB3X0Ceucq+G97jYuiwAAAA+pGO7FvpXQHP3ekBWupKGDrQwEQCgotGssMq7r3us2tp3tygIAACAbzEMQ0O++l67jCB3beDKz5SdnmFhKgBARaJZYZHc5Ys8C43OsyYIAACAD2pYr7ZC5q70qDlzsixKAwCoaDQrLOJau8yzYONbAQAAcKqops3164U3utdDusRKTQzp9fGSaVqYDABQ3vgN2QIup1OBx4+4151NEixMAwAA4LuyQiIKF18eK10QLz14vfTtpxUfCgBQ7mhWWGDrwp881u1PTrEmCAAAgI87fuHVesO/UeGBA3ukuR8od/RNktNZ8cEAAOWKZoUF6t5xiXv50cBWUmJPC9MAAAD4rqv69VbUc2+peviVqht2uQ4YAR7j/jlZys/JtSgdAKC80KyoYLkZGQrUyfeEt3lqooVpAAAAfJvNZtOQARfqwG9ztObH93Vxvet0XmhfPXfKq01zvv7EwoQAgPJAs6KCrbh1sMf6kGv6WpQEAACgcqkWEabf57+jDau+UfduHdz19KfvtzAVAKA80KyoYN1Wfu1eXh9eR4ZhWJgGAACgcsruOcC9XD3rmMx//kPasMbCRACAskSzogLlZmR4rNeft9qaIAAAAJXcxdcP1nvVTr5Rzfj0HemKttpzx+DTTwIAVBo0KypQ8i8/e6yHREdblAQAAKByMwxD+6+9o1C99oJPtPPrLy1IBAAoSzQrKtCRU5oVy28dZ2ESAACAyu/O+25TQthl+mdgK4+667vZFiUCAJQVmhUVyLnuN0lSjmxqe//DFqcBAACo3EKCArVi8Rxd9vZMfXPXZHe94dfvSMdSrAsGACg1mhUVKCx5syQpOThGfsFBFqcBAACo/AID/NWzS1vV63WhRz1/QFtp/x5rQgEASo1mRQUxXS7Fp+6TJB2p2cDiNAAAAOeWJq1a6sHAtu51x/5d0gV1pIx060IBALxGs6KCHPh9rSJduZIkV7PWFqcBAAA4t/j5OTRw4vOF6mlj77YgDQCgtGhWVJC9C39wL0d06mZhEgAAgHNT174X6cm7pmmKf2N3LezLWVITQ5o9w8JkAICSollRQbJWLXMvx1/Yx8IkAAAA5yabzaZxD92qBq/O0C7jb88He+QW5WxYa00wAECJ0ayoIDXXL5Yk7fELVXit2hanAQAAOHf1v6ibZl/+gHYawR71gCvaSHdfI+3eaU0wAECx0ayoCDs2q+HRXZKk4xFxFocBAAA49901cZx+nzpffaMv9RyY/5nMJ+60JhQAoNhoVlQA56ib3MuRfnYLkwAAAFQN/n5+GnBxN03/4j1N8/N8E5vxv++kA3stSgYAKA6aFRXA/vvJ51VkdrjAwiQAAABVS824aFV/7V1VD79S3zhqnBw4v7bMPs2knGzrwgEATotmRQXIiIhxLwfc9pCFSQAAAKqeyy/qpt1LkrQxtKZH3di5WdlffWxRKgDAmdCsKG+mKWVnSZIW+NdU7fPOszgQAABA1ePn59CF09/X0KAucp5SD/jnLdLeZKtiAQBOg2ZFeTtyUCE5GZKkrTWbymbjSw4AAGCFNgnNNWvlIj10yaPummGaUs96UvJ2C5MBAP6O35zL25b17kVnQ66qAAAAsJLDYdfjTz+sP2zhHvXcqzsqOyfXolQAgL+jWVHO0tascC+HtO5gYRIAAABIUkxUpEa2vUWDgru6a67U4xo9YaqFqQAAp6JZUc7SVy2XJKXKoTrt2lmcBgAAAIZh6MePXtEFD4zSDL/6kqRAuZS8bv2ZJwIAKgzNinJmbPtDkrTZHqbmjetZnAYAAAAn3PePa9V3wCXu9bu3fGthGgDAqWhWlCfTVPi+nZKk7f7VVDMu2to8AAAA8FB9wED3ct/s3Zo9itfMA4AvoFlRng7tV3BupiTpeM36MgzD4kAAAADwcH4frW928tkVjq8/0o+/rrIwEABAollRrszN69zLLt4EAgAA4JMavvG+e/mK/L3qcGcvKe24dYEAADQrylPq6uXu5ZA2HS1MAgAAgNMJiq+vvA4XuNfDs1K1/6MZFiYCANCsKEcZqwteW3pcDtVt19baMAAAADgtvydeVd4pPxrv3L7TujAAAJoV5cm2fYMkaZM9XM0b8SYQAAAAn9WirTa+vcC9Gn5gl4VhAAA0K8qLaSrsQLIk6c/AKMVGR1qbBwAAAGcUWy3Cvdzi5yRp324L0wBA1UazorykHFLIX28CSatRjzeBAAAA+DhndHXPQo94yeWyJgwAVHE0K8qJuW3DyZUGza0LAgAAgGIJCQ9T15CLPGrZXF0BAJagWVFOUteefD93cEIbC5MAAACgOCLDQ3Xbow/qPb+67lruV0kWJgKAqotmRTlJW7tSkpQjm2q0bWdxGgAAABTH8CH9FT/gGvd64KuPW5gGAKoumhXl5MRtIDtsIWrckDeBAAAAVBaH2vdyL/vnZMm16XfrwgBAFUWzopwE7/9TkrTdL0K1qkdbnAYAAADF1affxXrNv7F7fcsd11mYBgCqJpoV5SEnW9VSD0uSjkbVks3GlxkAAKCyCA8LUdN7H3avN9vzhzKG9pL2JlsXCgCqGH6LLgf7Ppwhm0xJUm58I4vTAAAAoKT6jLhN3wafvJU3ZMVCbX7lOQsTAUDVQrOiHNQcf6d72b9ZgoVJAAAA4A2bzaa9lw7Vcns1d63p7Dekp++1MBUAVB00K8pZtbYdrY4AAAAALwx+8gntfuVzZcp+sjhrivTpO5ZlAoCqgmZFOat/XlOrIwAAAMALoSFBuvrSC3RzZA/PgX/+Q8rJsSYUAFQRNCvKWObRY+7lOY7aali3lnVhAAAAUGrPJc1Sw7B+HrWMwwctSgMAVQPNijK2d+Vy9/I8R3UFBvhbmAYAAACl1ahebW1e9oUeC2zlruXk5luYCADOfTQrytjRtavcy3c8+qCFSQAAAFBWHA67Lr+4m3s98IOpUlamhYkA4NxGs6KMZW/+w71cv/v5FiYBAABA2TLcS8HTX5Bah0jrV51hewCAt2hWlDFb8nZJUqrhp4i69c6yNQAAACqLrE69C9W2P/e4BUkA4NxHs6KMhRzaLUk6EBwlGcZZtgYAAEBl0WPQNerX5SHdHnTy1fQrf1urNRu2WpgKAM5NNCvKkGmaijx2QJKUGlXT4jQAAAAoS35+Dn018wWNeHeWdhghkqSBebv1w09LLE4GAOcemhVl6KPZ3yreLHjQ0v6gahanAQAAQFkzDEOdWjdXnVqx7trAl+7Qvn28yhQAyhLNijL0wRvTZP9r+WBotKVZAAAAUH4c/Ye4l+uamarZo7qyf/vVwkQAcG6hWVGGmtpz3cvt+/e3MAkAAADKk/HwczrS5VKPmv9150t5eRYlAoBzC82KMtQ62HQvt+l76Rm2BAAAQGUXPfMb7W7eyb1uk6mMoykWJgKAc4dPNytycnL0yCOPqFatWgoKClJiYqLmz59/1nmzZ8/WkCFD1LBhQwUHB6tZs2YaNWqUjh07Vm5ZTZdLN62be7IQW6PcPgsAAAA+wDBU6/MleiakjbvkzHdaGAgAzh0+3ay45ZZbNHnyZN1www165ZVXZLfb1a9fPy1atOiM80aMGKENGzboxhtv1Kuvvqq+fftqypQp6tq1q7Kyssol69q33/As8NpSAACAc57NZtNF53ewOgYAnHMcVgc4nWXLlunDDz/UpEmTNHr0aEnSsGHDlJCQoDFjxujXX0//AKOkpCT16tXLo9ahQwfdfPPNeu+993TbbbeVed7Dy3igEgAAAAAAZcFnr6xISkqS3W7XiBEj3LXAwEANHz5cixcv1q5du0479++NCkm6+uqrJUkbNmwo86ySFJd51L1sGj77ZQUAAAAAwOf57G/Vq1atUtOmTRUeHu5R79y5syRp9erVJdrf/v37JUkxMTFlku/vgg4kn1zpN6hcPgMAAAAAgKrAZ28D2bdvn2rWrFmofqK2d+/eEu1v4sSJstvtGjhw4Fm3PXjwoA4dOuRR27p16xnnHHOe7PsYT00tUTYAAAAAAHCSzzYrsrKyFBAQUKgeGBjoHi+u999/X9OmTdOYMWPUpEmTs24/depUjRs3rvhhJYUdL2hurI1qoNaRUSWaCwAAgHND3lvPSw0aStfcLIVFWB0HACotn21WBAUFKScnp1A9OzvbPV4c//vf/zR8+HBdeumlmjBhQrHm3H333Ro0yPNWjq1bt+qqq6467ZzorGOSpMwoXlkKAABQVUW/94okKXXXnwp//EWL0wBA5eWzzYqaNWtqz549her79u2TJNWqVeus+1izZo2uuOIKJSQkKCkpSQ5H8Q43Li5OcXFxxc6adeyYYlwFTRRnjTrFngcAAIDKz9m5tzK+m6EQOd21rUuWqr2FmQCgsvPZB2y2bdtWmzdvVmpqqkd96dKl7vEz2bZtm/r27au4uDh9/fXXCg0NLa+oOvj7Wveyo26jcvscAAAA+J6u1w/VDy9+rbsvfFh7jIJblvPy8ixOBQCVm882KwYOHCin06m33nrLXcvJydH06dOVmJio+Ph4SVJycrI2btzoMXf//v265JJLZLPZ9N133yk2NrZcsx7bsM69HNK4abl+FgAAAHyLw2HXFVdcoqn/fl42e8GVvInblynlr7fRAQBKzmdvA0lMTNSgQYP06KOP6uDBg2rcuLFmzJihnTt3atq0ae7thg0bpoULF8o0TXetb9++2r59u8aMGaNFixZp0aJF7rHq1aurT58+ZZo1c9sm93K1Fgllum8AAABUIobhXoy6oKa0Ok0KKb8rfAHgXOWzzQpJmjlzpsaOHatZs2bp6NGjat26tebOnasePXqccd6aNWskSc8//3yhsZ49e5Z5s8K1a6ckySkp7jyaFQAAAFXV4f43quacN9zr2z+apYa33mVhIgConHy6WREYGKhJkyZp0qRJp93mp59+KlQ79SqLiuB3cLck6aAjRDWDi/eWEgAAAJx7Wk2aqinL1uqevb9IklIOp6ihxZkAoDLy2WdWVCYhRw9KklKCq1mcBAAAAFbrN/YJqyMAQKVHs6IMRGUelSRlVKtucRIAAAAAACo/mhWllJeZpbj8jILl6nUsTgMAAABf0v4/Y6UKvkUZAM4FNCtK6eAfv8v+17KtTn0rowAAAMAHOMMi3cs209SxVcutCwMAlRTNilJK+WOdezm4UVMLkwAAAMAX1G/fXl85arrXDx88bGEaAKicaFaUUubWTe7lSF5bCgAAUOX5+TlUffi97vXG9/ZXVve6ynr7RSkt1cJkAFB50KwopfzkHe7luFatLUwCAAAAX5EfEu6xHnRwl4KeH620y9tJ+fkWpQKAyoNmRSnZ9++SJB22BSooMtLaMAAAAPAJTQbfoDci2yjd/XSzAmF7t0vz51gTCgAqEZoVpRR89IAk6UhQpLVBAAAA4DOioyN1268rlLpov95/dq4+9It3j+1bucLCZABQOdCsKKWIjKOSpLTwaIuTAAAAwJf4+TlUq3qMrh/UX++3u9pd37Frn4WpAKByoFlRCqbLpdicNElSbnQNi9MAAADAV7321P1WRwCASoVmRSkc371LwXIWrNSMP/PGAAAAqLJioiLcy91+mKm8oykWpgEA30ezohQO/7HevewX38DCJAAAAPBljsAgj3W/ztFa+PQTFqUBAN9Hs6IUUrdsdC+HNG5iYRIAAAD4soCQYH3ad6RHreesZ7Tq/tssSgQAvo1mRSnkJO9wL0c1Pc/CJAAAAPB11742RdOve8qjVmP+R9aEAQAfR7OiFFx7kiVJTkkxzWhWAAAA4Mz+8cyTSlt82L1eMy9dGx/k6goA+DuaFaXgOLRXknTIESJHYIDFaQAAAFAZhMVE6+cOl7vXm8+dJjUxtGbkzTJdLguTAYDvoFlRCsHHDkmSjgZFnGVLAAAA4KSm418uVGszb6aMZnZte/iOig8EAD6GZkUpRGYclSSlR8RYnAQAAACVSY3GjXR08WH9EFb4jXKN5rwl5eZakAoAfAfNCi+ZLpdi89IlSXnRNSxOAwAAgMqmWky0Llq5XeZml6b1GO452DJA+nObNcEAwAfQrPBSys4dCtRf9xTWjLc2DAAAACotwzA0fNp/NG/YOM+Bixtr7xMPWJIJAKxGs8JLKX+scy/71y18+R4AAABQEt0eelivBjb1qNX64BWpiSHXR29ZlAoArEGzwkupWze7l0MbNbMwCQAAAM4FoSFBun35Ws2449VCY7bH75CaGDrSppoy1q60IB0AVCyaFV7KOeUewujzWliYBAAAAOeKoMAA3Tz6Xu2Yn6y3/RsVGo/OPKaQazsoq22kzPQ0CxICQMWgWeElc+9uSVKeDEU1amxxGgAAAJxLGtSP1+3rt+q3TzdqUu2ehcaDMo5r09uvWZAMACoGzQov+R3eK0k65AiR3d/f4jQAAAA4F3Vo3UwP//STtMXUj6//qOX2au6x5lP/T5um/1sul8u6gABQTmhWeCnk+GFJ0tHgSGuDAAAAoErofUkvNfzmN49as2fvVHqzAF3Sb5i2J+9Vbl6eRekAoGzRrPBSZOZRSVJGRKzFSQAAAFBVRDdooHnnXeRRC1e+5m2ZpboX1dG4du21cvkqi9IBQNmhWeEFV36+auelS5LyY2tanAYAAABVySVffK/0VRna0qaXR90hUxNy1qn99e31eKcuysrKtiYgAJQBmhVe2P79PPeyGRpuYRIAAABURaGhwWqS9KM05ze5QiMKjY8/tlR7EuMlp9OCdABQejQrvJD/6G3u5aCNXGYHAAAAi7RsL9uqY9Lvmcp6+xuPocZZh6XmDuUnBEvrfit6PgD4KJoVXkhp1Mq97H/nIxYmAQAAACQFBimoV19ps0srG3X2GHLkZElXd9ThF5+yJhsAeIFmhRfMwBD3cvNB11uYBAAAADiFYaj+e98qqe/IQkMxb47T7iWLLQgFACVHs8IL9iMHJEmHbYFyBAZYnAYAAAA4KSq6mga+NkUpy4/rnzdP8Rirc1M3pW743aJkAFB8NCu84J96RJJ0PCDU4iQAAABA0aIiw/Xc4yP15wfLPOrhV7SW+eUHFqUCgOKhWeGFkIxjkqT04MJPXgYAAAB8Sb2OnbTun2961IyHrtem556wKBEAnB3NCi9E5KRLkrLDoixOAgAAAJxdwvA79J+7XveoNZv2jNL7tZXy8qwJBQBnQLOihFz5+YrKz5QkOaNiLU4DAAAAFM+tD9ypr1/+3qMWumWN1MJfcrksSgUARaNZUUJpBw7IX2bBSlxNa8MAAAAAxWSz2dSv/0Xa+vFqbbeFeA42s0sb11oTDACKQLOihFJ3JbuXHTXqWJgEAAAAKLnG7dooZFGyXvBv5lE/dFNfixIBQGE0K0ooc+9u93JQfF0LkwAAAADeqR4bpTuWrtTTcd3dtdhj+7T8+Wel40ctTAYABWhWlFDOgX3u5bB6DS1MAgAAAHgvLDRYj/70k96PbOmudXr7/6SOUVITQ67Xx0tzP+QBnAAsQbOihJyHD7iXqzVpbGESAAAAoHT8/Bzq/8bbRY7ZXh4rPThUGV1qShvW0LQAUKFoVpRUymFJUrZsCq9Ry+IwAAAAQOlEdOyqlR+s1q1BnfSBX+HbnENSj0hXtJVa+Gtxv/PlcjorPiSAKodmRQk5UlMkSSmOYBk2vnwAAACo/Np3bKP/rl2moX/8qd+SNmhw+zuU5Ff4YfJdt/wiW3OHcns2kPOT/0ppqRakBVAV8Nt2CflnFPwf8vGgcIuTAAAAAGWvQ5vm+vijN9Vv+Wb996p/akrDPoW28d+7U/bHhkvtI3Ro2zYLUgI419GsKKHg7DRJUmZIpLVBAAAAgHIUHBKkWyf9S/d8N0/aYup/90wucrvdY0ZUcDIAVQHNihIKz8uSJOVGRFucBAAAAKg4F9z/oLJ+z9Z/x36q1xpc7K63W7tAamJo3UVtteSWgdr46L1ynfJQegDwhmGapml1iMpg/fr1SkhI0Lp4qWWA9Eu3a9V9RpLVsQAAAABLrGlVXW2yD55xm4y4eAXPnCejUfMKSgXgXMGVFV6yVedNIAAAAKi6Ul//XCttkWfcJuTgLhl9z5MrI71iQgE4Z9Cs8JJ/rXirIwAAAACWuaBHF7XfdFTmZpeOrUjVnp8P6Isx/9VaW0ShbZcPuMCChAAqM5oVXgqOr291BAAAAMByhmEoMiJMtWvG6Yrb/6HWm44pdWW63rvkLvc2ibtWS00MJf+0wLqgACoVmhVeimjY0OoIAAAAgE8KDwvRkBcma69fmEd9/4RHLEoEoLKhWeGl6CbNrI4AAAAA+CxHUKDiVh3WzxcMcdfsWRkWJgJQmdCs8FJAaKjVEQAAAACf5gjwV4//fqitQTGSpA4HNmjPkl8tTgWgMqBZAQAAAKBcZQaEuJdr39RdC7q1lDM318JEAHwdzQoAAAAA5co+9mWP9QsP/aGdnXm7HoDTo1kBAAAAoFy1vOIq7XrpMy0PiHPXGmUc1M5OdWTm5VmYDICvolnhhV86DrA6AgAAAFCpxF9+lTqtO6AlMScfVF//2B4ZLfz1R2JD7fttuYXpAPgamhVesDfiTSAAAACAN9p9v1K/BdXwqLVI2aFjt1+l3MxMi1IB8DU0K7zgFxN39o0AAAAAFBIQEqz2a/bql3sm67eoRu76eWl75d8mRGpiSE0MrRo/VjJNC5MCsBLNCi8ExlW3OgIAAABQaRmGoe73P6gOS7dqXUzDIrdpN2O81NSmY2tWVnA6AL6AZoUXgqrXsjoCAAAAcE5I+HWr1o56VRubd1VOEb+e2K/vITM/34JkAKxEs8ILYbVoVgAAAABlwjDU+s571fzLXxWwxSnXxnzN6TPCPRyWm6GtH86yMCAAK9Cs8EJY7TpWRwAAAADOSTa7XVdN/bfmRTd315qMu1Vr28crOz3DwmQAKhLNihLKkk2B4eFWxwAAAADOaR0/+Fr5MtzrrdN2K7BdqA4t/p+FqQBUFJoVJZThCLA6AgAAAHDOi2rQQL/d+pR2BlTzqMcO66GDHWpo07vTrQkGoELQrCihTJoVAAAAQIVIfPQJ1V+XouX3TPKox6UeULNxt2rveWFacucwrXv7DTmzsixKCaA8GKbJy4uLY/369UpISNDsljV19bq9VscBAAAAqpRdS35V/E3dz7jNAUeI8mwO7avXQkZ+vvJlKKDftfIPj1T1TomKadWmgtICKC2H1QEqm9yAYKsjAAAAAFVOfJdu0hZTx1PTdKR7AzXMPlJom+r5BQ/grLNl8cni68s8ttntF6YAZ57yTSk7KEw7AiJ1rO0FanlhbzXqf6UcYWHlehwAiocrK4rpxJUV73Vvq+sXrbI6DgAAAFCl5efkas+q37T/l5/V8K2nlO4IVIPcY9rtCFWd/HSv95tp2JX55TrFNGt+9o0BlBuaFcV0olkx69ILdOO3P1sdBwAAAMAZZBw8oB0L5svpNJXyw9eKW7VQaTF1VG/3BuU4XapvZp5x/uqRz8sRHqH6ffoqNL5uBaUGcALNimI60ayYee3luinpS6vjAAAAACitnBwdX/6Lflu8XNXef03t0vecdcqa2CbKDY2QPSdb9txsZdRuKNlskmFT1PGD2h1RQy4ZCg0LlWmzyzCksLQUHQyuJsNmU1BQoGQYkmHIkPHXsk1BGUeVGVld6Xn5qlYtQobdIcNul19uttKDIxQaGixThgxD+us/JEk2l1POwGAZNqNg3GaTKcnpMhUQ4F/wOYYhw+mUGRgkwzD+ymvIZZoKCgqSzWaTYbMV7DEoRIbdJsNmyG6zy2a3Fcy32WXYDBmGXTZ/PxkOhxwOh2wOh2w2u+wOh2wOu2wOP8nPrxy/aagqaFYU04lmxbu33qgbps2yOg4AAACAMvbzg3epx9w3rY5xTkiVQ+HKV7ZsOuQfJtNmk8swZMqmzNw8tXQe1x/hdeSy2WXaCho2tY/u1e6YusoLDJZp2OWffkyy25UVU0vmXw0h2WwKyU5TSp5kxNWQIyBQht0hMzNNtqBgGTE1ZDgcMuwOKT9P9qBg+UVFy263K9/lUkBQkAybXfb8XJlh4ZLdT4bdLjkcks2m0OhoRTRqqsCQEHcN1vDpB2zm5OToiSee0KxZs3T06FG1bt1a48ePV58+fc46d8+ePXrwwQc1b948uVwu9e7dWy+99JIaNmxYqkyOyGpn3wgAAABApdPjpTeU/cwL2vbDPOWnHtfRzz9S7d0blREeo7Y7VuhP/wgZpqm6eamSpDTDT4ZMhZr5Fif3PeEq+JoEyqX43ONFbtMidXehWtTBzYU3LKomSdu9jldixw0/OWUoX4ZchiGHzaaY/Ezt8o+QS1JOvlMOh0OGzS6XIZl/XTXTOPOQdgZFK9MeINMomCtJaZnZCgkJkb9hqlbmEW2Oqq/0zCwFBgXK4efnvvrGNAqugqlzdI/+jK2vPFPKyM5RRGREwZjNJpuk0Ow0HYitp7TMbEVWi1BAUKCCM1OVHlNHWU6XIqOjFGAzlBsVq4DgYAVXr6Hg8Ag5AgPkCAiUX2wNhUb41sNlffrKiqFDhyopKUkPPPCAmjRponfeeUfLly/Xjz/+qPPPP/+089LT09W+fXsdP35co0aNkp+fn1566SWZpqnVq1crOjq6xFncry4dP05X/98TpTksAAAAAOcol9MpZ26eXM58ufLz5crPk5nvVH5+nkyXS6bLlGmaMs2CZblckumSmZOj3Nxc5eflFczLy5ORk62s1GOSYZdhmjJlSjJlukwZpilbZppcfgGS6VLBkCmZpjIzsxTo75DpkiSX7BlpcvoHyDTl3jYrK0uGJLvNJtPllC03W34ZqcoNDNWx1DSFBge592eaLumv3GEp+3QsKEKZmVkKDQ4sqLucMk2X/LMy5Dy4X6n+wWqeslMbcx2KDA+V4XLJMF2Sy6VjR4+rZ94BbY6oLcN0yXAVHFNC6m5tDYiSTaZspkv1c48rTQ5l2xyyy5TNNGWTqXAzT5LklGS35ltcJeTJ0I6QOKWFxyjy2AEdOK+zTLtdsjtkSz0qR2JPdXrsqXLN4LPNimXLlikxMVGTJk3S6NGjJUnZ2dlKSEhQXFycfv3119POff755/XII49o2bJl6tSpkyRp48aNSkhI0JgxY/Tss8+WOM+JZsX0/76rFh06nna7sJBgndco3r2emp6pjdt3nXX/nVs381hftnbTWec0bxiv8NCTr1LdsG2X0jLO/KCg2tWjVbt6jHt9z4HD2nOg8GufTsUxncQxFeCYCnBMBTimkzimAhxTAY6pAMd0EsdUgGMqwDEV8PaYOrVqKmdevvJzc+XMzdHqLckFzSDT/Kux4pIrr6CxYZqmnE6nwo/ulz07S3LmyZ6equPxTZUfGOxuyrhyc2Xm5hTcbiJTNpdTESt/Vv72TTJcTh08eERh3XrJTOgouytfefaCZ3Pk5+XL4bAXPPPDNOXYl6zQue+qWcpObYuorbya9ZR2xbCC4KbkdDplt9sU4MyTIVN5NodcLpfqvfywCp5GUpAn+aEXJVMKMJ3KM2wyTVPuR5ZIMkyp5QcvKHzXyStPNgx9SGnxnt/vQt+nX75U7V/mnvw+db9ce7oPOPP3adcmnffB5JPfp/imCl9w9v8dlYbP3gaSlJQku92uESNGuGuBgYEaPny4HnvsMe3atUvx8fGnndupUyd3o0KSmjdvrosuukgff/yxV82KE3Lsfjp6vPivQsrPd5Zo+xOKMyc/3+mxnpaRedZ5UX+7tCcrO7fE+TimkzimAhxTAY7p5OdyTAU4pgIcUwGO6eTnckwFOKYCHFMBjunk5xZnjmEYcvj7yeHvJylE6bk7Th2VZJf8PK+9aNy5n6IiT2ZctnbTGT/LKala125qXK+Wu7b1z73alrxPeX/7tFO/WmHtOqnDPx+TJLWRlHIsTct/97yVxSkp92+f12Bdisf6xv/9Jkk6U4sof/YKKSxYysuVnE4d27BTqVk5Z5gh5fgHaFONpgqy22Tm50nVayuteYczznH99efEEzzyg8v/lhGfbVasWrVKTZs2VXh4uEe9c+fOkqTVq1cX2axwuVxau3atbr311kJjnTt31rx585SWlqawMO++uKGB/qoWEXra8bCQYI91h8N+xu1PpzhzHA7Pk+/vn12UoED/Qutn+yyO6fQ4pqI/uygcU9H75ZhO4piK/uyicExF75djOoljKvqzi8IxFb1fjukkjqnozy4Kx1T0fsv9mOx2yR4kSYqsFiG7/1mugOnbX7Vvvtm9XqwrYC68TLbbTTlzc7X27TeUunObehbjGErDZ28DSUhIUPXq1fXDDz941P/44w+1bNlSb775pu64445C8w4fPqzY2Fg9/fTTGjt2rMfY1KlTNXLkSG3cuFHNmp3+0piDBw/q0KFDhT538ODB+mz2bDVp2rQURwYAAAAAQOXXqFEjBQYGlsu+ffbKiqysLAUEBBSqn/hCZGVlnXaeJK/mnjB16lSNGzeuyLGrr7nmjHMBAAAAAKgKFi5cqB49epTLvn22WREUFKScnML32mRnZ7vHTzdPkldzT7j77rs1aNAgj9rq1at144036uOPP1aLFi3OfgDAOWbr1q266qqrNGfOHDVu3NjqOIAlOA8AzgOAcwA4eR6Ehpb89pbi8tlmRc2aNbVnz55C9X379kmSatWqVWhMkqKiohQQEODeriRzT4iLi1NcXFyRYy1atFDLli3POB84lzVu3JhzAFUe5wHAeQBwDgBF39FQVmxn38Qabdu21ebNm5WamupRX7p0qXu8KDabTa1atdKKFSsKjS1dulQNGzb0+uGaAAAAAACg/Plss2LgwIFyOp1666233LWcnBxNnz5diYmJ7jeBJCcna+PGjYXmLl++3KNhsWnTJi1YsKDQ7R0AAAAAAMC3+OxtIImJiRo0aJAeffRRHTx4UI0bN9aMGTO0c+dOTZs2zb3dsGHDtHDhQp36UpO7775bb7/9tvr376/Ro0fLz89PkydPVvXq1TVq1CgrDgcAAAAAABSTzzYrJGnmzJkaO3asZs2apaNHj6p169aaO3fuWZ82GhYWpp9++kkPPvigxo8fL5fLpV69eumll15SbGysV1liY2P15JNPej0fqOw4BwDOA0DiPAA4B4CKOQ8M89RLEgAAAAAAACzms8+sAAAAAAAAVRPNCgAAAAAA4FNoVgAAAAAAAJ9CswIAAAAAAPiUKt+syMnJ0SOPPKJatWopKChIiYmJmj9/frHm7tmzR4MHD1ZkZKTCw8N15ZVXavv27eWcGChb3p4Ds2fP1pAhQ9SwYUMFBwerWbNmGjVqlI4dO1b+oYEyVpq/C07Vp08fGYahe+65pxxSAuWrtOfBRx99pK5duyokJESRkZHq1q2bFixYUI6JgbJVmnPg+++/V+/evRUTE6PIyEh17txZs2bNKufEQNlKT0/Xk08+qb59+yoqKkqGYeidd94p9vxjx45pxIgRio2NVUhIiHr37q2VK1d6nafKNytuueUWTZ48WTfccINeeeUV2e129evXT4sWLTrjvPT0dPXu3VsLFy7UY489pnHjxmnVqlXq2bOnjhw5UkHpgdLz9hwYMWKENmzYoBtvvFGvvvqq+vbtqylTpqhr167KysqqoPRA2fD2PDjV7NmztXjx4nJMCZSv0pwHTz31lIYOHar4+HhNnjxZ48ePV+vWrbVnz54KSA6UDW/PgS+++EKXXHKJcnNz9dRTT2nChAkKCgrSsGHD9NJLL1VQeqD0Dh8+rKefflobNmxQmzZtSjTX5XKpf//+ev/993XPPffo+eef18GDB9WrVy9t2bLFu0BmFbZ06VJTkjlp0iR3LSsry2zUqJHZtWvXM86dOHGiKclctmyZu7ZhwwbTbrebjz76aLllBspSac6BH3/8sVBtxowZpiTz7bffLuuoQLkpzXlw6vb169c3n376aVOSOXLkyPKKC5SL0pwHixcvNg3DMCdPnlzeMYFyU5pzoE+fPmatWrXM7Oxsdy0vL89s1KiR2bp163LLDJS17Oxsc9++faZpmuby5ctNSeb06dOLNfejjz4yJZmffPKJu3bw4EEzMjLSHDp0qFd5qvSVFUlJSbLb7RoxYoS7FhgYqOHDh2vx4sXatWvXGed26tRJnTp1cteaN2+uiy66SB9//HG55gbKSmnOgV69ehWqXX311ZKkDRs2lHlWoLyU5jw44fnnn5fL5dLo0aPLMypQbkpzHrz88suqUaOG7r//fpmmqfT09IqIDJSp0pwDqampqlatmgICAtw1h8OhmJgYBQUFlWtuoCwFBASoRo0aXs1NSkpS9erVdc0117hrsbGxGjx4sD7//HPl5OSUeJ9VulmxatUqNW3aVOHh4R71zp07S5JWr15d5DyXy6W1a9eqY8eOhcY6d+6sbdu2KS0trczzAmXN23PgdPbv3y9JiomJKZN8QEUo7XmQnJys5557ThMnTuSHUlRapTkPfvjhB3Xq1EmvvvqqYmNjFRYWppo1a2rKlCnlGRkoU6U5B3r16qX169dr7Nix2rp1q7Zt26ZnnnlGK1as0JgxY8ozNuAzVq1apfbt28tm82wxdO7cWZmZmdq8eXOJ9+koq3CV0b59+1SzZs1C9RO1vXv3FjkvJSVFOTk5Z53brFmzMkwLlD1vz4HTmThxoux2uwYOHFgm+YCKUNrzYNSoUWrXrp2uu+66cskHVARvz4OjR4/q8OHD+uWXX7RgwQI9+eSTqlu3rqZPn657771Xfn5+uuOOO8o1O1AWSvN3wdixY7Vjxw5NmDBB48ePlyQFBwfr008/1ZVXXlk+gQEfs2/fPvXo0aNQ/dRzqFWrViXaZ5VuVmRlZXlcrnVCYGCge/x08yR5NRfwJd6eA0V5//33NW3aNI0ZM0ZNmjQps4xAeSvNefDjjz/q008/1dKlS8stH1ARvD0PTtzyceTIEX344YcaMmSIJGngwIFq1aqVxo8fT7MClUJp/i4ICAhQ06ZNNXDgQF1zzTVyOp166623dOONN2r+/Pnq0qVLueUGfEVZ/l5xQpVuVgQFBRV570x2drZ7/HTzJHk1F/Al3p4Df/e///1Pw4cP16WXXqoJEyaUaUagvHl7HuTn5+u+++7TTTfd5PH8IqAyKu3PRH5+fh5X1dlsNg0ZMkRPPvmkkpOTVbdu3XJIDZSd0vxMdM8992jJkiVauXKl+xL4wYMHq2XLlrr//vtpaKNKKKvfK05VpZ9ZUbNmTe3bt69Q/UStVq1aRc6LiopSQECAV3MBX+LtOXCqNWvW6IorrlBCQoKSkpLkcFTpHigqIW/Pg5kzZ2rTpk264447tHPnTvcfSUpLS9POnTuVmZlZbrmBslSan4kCAwMVHR0tu93uMRYXFyep4FYRwNd5ew7k5uZq2rRp6t+/v8e9+n5+frrsssu0YsUK5ebmlk9owIeUxe8Vf1elmxVt27bV5s2blZqa6lE/0f1s27ZtkfNsNptatWqlFStWFBpbunSpGjZsqLCwsDLPC5Q1b8+BE7Zt26a+ffsqLi5OX3/9tUJDQ8srKlBuvD0PkpOTlZeXp+7du6tBgwbuP1JBI6NBgwaaN29euWYHykppfiZq27atDh06VOgXshP3+MfGxpZ9YKCMeXsOHDlyRPn5+XI6nYXG8vLy5HK5ihwDzjVt27bVypUr5XK5POpLly5VcHCwmjZtWuJ9VulmxcCBA933lJ2Qk5Oj6dOnKzExUfHx8ZIKfiDduHFjobnLly/3aFhs2rRJCxYs0KBBgyrmAIBSKs05sH//fl1yySWy2Wz67rvv+GEUlZa358F1112nzz77rNAfSerXr58+++wzJSYmVuzBAF4qzd8HQ4YMkdPp1IwZM9y17Oxsvffee2rRogVXm6JS8PYciIuLU2RkpD777DOPhl16erq+/PJLNW/enNvDcc7Zt2+fNm7cqLy8PHdt4MCBOnDggGbPnu2uHT58WJ988okGDBhQ5PMszsYwTdMsk8SV1ODBg/XZZ5/pwQcfVOPGjTVjxgwtW7ZMP/zwg/tppr169dLChQt16pcqLS1N7dq1U1pamkaPHi0/Pz9NnjxZTqdTq1ev5hc3VBrengNt27bVmjVrNGbMmEJP9q1evbr69OlToccBlIa350FRDMPQyJEjeW0jKh1vz4OsrCx16tRJmzdv1v3336+6detq1qxZWrlypb788ktddtllVh0SUCLengMTJkzQ448/rnbt2mnYsGFyOp2aNm2aNmzYoHfffVc33HCDVYcElNiUKVN07Ngx7d27V2+88YauueYatWvXTpJ07733KiIiQrfccotmzJihHTt2qH79+pIkp9Op888/X+vWrdPDDz+smJgYTZ06VcnJyVq+fLl3b8o0q7isrCxz9OjRZo0aNcyAgACzU6dO5rfffuuxTc+ePc2ivlS7du0yBw4caIaHh5uhoaHm5Zdfbm7ZsqWiogNlwttzQNJp//Ts2bMCjwAovdL8XfB3ksyRI0eWV1Sg3JTmPDhw4IB58803m1FRUWZAQICZmJhYaC7g60pzDrz33ntm586dzcjISDMoKMhMTEw0k5KSKio6UGbq1at32p/xd+zYYZqmad58880e6yekpKSYw4cPN6Ojo83g4GCzZ8+e5vLly73OUuWvrAAAAAAAAL6lSj+zAgAAAAAA+B6aFQAAAAAAwKfQrAAAAAAAAD6FZgUAAAAAAPApNCsAAAAAAIBPoVkBAAAAAAB8Cs0KAAAAAADgU2hWAAAAAAAAn0KzAgAAAAAA+BSaFQAAAAAAwKfQrAAAAD7puhtv0XU33mJ1jBI7v/clGv3I/7nXlyxdpgZNE7Rk6TILUwEAULk4rA4AAAAqVtLsOXr4n48XOXbn7cP1yMMPVnAiAAAATzQrAACooh68/x7F16ntUWvWpIlFaQAAAE6iWQEAQBXVq8f5at0qoVjb5uTkyM/PTzab799B6nK5lJeXp4CAAKujAAAAL/n+TxwAAKBCnXjGwpdzv9YLL72qLudfqPNad1R6erqOHTuuCc9NUt/Lr1bLtp3Uql2ibhl+p/7YsNFjH0mz56hB0wTt3r2nyH3//fkN73/4iXpe1FfNW3XQlddep2XLfyt23gZNE/TEuAma88VcXdLvSjVLaK+FPy+SJO3ff0BjHn1cHbv2ULOW7XRJvyv1cdLsQvvIycnRy6++rt6X9FezhPbq3L2X7hx5v/5MTnZv89a06bp2yA1q17m7mrfqoAFXD9bX384rdk4AAFB8XFkBAEAVlZaWrpSUox61qKhq7uXXpv5bfn5+un34LcrNzZWfn5+2bN2m+d8vUL++l6hOnTo6fOSIPvjwE1134z80/+vPVb16XIlzfPTJp/q/J8apQ/u2+sfNN2nX7t26/a57FRkRrpo1axRrH4uXLNXX33ynYTcOVbVq1VSndm0dOnxY1wy+XoZhaNiN1ys6qpp++nmRHnnsCaWnZ+jWW26SJDmdTg0fMVK/LF6iAf0v0z+G3aiMjAwt+mWxNm3eqnp160qS3pnxri66sLeuHHC58vLy9OVX32jkfQ9p2r9f14W9e5b4uAEAwOnRrAAAoIq68ZbbCtV2bF7nXs7JydEXsz9SYGCgu9asWVMtmPeVx+0g11w5QBf1HaCPkmbrvpF3lihDXl6eJk1+RS3Oa673Z06Xv7+fJKlxo0Z6bOxTxW5WbN+xU9/O/UxNGjdy1x557Ak5XS59++VnqlYtUpJ0w9Ahuu/Bh/Xya1N1/XWDFBgYqNlzvtAvi5fo8UfHaPg/hrnn33XHbTJN072+YN5XHl+LYTcO1YCrB2va9Jk0KwAAKGM0KwAAqKKefvJxNahf77Tj1159pccv55IU4O/vXnY6nUpNTVNwcLAaNqiv9ev/KHGG39et15EjKXro/nvcjQpJGnjNlfrX8y8Wez+JnTt6NCpM09S3875X/8sulWmaHleQ9Ligu7786hutW/+HOnZor2+/m6+oatV0803XF9qvYRju5VO/FsePH5fT6VKnju31xdxvip0TAAAUD80KAACqqDatE874gM06f3tTiFTw8MrpM97Vu+9/qF2798jpdLrHTly9UBJ79uyVJNWv59k08fPzU934OsXez9/fanIkJUWpqan64KNP9MFHnxQ558iRFEnSn8m71LBBfTkcZ/6x6Icff9KUqW/pjw0blZub666f2tAAAABlg2YFAAAo0t+vqpCk1998W5Nffk2DB16th+6/RxGREbIZNj3z7ES5XC73doaK/gXe6XQVWS+tgADPrKar4PaNq664XNdefWWRc5o3b1rs/S9b/ptuv/Nede7UQc889bjiYmPlcDiUNHuOPv/yK++DAwCAItGsAAAAxfbNt/PUtUtnTXz2GY96amqax5UV4RHh7vqp9uzd67Feu3YtSdLOP/9Ut66J7npeXp527d6j80rQUDhVVFQ1hYaEyOVy6fzuXc+4bb268Vq95nfl5eXJz8+vyG2+nTdfAQEBmvHftzxuhUmaPcerfAAA4Mx4dSkAACg2u93u8dBJSfrqm++0/8ABj1q9uvGSpKUrVrhrTqdTH3yU5LFdq4SWio6K0nsffKzc3Dx3PWn250pNTS1Vzr6X9tG3383Xps1bCo0fSUlxL/e9tI9Sjh7VzHc/KLTdiWO12ewyDEOuU2572b17j+Z9v8DrjAAA4PS4sgIAABTbhb166NXX39TD/3xc7du11abNm/X5l18Ver5E0yaN1a5tG0168RUdP3ZcEZERmvvVN3I68z228/Pz00MP3Kv/e2Kcbhh2q/r366vdu/fok9lzSvTMiqKMGf2AFi9dpqsHXa/rBl+rxo0a6fjx41r3xwb98utirV7+qyTpmquu0Ow5X2j8v57XmrW/q1PHDsrMytQvvy7Rjddfp0suvlAX9uqhadNn6Obhd+rKAf105EiKZr73gerVjdfGTZtLlRMAABRGswIAABTb3XeNUGZWlr6Y+7Xmfv2tElqcp/++NVUTX3ip0LYvv/CcHntinN54a5rCw8M0eOA16prYWTf943aP7a6/bpBcLqfe+s87+tfzL6p50yZ6+43XNPmV10qVNTYmRnOSPtCrU97Ud/O+17uHP1RkZKSaNm6sR0Y/5N7Obrdr+ttvaMobb+mLL7/Wt/PmKzIyUh07tFfzpk0kSd26Jmris0/rjbem6ekJExVfp7b++fBD2r17D80KAADKgWH+/VpOAAAAAAAAC/HMCgAAAAAA4FNoVgAAAAAAAJ9CswIAAAAAAPgUmhUAAAAAAMCn0KwAAAAAAAA+hWYFAAAAAADwKTQrAAAAAACAT6FZAQAAAAAAfArNCgAAAAAA4FNoVgAAAAAAAJ9CswIAAAAAAPgUmhUAAAAAAMCn0KwAAAAAAAA+hWYFAAAAAADwKTQrAAAAAACAT/l/XtjKwyZ7Dm4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot precision–recall curves\n",
    "fig, ax = plt.subplots()\n",
    "for name, probability in test_probabilities.items():\n",
    "    precision, recall, _ = precision_recall_curve(y_test, probability)\n",
    "    ax.plot(recall, precision, label=f'{name}: AP={average_precision_score(y_test, probability):.3f}')\n",
    "ax.axhline(y_test.mean(), linestyle='--', color=SILVER, label=f'Prevalence={y_test.mean():.3%}')\n",
    "ax.set(xlabel='Fraud recall', ylabel='Alert precision', title='Final test: concentration of fraud in high-ranked transactions', xlim=(0, 1), ylim=(0, 1))\n",
    "ax.legend(); plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84d5e00e",
   "metadata": {},
   "source": [
    "### Cell 75 · Plot ROC curves using scores\n",
    "\n",
    "AUC reflects ranking and does not by itself specify acceptable false-alert volume."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "step-075",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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YsiQIejXrx9ycnLg5+cHwDLPwe+//46ePXti2LBhOHDgAP78808AQEZGBr788kvMmzev2tgSExMRFRWFK1euAADat2+Pffv2ifHVRV1ee9OnTzf5JH348OGIjIzEr7/+ip07d9b52gDw+uuv459//hHvd+7cGaNHj0ZsbCw2bdpU5/MVFhbiq6++Eu8PHjwYUVFR0Gg0SExMxPHjx3Hu3DmTYz788EN89NFH4n07OztMmjQJwcHBuH79On788cdqr1fT66S2Tp48ifDwcIwbNw579+7F8ePHAQD79+/H/v370bFjR4wdOxbff/89Tp06BQA4cOAAjh07hl69etXpWkDZa+/+++9Hhw4dEB0dLRbAvPWcEokEISEh6N27N/z8/ODq6gqDwYBr165hy5YtKC4uRnx8PJYsWYJPP/1UrEPx999/Y8uWLeL1Xn31Vbi6ugKoXe2OLVu24M033xTvBwcHY9KkSSguLsaaNWtQWFiIoqIiTJ48GTExMVX+38/KykJOTg6mTZsGX19frF69GpmZmQCAr7/+GkuXLoWPj0+dv3dERM2OtbMlRETUsGrziSFQecZFbT9Ztbe3F5KSksS+sWPHin1ubm6V4jEajcLff/8tfP3118JHH30krFixQliyZInJOb/++mtxfH1mVlT1uG/99FMQBGH37t0mY44dO2bSP3HiRLGvc+fOYnvnzp3F9k2bNlU6b15enpCWlmbSVnG2R02zWyrGU9+ZFQCEZ599ttqx5j4HkZGRglarFQRBELRaraBWq8W+cePGVft4HnvsMZMZFV27dq00E0MQLP/aO3bsmMlxDz74oNhnMBhMrlfb15hOpxMcHR3FY0JDQ4XS0lKxf/HixdU+l9W9pnNyckzayz/1ryghIUEoKSkRY/fy8hLHOzk5CZcvXzYZr9FohISEBPF+bV8ntX0O3N3dhby8PEEQBOHixYsmfZ6enkJ+fr4gCIJw/vx5k76PP/74tt8PQag8s+K5554T+06fPl3tOctlZGQI33//vbBq1SrhvffeE1asWCEMGDBAPKZVq1Ym49esWWNyzltnsQhCzT9bunXrJrY7OzubvL73799vctwzzzxT7fPy4Ycfin07duww6du1a1cVzxgRUcvDmRVERGSWMWPGmHwCHxYWJt6u+Ek2APz666944okncO3atRrPmZiYaNkgq/H777+b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f/bZZ3Ht2jUxaVJUVFSrWg0t3euvv46JEycCKCu2Wf79cXR0xAMPPIBvv/22yuP69OkDf39/sfDmb7/9JhZfXbFixW2TFQ8++CDOnj2LZcuWAQDi4uLw9ttvm4yxtbXFhg0bKhVDJSIiU/VbJEpERFRHCoUCv/76Kx5//HFxRkFYWBhWrFiB1atXN8g1P//8czz55JPw9fWFTCarckyrVq1w+vRpfPTRRxg0aBDc3d0hk8lgZ2eHsLAwTJ48GatXr8YHH3wgHjN37lz83//9H/r164fAwEDY2tpCoVDAx8cHI0aMwObNm8U3K+X+85//YNmyZQgLC6tUiLCxWOM5qIpEIsHq1asxduxYse29997Da6+91mDXjIiIwLFjxzB+/Hi4uLjA1tYWPXr0wObNmzF16lSTseVLY27HyckJv//+O5599ln4+vpCqVSiTZs2WLRoEfbs2VOvOFeuXInHH38cXbt2hbe3NxQKBVQqFVq1aoWpU6fi8OHDuO+++8TxEokEH330EQ4dOoSHHnoIrVq1gkqlgkqlQlBQECZOnGi1Qq/WNGHCBGzfvh3du3eHUqmEq6srRo8ejaNHjyIiIqLa45RKJfbu3Yv77rtPrEFRV0uXLsWhQ4fw4IMPIjAwEEqlEra2tggLC8PTTz+Nf/75B+PGjTPn4RER3REkgqX2SCMiIiJqonQ6HSQSSZVFH8eOHYudO3cCKEtAZGZm1lg4koiIiBoel4EQERFRixcbG4uoqChMmTIFHTt2hKenJ1JSUrBlyxb88ssv4rjZs2czUUFERNQEcGYFERERtXj//vsv2rdvX+OYyZMnY/369Q2y5SYRERHVDZMVRERE1OLl5eVhyZIlOHToEK5du4bc3FzI5XL4+PigV69eJru9EBERkfUxWUFERERERERETQp3AyEiIiIiIiKiJoXJCiIiIiIiIiJqUpisICIiIiIiIqImhckKIiIiIiIiImpSmKyopdLSUpw7dw6lpaXWDoWIiIiIiIioRWOyopZiY2MRERGB2NhYa4dCRERERERE1KIxWUFERERERERETQqTFURERERERETUpDBZQURERERERERNCpMVRERERERERNSkMFlBRERERERERE0KkxVERERERERE1KTIrR1AS6LX65GTk4PCwkIIgmDtcIiokUkkEjg4OMDV1RVyOX+8EhERERHVF2dW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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot ROC curves using scores\n",
    "fig, ax = plt.subplots()\n",
    "for name, probability in test_probabilities.items():\n",
    "    fpr, tpr, _ = roc_curve(y_test, probability)\n",
    "    ax.plot(fpr, tpr, label=f'{name}: AUC={roc_auc_score(y_test, probability):.3f}')\n",
    "ax.plot([0, 1], [0, 1], linestyle='--', color=SILVER)\n",
    "ax.set(xlabel='False-positive rate', ylabel='True-positive rate', title='Final test: ranking discrimination')\n",
    "ax.legend(); plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "515303ea",
   "metadata": {},
   "source": [
    "### Cell 76 · Inspect probability calibration\n",
    "\n",
    "Quantile bins give each bin observations in a rare-event setting. Calibration on this test is descriptive; it is not used to refit or adjust scores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "step-076",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1080x552 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Inspect probability calibration\n",
    "observed_rate, mean_score = calibration_curve(y_test, selected_probability, n_bins=10, strategy='quantile')\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(mean_score, observed_rate, marker='o', label=selected_name)\n",
    "upper = max(float(mean_score.max()), float(observed_rate.max())) * 1.1\n",
    "ax.plot([0, upper], [0, upper], linestyle='--', color=SILVER, label='Ideal calibration')\n",
    "ax.set(xlabel='Mean model score in bin', ylabel='Observed fraud rate in bin', title='Final test: are probability-shaped scores reliable?')\n",
    "ax.legend(); plt.tight_layout(); plt.show(); plt.close(fig)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a307b22",
   "metadata": {},
   "source": [
    "<a id=\"11-uncertainty-and-interpretation\"></a>\n",
    "## 11. Uncertainty and interpretation\n",
    "\n",
    "Repeated transactions from one customer are dependent. We therefore resample\n",
    "**customer clusters**, retaining their transactions together, rather than treating\n",
    "every row as an independent customer. Percentile intervals describe uncertainty\n",
    "across customers within this fixed test period, conditional on the trained model and\n",
    "threshold. They do not include training uncertainty, label errors, temporal shocks,\n",
    "or cross-customer dependence. A 200-repeat bootstrap is a teaching-scale estimate;\n",
    "a publication should assess interval stability with more repetitions.\n",
    "\n",
    "If usable customer IDs are absent, this notebook explicitly skips cluster intervals\n",
    "rather than silently substituting an IID row bootstrap."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30c2c908",
   "metadata": {},
   "source": [
    "### Cell 77 · Define the cluster bootstrap\n",
    "\n",
    "Multiplicities weight whole customers without physically copying millions of rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "step-077",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Define the cluster bootstrap\n",
    "def bootstrap_customers(frame, labels, probability, prediction, repeats, seed):\n",
    "    codes, customers = pd.factorize(frame['cc_num'], sort=True)\n",
    "    if (codes < 0).any() or len(customers) < 2:\n",
    "        raise ValueError('Cluster bootstrap requires complete customer IDs and at least two clusters.')\n",
    "    rng, records = np.random.default_rng(seed), []\n",
    "    for _ in range(repeats):\n",
    "        multiplicities = rng.multinomial(len(customers), np.full(len(customers), 1 / len(customers)))\n",
    "        weights = multiplicities[codes].astype(float)\n",
    "        fraud_weight = float(np.sum(weights * labels))\n",
    "        legitimate_weight = float(np.sum(weights * (1 - labels)))\n",
    "        if fraud_weight == 0 or legitimate_weight == 0:\n",
    "            continue\n",
    "        tp = float(np.sum(weights * labels * prediction))\n",
    "        fp = float(np.sum(weights * (1 - labels) * prediction))\n",
    "        fn, alerts = fraud_weight - tp, tp + fp\n",
    "        cost = REVIEW_COST_MU * alerts + FALSE_ALERT_FRICTION_MU * fp + MISSED_FRAUD_COST_MU * fn\n",
    "        records.append({'average_precision': average_precision_score(labels, probability, sample_weight=weights),\n",
    "                        'recall': tp / fraud_weight, 'precision': tp / alerts if alerts else 0.0,\n",
    "                        'alert_rate': alerts / weights.sum(), 'cost_mu_per_10000': cost / weights.sum() * 10_000})\n",
    "    return pd.DataFrame(records), len(customers)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ddda7fe2",
   "metadata": {},
   "source": [
    "### Cell 78 · Estimate uncertainty for the frozen policy\n",
    "\n",
    "The bootstrap evaluates the fixed final candidate. It never reselects a threshold on test rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "step-078",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Usable bootstrap replicates: 200 / 200; customer clusters: 923\n"
     ]
    }
   ],
   "source": [
    "# Estimate uncertainty for the frozen policy\n",
    "bootstrap_samples = pd.DataFrame()\n",
    "bootstrap_clusters = None\n",
    "if 'cc_num' in test and test['cc_num'].notna().all():\n",
    "    bootstrap_samples, bootstrap_clusters = bootstrap_customers(test, y_test, selected_probability, selected_prediction, BOOTSTRAP_REPEATS, RANDOM_SEED)\n",
    "    print(f'Usable bootstrap replicates: {len(bootstrap_samples)} / {BOOTSTRAP_REPEATS}; customer clusters: {bootstrap_clusters}')\n",
    "else:\n",
    "    print('Cluster bootstrap skipped: complete customer IDs were not supplied.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37632257",
   "metadata": {},
   "source": [
    "### Cell 79 · Display percentile intervals\n",
    "\n",
    "Intervals are approximate and conditional. Broad intervals should reduce confidence in a precise operational claim."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "step-079",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>point_estimate</th>\n",
       "      <th>lower_95</th>\n",
       "      <th>upper_95</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>average_precision</th>\n",
       "      <td>0.36456</td>\n",
       "      <td>0.31456</td>\n",
       "      <td>0.41429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>recall</th>\n",
       "      <td>0.66990</td>\n",
       "      <td>0.64036</td>\n",
       "      <td>0.71025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>precision</th>\n",
       "      <td>0.22128</td>\n",
       "      <td>0.18794</td>\n",
       "      <td>0.25759</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>alert_rate</th>\n",
       "      <td>0.01763</td>\n",
       "      <td>0.01658</td>\n",
       "      <td>0.01875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cost_mu_per_10000</th>\n",
       "      <td>11340.24329</td>\n",
       "      <td>9268.37797</td>\n",
       "      <td>13554.48204</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   point_estimate    lower_95     upper_95\n",
       "average_precision         0.36456     0.31456      0.41429\n",
       "recall                    0.66990     0.64036      0.71025\n",
       "precision                 0.22128     0.18794      0.25759\n",
       "alert_rate                0.01763     0.01658      0.01875\n",
       "cost_mu_per_10000     11340.24329  9268.37797  13554.48204"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Display percentile intervals\n",
    "uncertainty_intervals = pd.DataFrame()\n",
    "if not bootstrap_samples.empty:\n",
    "    uncertainty_intervals = bootstrap_samples.quantile([.025, .975]).T\n",
    "    uncertainty_intervals.columns = ['lower_95', 'upper_95']\n",
    "    uncertainty_intervals.insert(0, 'point_estimate', selected_metrics[uncertainty_intervals.index].astype(float))\n",
    "    display(uncertainty_intervals.round(5))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ee03bc1c",
   "metadata": {},
   "source": [
    "### Cell 80 · Interpret the held-out result in plain language\n",
    "\n",
    "This text is computed from the actual final metrics, so it cannot retain stale scores from an earlier run."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "step-080",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "**Frozen candidate: Scikit-learn.** The final period contains **194,502 transactions** and **1,133 labelled frauds** (0.583%). The review policy flags **3,430 transactions**, including **759 frauds** and **2,671 legitimate transactions**. It misses **374 frauds**. Recall is **67.0%** and alert precision is **22.1%**. That means **77.9% of alerts are legitimate**, and **33.0% of labelled fraud remains missed**. These limitations matter when deciding whether the queue is useful to an investigation team.\n",
       "\n",
       "AP is **0.365**, compared with a prevalence baseline of **0.0058**. Under the declared scenario, cost is **17,785.4 MU per 10,000 lower** than the no-alert baseline. This is scenario arithmetic, not realised savings. Test alert volume is **within** the 2% validation cap; a validation capacity constraint cannot guarantee future capacity."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Interpret the held-out result in plain language\n",
    "baseline_cost = float(test_metrics.loc['Always legitimate', 'cost_mu_per_10000'])\n",
    "cost_difference = baseline_cost - float(selected_metrics.cost_mu_per_10000)\n",
    "direction = 'lower' if cost_difference >= 0 else 'higher'\n",
    "capacity_status = 'within' if selected_metrics.alert_rate <= MAX_POLICY_ALERT_RATE else 'above'\n",
    "display(Markdown(\n",
    "    f'**Frozen candidate: {selected_name}.** The final period contains **{len(test):,} transactions** '\n",
    "    f'and **{int(y_test.sum()):,} labelled frauds** ({y_test.mean():.3%}). '\n",
    "    f'The review policy flags **{int(selected_metrics.tp + selected_metrics.fp):,} transactions**, '\n",
    "    f'including **{int(selected_metrics.tp):,} frauds** and **{int(selected_metrics.fp):,} legitimate transactions**. '\n",
    "    f'It misses **{int(selected_metrics.fn):,} frauds**. Recall is **{selected_metrics.recall:.1%}** '\n",
    "    f'and alert precision is **{selected_metrics.precision:.1%}**. '\n",
    "    f'That means **{1 - selected_metrics.precision:.1%} of alerts are legitimate**, '\n",
    "    f'and **{1 - selected_metrics.recall:.1%} of labelled fraud remains missed**. '\n",
    "    'These limitations matter when deciding whether the queue is useful to an investigation team.\\n\\n'\n",
    "    f'AP is **{selected_metrics.average_precision:.3f}**, compared with a prevalence baseline of '\n",
    "    f'**{y_test.mean():.4f}**. Under the declared scenario, cost is **{abs(cost_difference):,.1f} MU per 10,000 {direction}** '\n",
    "    'than the no-alert baseline. This is scenario arithmetic, not realised savings. '\n",
    "    f'Test alert volume is **{capacity_status}** the {MAX_POLICY_ALERT_RATE:.0%} validation cap; '\n",
    "    'a validation capacity constraint cannot guarantee future capacity.'\n",
    "))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5cf791f1",
   "metadata": {},
   "source": [
    "### Cell 81 · Summarise amounts associated with detected fraud\n",
    "\n",
    "Labelled amounts screened are not the same as amounts recovered or losses prevented."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "step-081",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Source amount units</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>labelled_fraud_amount</th>\n",
       "      <td>604108.480000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>labelled_amount_alerted</th>\n",
       "      <td>546177.700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>labelled_amount_coverage</th>\n",
       "      <td>0.904105</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          Source amount units\n",
       "labelled_fraud_amount           604108.480000\n",
       "labelled_amount_alerted         546177.700000\n",
       "labelled_amount_coverage             0.904105"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Summarise amounts associated with detected fraud\n",
    "fraud_amounts = test['amt'].to_numpy()[y_test == 1]\n",
    "screened_amount = float(fraud_amounts[selected_prediction[y_test == 1] == 1].sum())\n",
    "total_fraud_amount = float(fraud_amounts.sum())\n",
    "amount_coverage = screened_amount / total_fraud_amount if total_fraud_amount else np.nan\n",
    "display(pd.Series({'labelled_fraud_amount': total_fraud_amount, 'labelled_amount_alerted': screened_amount,\n",
    "                   'labelled_amount_coverage': amount_coverage}, name='Source amount units').to_frame())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30643366",
   "metadata": {},
   "source": [
    "### Cell 82 · Inspect outcomes over the final period\n",
    "\n",
    "Monthly counts expose drift and sparse positive support. They diagnose limitations without revising the frozen model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "step-082",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rows</th>\n",
       "      <th>frauds</th>\n",
       "      <th>alerts</th>\n",
       "      <th>caught</th>\n",
       "      <th>alert_rate</th>\n",
       "      <th>recall</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>month</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2020-04</th>\n",
       "      <td>62412</td>\n",
       "      <td>272</td>\n",
       "      <td>1048</td>\n",
       "      <td>184</td>\n",
       "      <td>0.0168</td>\n",
       "      <td>0.6765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-05</th>\n",
       "      <td>74343</td>\n",
       "      <td>527</td>\n",
       "      <td>1383</td>\n",
       "      <td>358</td>\n",
       "      <td>0.0186</td>\n",
       "      <td>0.6793</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-06</th>\n",
       "      <td>57747</td>\n",
       "      <td>334</td>\n",
       "      <td>999</td>\n",
       "      <td>217</td>\n",
       "      <td>0.0173</td>\n",
       "      <td>0.6497</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rows  frauds  alerts  caught  alert_rate  recall\n",
       "month                                                     \n",
       "2020-04  62412     272    1048     184      0.0168  0.6765\n",
       "2020-05  74343     527    1383     358      0.0186  0.6793\n",
       "2020-06  57747     334     999     217      0.0173  0.6497"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Inspect outcomes over the final period\n",
    "monthly = test[['timestamp', 'is_fraud']].assign(alert=selected_prediction, caught=y_test * selected_prediction)\n",
    "monthly['month'] = monthly['timestamp'].dt.to_period('M').astype(str)\n",
    "monthly_summary = monthly.groupby('month').agg(rows=('is_fraud', 'size'), frauds=('is_fraud', 'sum'), alerts=('alert', 'sum'), caught=('caught', 'sum'))\n",
    "monthly_summary['alert_rate'] = monthly_summary.alerts / monthly_summary.rows\n",
    "monthly_summary['recall'] = monthly_summary.caught / monthly_summary.frauds.replace(0, np.nan)\n",
    "display(monthly_summary.round(4))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "548775f1",
   "metadata": {},
   "source": [
    "### Cell 83 · Read coefficients as associations\n",
    "\n",
    "Numeric odds ratios refer to a one-training-standard-deviation increase. Category odds ratios compare with the omitted reference; neither is a causal effect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "step-083",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "      <th>conditional_odds_ratio</th>\n",
       "      <th>contrast</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>log_amount</td>\n",
       "      <td>1.8577</td>\n",
       "      <td>6.4090</td>\n",
       "      <td>one training SD</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>hour_cos</td>\n",
       "      <td>1.2923</td>\n",
       "      <td>3.6410</td>\n",
       "      <td>one training SD</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>category_grocery_pos</td>\n",
       "      <td>0.8542</td>\n",
       "      <td>2.3494</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>category_misc_net</td>\n",
       "      <td>0.7568</td>\n",
       "      <td>2.1314</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>category_shopping_net</td>\n",
       "      <td>0.7504</td>\n",
       "      <td>2.1179</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>category_gas_transport</td>\n",
       "      <td>0.4546</td>\n",
       "      <td>1.5756</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>category_grocery_net</td>\n",
       "      <td>0.2247</td>\n",
       "      <td>1.2519</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>category_food_dining</td>\n",
       "      <td>0.0471</td>\n",
       "      <td>1.0482</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>log_distance</td>\n",
       "      <td>0.0354</td>\n",
       "      <td>1.0360</td>\n",
       "      <td>one training SD</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>category_personal_care</td>\n",
       "      <td>-0.0182</td>\n",
       "      <td>0.9820</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weekend</td>\n",
       "      <td>-0.0253</td>\n",
       "      <td>0.9750</td>\n",
       "      <td>one training SD</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>category_shopping_pos</td>\n",
       "      <td>-0.1042</td>\n",
       "      <td>0.9011</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>category_kids_pets</td>\n",
       "      <td>-0.1973</td>\n",
       "      <td>0.8209</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>category_misc_pos</td>\n",
       "      <td>-0.2345</td>\n",
       "      <td>0.7909</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>category_health_fitness</td>\n",
       "      <td>-0.2429</td>\n",
       "      <td>0.7844</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>hour_sin</td>\n",
       "      <td>-0.3041</td>\n",
       "      <td>0.7378</td>\n",
       "      <td>one training SD</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>category_home</td>\n",
       "      <td>-0.5436</td>\n",
       "      <td>0.5807</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>category_travel</td>\n",
       "      <td>-0.7892</td>\n",
       "      <td>0.4542</td>\n",
       "      <td>versus category entertainment</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    feature  ...                       contrast\n",
       "0                log_amount  ...                one training SD\n",
       "3                  hour_cos  ...                one training SD\n",
       "8      category_grocery_pos  ...  versus category entertainment\n",
       "12        category_misc_net  ...  versus category entertainment\n",
       "15    category_shopping_net  ...  versus category entertainment\n",
       "6    category_gas_transport  ...  versus category entertainment\n",
       "7      category_grocery_net  ...  versus category entertainment\n",
       "5      category_food_dining  ...  versus category entertainment\n",
       "1              log_distance  ...                one training SD\n",
       "14   category_personal_care  ...  versus category entertainment\n",
       "4                   weekend  ...                one training SD\n",
       "16    category_shopping_pos  ...  versus category entertainment\n",
       "11       category_kids_pets  ...  versus category entertainment\n",
       "13        category_misc_pos  ...  versus category entertainment\n",
       "9   category_health_fitness  ...  versus category entertainment\n",
       "2                  hour_sin  ...                one training SD\n",
       "10            category_home  ...  versus category entertainment\n",
       "17          category_travel  ...  versus category entertainment\n",
       "\n",
       "[18 rows x 4 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Read coefficients as associations\n",
    "selected_weights = scratch_model['weights'] if selected_name == 'Scratch' else library_model.coef_[0]\n",
    "coefficients = pd.DataFrame({'feature': feature_names, 'coefficient': selected_weights})\n",
    "coefficients['conditional_odds_ratio'] = np.exp(coefficients.coefficient)\n",
    "coefficients['contrast'] = ['one training SD' if name in numeric_features else f'versus category {reference_category}' for name in feature_names]\n",
    "coefficients = coefficients.sort_values('coefficient', ascending=False)\n",
    "display(coefficients.round(4))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4a9c0e0",
   "metadata": {},
   "source": [
    "**What the result does and does not support.** This run demonstrates a reproducible\n",
    "screening workflow and a correctly separated evaluation. The source resembles\n",
    "simulation data, so strong benchmark results may reflect generator rules. Label\n",
    "delays, disputes, recovery, real fraud prevalence, customer behaviour, and geographic\n",
    "context would all require independent verification. We did not estimate the effect\n",
    "of preventing fraud, benchmark production latency, or evaluate entirely new customers.\n",
    "The coefficient table and calibration plot are descriptive, not formal causal or\n",
    "inferential claims. Excluding gender and names does not prove fairness: location,\n",
    "time, and category can still act as proxies. A live project needs relevant subgroup\n",
    "and outcome audits on authorised data."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9551288",
   "metadata": {},
   "source": [
    "<a id=\"12-business-government-auditing-and-astronomy\"></a>\n",
    "## 12. Business, government, auditing, and astronomy\n",
    "\n",
    "These are **proposed applications** of the workflow. No organisation's deployment or\n",
    "return on investment has been measured in this project.\n",
    "\n",
    "| Audience | Decision this method could support | Value to measure | Additional evidence needed |\n",
    "|---|---|---|---|\n",
    "| Bank or payment provider | Rank transactions for an analyst review queue | Fraud value identified, review precision, workload, customer friction | Authorised transaction history, delayed confirmed labels, actual loss/recovery and investigation costs |\n",
    "| Online retailer | Prioritise suspicious orders before fulfilment | Chargebacks, fulfilment losses, false holds, conversion impact | Order and fulfilment features, chargeback labels, a prospective controlled pilot |\n",
    "| Government programme | Triage anomalous payments or claims for investigation | Confirmed irregularities per review and costs of missed cases | Programme-specific transactions, eligibility rules, verified outcomes, access controls, appeal process |\n",
    "| Auditor | Prioritise tests while preserving a record of the selection rule | Yield of confirmed findings and coverage of the population | Evidence trails, independently checked findings, complementary random sampling, professional judgement |\n",
    "| Astronomer | Prioritise rare candidate events for telescope follow-up | Confirmed-target yield, rare-event recall, observing time used | Labelled light curves or spectra, detection quality, object and time separation, independent observing-season evaluation |\n",
    "\n",
    "### Business: turn a metric into a decision\n",
    "\n",
    "A useful presentation to a fraud manager states how many transactions need review,\n",
    "how many labelled frauds enter that queue, what remains missed, and whether staff can\n",
    "handle the volume. This notebook calculates those quantities. Its cost inputs must\n",
    "be replaced with operational evidence before proposing a budget or savings claim.\n",
    "An initial pilot would run in shadow mode, collect investigation outcomes, and\n",
    "compare with existing rules without automatically declining customers.\n",
    "\n",
    "Sensitivity analysis should vary missed-loss costs, review time, false-alert friction,\n",
    "and the capacity limit **on selection data or a new period**. Do not optimise those\n",
    "assumptions to make the final test look profitable. Source amounts should not be\n",
    "relabeled as rand without a verified currency basis and conversion.\n",
    "\n",
    "### Government: protect public funds through investigation support\n",
    "\n",
    "GAO's [Fraud Risk Management Framework](https://www.gao.gov/products/gao-15-593sp)\n",
    "emphasises prevention, detection, response, and continued monitoring and feedback.\n",
    "The proposed connection here is to use a transparent score as one input to payment\n",
    "or claim investigation, with reviewers checking evidence. Card-fraud labels do not\n",
    "establish benefit fraud, procurement misconduct, tax evasion, or corruption. Those\n",
    "are different targets and require new programme-specific datasets and validation.\n",
    "\n",
    "For a South African application, local transaction populations, confirmed findings,\n",
    "institutional procedures, and applicable data-governance requirements would need to\n",
    "be established. This benchmark cannot estimate the country's fraud rate or fiscal\n",
    "losses. Broad national claims cannot be inferred from this transaction sample.\n",
    "\n",
    "### Auditing: make every selection reviewable\n",
    "\n",
    "The hash, quality counts, split dates, fitted preprocessing, candidate search,\n",
    "threshold assumptions, and model card help a reviewer trace the analysis. A flagged\n",
    "transaction is a lead for checking, not evidence of misconduct by itself. Keep a\n",
    "complementary random or independently designed sample so risk-based selection does\n",
    "not hide low-scored failures or distort estimates of population error rates. Log\n",
    "investigation outcomes separately and incorporate feedback using future evaluation.\n",
    "\n",
    "### Astronomy: reuse the design, rebuild the model\n",
    "\n",
    "Rubin Observatory's [alert-stream explanation](https://rubinobservatory.org/explore/how-rubin-works/alerts)\n",
    "describes brokers adding contextual information and machine-learning classifications\n",
    "to help scientists prioritise follow-up observations. The inference from that source\n",
    "is that this project's ranking, rare-event evaluation, and capacity-aware decision\n",
    "design could be adapted to a follow-up queue. The card-trained coefficients have no\n",
    "astronomical meaning and cannot score stars or transients.\n",
    "\n",
    "An astronomy version would define a target such as a confirmed transient class,\n",
    "build physical features from light curves and measurement uncertainties, group by\n",
    "astronomical object, and hold out future observing periods. Precision controls wasted\n",
    "telescope time; recall describes missed targets. Telescope time and missed-science\n",
    "costs replace financial losses. Selection bias, incomplete confirmation labels, and\n",
    "survey sensitivity must be assessed. This notebook implements none of those domain\n",
    "tasks; it illustrates the transferable evaluation logic."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "098d274a",
   "metadata": {},
   "source": [
    "<a id=\"13-model-card-and-exports\"></a>\n",
    "## 13. Model card and exports\n",
    "\n",
    "The model card documents the evaluated candidate, population, assumptions, and\n",
    "limitations. Exports are aggregates and settings; they contain no customer IDs or\n",
    "transaction-level prediction file. The complete source code remains in the notebook."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f8756c5",
   "metadata": {},
   "source": [
    "### Cell 84 · Assemble the model card\n",
    "\n",
    "Record the frozen decision rule alongside results and limitations, rather than publishing a score without its population."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "step-084",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [],
   "source": [
    "# Assemble the model card\n",
    "model_card = {\n",
    "    'project': 'Credit-card fraud screening teaching portfolio', 'author': 'Gareth Grant',\n",
    "    'source_url': 'https://www.kaggle.com/datasets/priyamchoksi/credit-card-transactions-dataset',\n",
    "    'source_dataset_version': 1, 'source_sha256': source_sha256,\n",
    "    'provenance': 'Public educational benchmark; real-bank origin unverified; schema resembles simulation data',\n",
    "    'selected_implementation': selected_name, 'threshold': selected_threshold,\n",
    "    'scratch_l2': scratch_l2, 'library_l2': library_l2,\n",
    "    'train_fit_rows': len(train), 'train_fit_frauds': int(y_train.sum()),\n",
    "    'features': list(feature_names), 'category_reference': str(reference_category),\n",
    "    'temporal_protocol': split_summary.reset_index().astype(str).to_dict(orient='records'),\n",
    "    'cost_assumptions_mu': {'review': REVIEW_COST_MU, 'false_alert_friction': FALSE_ALERT_FRICTION_MU, 'missed_fraud': MISSED_FRAUD_COST_MU},\n",
    "    'validation_capacity_fraction': MAX_POLICY_ALERT_RATE,\n",
    "    'final_test_metrics': {key: float(value) for key, value in selected_metrics.items()},\n",
    "    'bootstrap': {'method': 'Customer-cluster percentile', 'repeats_requested': BOOTSTRAP_REPEATS,\n",
    "                  'usable_repeats': len(bootstrap_samples), 'clusters': bootstrap_clusters,\n",
    "                  'intervals': uncertainty_intervals.to_dict(orient='index')},\n",
    "    'data_quality': data_quality, 'environment': environment,\n",
    "    'intended_use': 'Learning and portfolio review; investigation-support prototype design',\n",
    "    'limitations': ['No verified real-bank or astronomical deployment', 'No causal savings estimate',\n",
    "                    'No new-customer performance guarantee', 'Constant illustrative loss assumption',\n",
    "                    'No prospective operational, fairness, or latency validation'],\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc08f643",
   "metadata": {},
   "source": [
    "### Cell 85 · Display a compact model card\n",
    "\n",
    "These fields give a reviewer the key evidence boundary at a glance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "step-085",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Model card</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Use</th>\n",
       "      <td>Learning and portfolio review; investigation-s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Candidate</th>\n",
       "      <td>Scikit-learn</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Threshold</th>\n",
       "      <td>0.050788</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Training fit rows</th>\n",
       "      <td>150,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Final test rows</th>\n",
       "      <td>194,502</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Provenance</th>\n",
       "      <td>Public educational benchmark; real-bank origin...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Evaluation</th>\n",
       "      <td>Future transactions; repeat customers may occur</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cost basis</th>\n",
       "      <td>Illustrative MU inputs, not observed savings</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Uncertainty</th>\n",
       "      <td>Conditional customer-cluster bootstrap within ...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                          Model card\n",
       "Use                Learning and portfolio review; investigation-s...\n",
       "Candidate                                               Scikit-learn\n",
       "Threshold                                                   0.050788\n",
       "Training fit rows                                            150,000\n",
       "Final test rows                                              194,502\n",
       "Provenance         Public educational benchmark; real-bank origin...\n",
       "Evaluation           Future transactions; repeat customers may occur\n",
       "Cost basis              Illustrative MU inputs, not observed savings\n",
       "Uncertainty        Conditional customer-cluster bootstrap within ..."
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Display a compact model card\n",
    "display(pd.Series({\n",
    "    'Use': model_card['intended_use'], 'Candidate': selected_name,\n",
    "    'Threshold': f'{selected_threshold:.6f}', 'Training fit rows': f'{len(train):,}',\n",
    "    'Final test rows': f'{len(test):,}', 'Provenance': model_card['provenance'],\n",
    "    'Evaluation': 'Future transactions; repeat customers may occur',\n",
    "    'Cost basis': 'Illustrative MU inputs, not observed savings',\n",
    "    'Uncertainty': 'Conditional customer-cluster bootstrap within final period',\n",
    "}, name='Model card').to_frame())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "11c3d650",
   "metadata": {},
   "source": [
    "### Cell 86 · Export aggregate evidence\n",
    "\n",
    "Setting WRITE_EXPORTS to False leaves the analysis in memory. CSV and JSON outputs are easy to inspect without rerunning the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "step-086",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved aggregate evidence: coefficients.csv, library_selection.csv, model_card.json, policy_choices.csv, portfolio_summary.md, scratch_selection.csv, split_summary.csv, test_metrics.csv, uncertainty_intervals.csv\n"
     ]
    }
   ],
   "source": [
    "# Export aggregate evidence\n",
    "if WRITE_EXPORTS:\n",
    "    EXPORT_DIR.mkdir(parents=True, exist_ok=True)\n",
    "    test_metrics.to_csv(EXPORT_DIR / 'test_metrics.csv')\n",
    "    split_summary.to_csv(EXPORT_DIR / 'split_summary.csv')\n",
    "    policy_choices.to_csv(EXPORT_DIR / 'policy_choices.csv')\n",
    "    coefficients.to_csv(EXPORT_DIR / 'coefficients.csv', index=False)\n",
    "    uncertainty_intervals.to_csv(EXPORT_DIR / 'uncertainty_intervals.csv')\n",
    "    scratch_selection.to_csv(EXPORT_DIR / 'scratch_selection.csv', index=False)\n",
    "    library_selection.to_csv(EXPORT_DIR / 'library_selection.csv', index=False)\n",
    "    (EXPORT_DIR / 'model_card.json').write_text(json.dumps(model_card, indent=2, allow_nan=False), encoding='utf-8')\n",
    "    print('Saved aggregate evidence:', ', '.join(sorted(path.name for path in EXPORT_DIR.iterdir() if path.is_file())))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca82c5f2",
   "metadata": {},
   "source": [
    "### Cell 87 · Create a portfolio summary from this run\n",
    "\n",
    "A short website introduction should communicate the work and its limits without exaggerating impact."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "step-087",
   "metadata": {
    "tags": [
     "teaching-step"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "I built an interpretable fraud-screening workflow with logistic regression implemented from first principles and checked against scikit-learn. The project separates training, model selection, review-policy selection, and future testing; preserves rare-event prevalence; and reports alert workload, missed fraud, probability errors, and customer-cluster uncertainty. On the held-out benchmark period, the frozen Scikit-learn policy achieved 67.0% recall and 22.1% alert precision while flagging 1.76% of transactions. These are educational benchmark results; the cost scenario is illustrative and no live savings are claimed."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create a portfolio summary from this run\n",
    "portfolio_summary = (\n",
    "    'I built an interpretable fraud-screening workflow with logistic regression implemented '\n",
    "    'from first principles and checked against scikit-learn. The project separates training, '\n",
    "    'model selection, review-policy selection, and future testing; preserves rare-event prevalence; '\n",
    "    'and reports alert workload, missed fraud, probability errors, and customer-cluster uncertainty. '\n",
    "    f'On the held-out benchmark period, the frozen {selected_name} policy achieved '\n",
    "    f'{selected_metrics.recall:.1%} recall and {selected_metrics.precision:.1%} alert precision '\n",
    "    f'while flagging {selected_metrics.alert_rate:.2%} of transactions. '\n",
    "    'These are educational benchmark results; the cost scenario is illustrative and no live savings are claimed.'\n",
    ")\n",
    "display(Markdown(portfolio_summary))\n",
    "if WRITE_EXPORTS:\n",
    "    (EXPORT_DIR / 'portfolio_summary.md').write_text(portfolio_summary + '\\n', encoding='utf-8')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "762da680",
   "metadata": {},
   "source": [
    "<a id=\"14-exercises-and-references\"></a>\n",
    "## 14. Exercises and references\n",
    "\n",
    "Keep each extension in new, clearly titled cells and give it a new confirmatory\n",
    "future test if it changes the model or decision policy.\n",
    "\n",
    "1. Explain why the no-alert baseline has high accuracy and zero fraud recall.\n",
    "2. Set a different training cap and assess optimisation time on training data.\n",
    "3. Examine whether an amount-by-category interaction improves model-validation AP.\n",
    "4. Compare a nonlinear challenger using exactly the same temporal protocol.\n",
    "5. Collect operational cost inputs and study policy sensitivity on selection data.\n",
    "6. Add a customer-disjoint evaluation for a new-customer use case.\n",
    "7. Use rolling future evaluation windows to study seasonal stability.\n",
    "8. Design an astronomy project using object-grouped light-curve data; start with a\n",
    "   domain-specific target definition rather than transferring card coefficients.\n",
    "\n",
    "### Sources and technical documentation\n",
    "\n",
    "Source links were checked on 5 October 2026. They support methodology and application\n",
    "context; they do not validate this project's performance or impact claims.\n",
    "\n",
    "| Source | What it supports |\n",
    "|---|---|\n",
    "| [Kaggle: Credit Card Transactions Dataset](https://www.kaggle.com/datasets/priyamchoksi/credit-card-transactions-dataset) | Public dataset named in the original notebook; verify extracted rows and lineage |\n",
    "| [Sparkov data generator: original repository](https://github.com/namebrandon/Sparkov_Data_Generation) | Simulation-family context; resemblance does not establish this CSV's exact lineage |\n",
    "| [scikit-learn: common pitfalls](https://scikit-learn.org/stable/common_pitfalls.html) | Split before fitting learned transformations; consistent preprocessing |\n",
    "| [scikit-learn: LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) | Library classifier, regularisation, sparse input, solver settings |\n",
    "| [scikit-learn: average precision](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html) | AP from scores and the distinction from trapezoidal PR area |\n",
    "| [scikit-learn: decision thresholds](https://scikit-learn.org/stable/modules/classification_threshold.html) | Separate score estimation from decisions; tune thresholds on independent selection rows |\n",
    "| [GAO: Fraud Risk Management Framework](https://www.gao.gov/products/gao-15-593sp) | Government prevention, detection, response, monitoring, and feedback context |\n",
    "| [Rubin Observatory: alert stream](https://rubinobservatory.org/explore/how-rubin-works/alerts) | Broker classification and follow-up prioritisation as an astronomy adaptation context |\n",
    "\n",
    "### Publishing the project\n",
    "\n",
    "Use the executed HTML as a readable page or embed it in the portfolio. Keep the\n",
    "benchmark provenance statement near the headline results, and link the notebook for\n",
    "readers who want to run the code. Publish only aggregate results. The downloadable\n",
    "bundle includes setup instructions and a source-data download helper; the large CSV\n",
    "is not bundled. Neither the notebook nor HTML installs a website comments service."
   ]
  }
 ],
 "metadata": {
  "authors": [
   {
    "name": "Gareth Grant"
   }
  ],
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.11"
  },
  "title": "Credit-card fraud: from a risk score to a defensible decision",
  "validation_engine": "Fresh Python process; sequential IPython cell execution with captured rich outputs"
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
