{ "cells": [ { "cell_type": "markdown", "id": "t18-cell-001", "metadata": {}, "source": [ "# Tutorial 18: Geo-Experiment Analysis with SyntheticDiD\n", "\n", "A practitioner walkthrough for marketing analytics teams measuring lift from a campaign that ran in a subset of geographic markets. The tutorial uses `SyntheticDiD` (Arkhangelsky et al. 2021) on a simulated DMA panel and walks through the fit, the diagnostics, and the stakeholder summary you need to ship the result." ] }, { "cell_type": "markdown", "id": "t18-cell-002", "metadata": {}, "source": [ "## 1. The Geo-Experiment Problem" ] }, { "cell_type": "markdown", "id": "t18-cell-003", "metadata": {}, "source": [ "Your team piloted a marketing campaign in 5 metros out of an 80-market panel last quarter. Sales data is available for all 80 markets, before and after launch. Did the campaign work, and by how much?\n", "\n", "This is a textbook geo-experiment in the small-treated regime: you didn't roll out to half your markets — you piloted in a handful, with the intention of scaling later if it worked. The data you have is weekly conversions from all 80 markets, and leadership wants a single number with a confidence interval they can act on." ] }, { "cell_type": "markdown", "id": "t18-cell-004", "metadata": {}, "source": [ "**Why this is hard.** Markets are heterogeneous in ways that don't show up at a glance. New York responds to different macro forces than Topeka — local economic conditions, demographic trends, competitor activity, and seasonal patterns all shape each market's underlying growth trajectory. With only 5 treated markets, you can't average those differences away the way you could with 50 or 100. And basic difference-in-differences assumes the treated and control markets are on parallel underlying trajectories, which rarely holds across cities you didn't randomly assign. Cluster-robust standard errors compound the problem: with 5 treated clusters, the small-cluster asymptotics that make cluster-SE valid simply don't kick in, and your reported standard error is unreliable." ] }, { "cell_type": "markdown", "id": "t18-cell-005", "metadata": {}, "source": "**Why diff-diff.** The diff-diff library implements Synthetic Difference-in-Differences following [Arkhangelsky et al. (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159) - both the unit weights and the time weights, the placebo standard error procedure from the paper, and full panel-data interpretability. Implementation details and any documented deviations from the R `synthdid` reference are tracked in [`docs/methodology/REGISTRY.md`](https://github.com/igerber/diff-diff/blob/main/docs/methodology/REGISTRY.md).\n\nThis tutorial sits in SDiD's documented sweet spot: a small number of treated markets in a larger pool of donor controls, where basic DiD's averaging doesn't help and you need a counterfactual built specifically for your treated markets. The library's [practitioner decision tree](../practitioner_decision_tree.rst#few-test-markets) puts SyntheticDiD on the \"Few Test Markets\" branch for exactly this reason.\n\nIf you've been using GeoLift, CausalImpact, or rolling your own synthetic control in pandas, this tutorial gives you the canonical SDiD implementation in Python with the diagnostics, inference, and stakeholder packaging in one place." }, { "cell_type": "code", "execution_count": 1, "id": "t18-cell-006", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:39.827552Z", "iopub.status.busy": "2026-04-22T21:17:39.827479Z", "iopub.status.idle": "2026-04-22T21:17:40.857211Z", "shell.execute_reply": "2026-04-22T21:17:40.856867Z" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "\n", "from diff_diff import (\n", " SyntheticDiD,\n", " generate_factor_data,\n", " plot_synth_weights,\n", " practitioner_next_steps,\n", ")" ] }, { "cell_type": "markdown", "id": "t18-cell-007", "metadata": {}, "source": [ "## 2. The Data" ] }, { "cell_type": "markdown", "id": "t18-cell-008", "metadata": {}, "source": [ "We'll use a synthetic panel that mirrors a small-treated marketing pilot:\n", "\n", "- **80 markets**, named `market_000` through `market_079`\n", "- **12 weekly periods**\n", "- **5 treated markets** (the pilot cohort; campaign launched in week 7)\n", "- **75 control markets** (the donor pool SDiD reweights to construct the synthetic control)\n", "- Outcome: weekly conversions per market (range roughly 600-2300)\n", "- Pre-period: weeks 1-6 · Post-period: weeks 7-12\n", "- True treatment effect: +300 conversions per treated market per week (about 20% lift on a baseline of ~1500)\n", "\n", "The data is generated with `generate_factor_data`, which produces a panel where markets have **interactive fixed effects** — different markets have different latent loadings on time-varying factors. In plain English: markets respond to different macro forces (local economic conditions, demographics, competitor activity), so their underlying growth trajectories aren't identical even in the absence of any campaign. This is the regime SDiD is designed for. Because the data is synthetic, the true treatment effect is known and we can verify SDiD recovers it." ] }, { "cell_type": "code", "execution_count": 2, "id": "t18-cell-009", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:40.858677Z", "iopub.status.busy": "2026-04-22T21:17:40.858527Z", "iopub.status.idle": "2026-04-22T21:17:40.868516Z", "shell.execute_reply": "2026-04-22T21:17:40.868282Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape: (960, 4)\n", "Markets: 80 (5 treated, 75 control)\n", "Weeks: 1-12 (pre: 1-6, post: 7-12)\n" ] } ], "source": [ "raw = generate_factor_data(\n", " n_units=80,\n", " n_pre=6,\n", " n_post=6,\n", " n_treated=5,\n", " n_factors=2,\n", " treatment_effect=300.0,\n", " factor_strength=150.0, # how much market-specific factors drive outcomes\n", " treated_loading_shift=0.5, # systematic difference in treated markets' factor loadings\n", " unit_fe_sd=80.0, # baseline-level heterogeneity across markets\n", " noise_sd=25.0, # within-market week-to-week noise\n", " seed=42,\n", ")\n", "\n", "# Schema note: generate_factor_data returns BOTH a time-varying treatment indicator\n", "# (column 'treated', 1 only in post-treatment for treated units) AND a unit-level\n", "# ever-treated indicator (column 'treat', 1 in every period for treated units).\n", "# SDiD requires the unit-level indicator, so we use raw[\"treat\"] below.\n", "df = pd.DataFrame({\n", " \"market_id\": raw[\"unit\"].apply(lambda u: f\"market_{u:03d}\"),\n", " \"week\": raw[\"period\"] + 1, # 1-indexed weeks 1..12\n", " \"treated\": raw[\"treat\"],\n", " \"conversions\": (raw[\"outcome\"] + 1500).round().astype(int),\n", "})\n", "\n", "print(f\"Shape: {df.shape}\")\n", "n_treated = len(set(df.loc[df['treated'] == 1, 'market_id']))\n", "print(f\"Markets: {len(set(df['market_id']))} ({n_treated} treated, {len(set(df['market_id'])) - n_treated} control)\")\n", "print(f\"Weeks: {df['week'].min()}-{df['week'].max()} (pre: 1-6, post: 7-12)\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "t18-cell-010", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:40.869577Z", "iopub.status.busy": "2026-04-22T21:17:40.869495Z", "iopub.status.idle": "2026-04-22T21:17:40.874320Z", "shell.execute_reply": "2026-04-22T21:17:40.874100Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
market_idweektreatedconversions
0market_000111628
1market_000211518
2market_000311613
3market_000411577
4market_000511603
\n", "
" ], "text/plain": [ " market_id week treated conversions\n", "0 market_000 1 1 1628\n", "1 market_000 2 1 1518\n", "2 market_000 3 1 1613\n", "3 market_000 4 1 1577\n", "4 market_000 5 1 1603" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "id": "t18-cell-011", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:40.875296Z", "iopub.status.busy": "2026-04-22T21:17:40.875214Z", "iopub.status.idle": "2026-04-22T21:17:40.882826Z", "shell.execute_reply": "2026-04-22T21:17:40.882608Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
week123456789101112
treated
01507.01492.01528.01509.01506.01494.01494.01506.01508.01503.01512.01495.0
11518.01592.01305.01508.01490.01576.01845.01830.01815.01898.01782.01923.0
\n", "
" ], "text/plain": [ "week 1 2 3 4 5 6 7 8 \\\n", "treated \n", "0 1507.0 1492.0 1528.0 1509.0 1506.0 1494.0 1494.0 1506.0 \n", "1 1518.0 1592.0 1305.0 1508.0 1490.0 1576.0 1845.0 1830.0 \n", "\n", "week 9 10 11 12 \n", "treated \n", "0 1508.0 1503.0 1512.0 1495.0 \n", "1 1815.0 1898.0 1782.0 1923.0 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Mean conversions by treatment group and week (.round(0) for cleaner display)\n", "df.groupby([\"treated\", \"week\"])[\"conversions\"].mean().round(0).unstack()" ] }, { "cell_type": "code", "execution_count": 5, "id": "t18-cell-012", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:40.883777Z", "iopub.status.busy": "2026-04-22T21:17:40.883709Z", "iopub.status.idle": "2026-04-22T21:17:40.988502Z", "shell.execute_reply": "2026-04-22T21:17:40.988246Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAHWCAYAAAB5SD/0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACvCElEQVR4nO3dB3hTZRcH8NNdSksHdAFl770RBARZMh0ogoAoiAv3Hp8DF+6FAxEUFBQHggKyQfbee28oLbS0paW73/N/05sm6SApSbP+v+e59GaQ3ORmnJx73vN65OXl5QkRERERkZvwtPcGEBERERGVJQbARERERORWGAATERERkVthAExEREREboUBMBERERG5FQbARERERORWGAATERERkVthAExEREREboUBMBERERG5FQbAROQU/vvvP/Hw8FB/qXRq1Kgh9913n703w+U402tT29Y///zT3ptCZFcMgIkcxNSpU9UXk7b4+/tLvXr15LHHHpMLFy6UyTa89957MmfOHHFXjvD4//33X3nzzTftug2uaN26dep5vXz5sr03xaV888036rOLyNkwACZyMG+99Zb8/PPP8tVXX0nHjh3l22+/lQ4dOkhaWppbBID25CgB8Lhx4+y6Da4aAON5ZQBsXQyAyVl523sDiMhYnz59pE2bNmr9gQcekIoVK8qnn34qf//9twwdOrTI/5Oamirly5cv0+20x306End//K4sNzdXMjMz1VEYV5Gdna0eFxHpMANM5OBuvvlm9ff48ePqL2o4AwMD5ejRo9K3b18JCgqSYcOGqcvwBff5559L48aN1Zd3ZGSkPPTQQ5KYmHjN+0HZBYK6adOm6cswtHpRHDrG6X379sk999wjoaGh0qlTJ/3/nT59urRu3VrKlSsnYWFhMmTIEDl9+rTR7Xft2lWaNGmibqNbt24SEBAgVapUkQ8//LDQtpw5c0Zuu+02FWBGRETI008/LRkZGYWud/jwYRk0aJBERUWpx1u1alV130lJSfrrXLx4UQ4cOHDNDLqtH//q1avlrrvukmrVqomfn5/ExMSox3X16lX9dXB/X3/9tX57tEVj7v7Ny8uTd955Rz0feJ7xfO/du1euJSsrS23//fffX+iy5ORkdZ/PPfec/rwJEyaobcF94DnBD7dffvnlmveTnp6unlOU+OA2o6Oj5Y477lCvaQ32xbPP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+EKtP/nkk+Lr62vV21+457zKMJ1PStefFx3sL28MaOSWX7buICU9Sx78aausP3ZJnfbx8pDP7m4h/ZtVFmdROzxQPr6ruSqBgPf+3S9NqgSX2SQdZeG/g3Eye/tZtV7B31veurWxuCNmgG38BVPckp2dbfZ1TacqLe56lnr00UfVL/JNmzbJoEGDpF69etK4cWN55plnZMOGDfrrffrppyo4Ll++vMoQ4/9duXKlUAZ03rx5Ur9+fQkICFBT3aalpcm0adOkZs2aEhERIU888YRRgFejRg15++23ZejQoeq2q1SpIl9//bXRNpp734beeecddX9BQUHywAMPyEsvvWSUUUXd42233SYff/yxREdHS8WKFVXAX9KUsDt37pRu3bqp26xQoYK0bt1atmzZIv/995/cf//9kpSUpJ5LLMjgws8//yxt2rRR/ycqKkruueceiYvT1VsB/i+uv2DBAnV7yMBPnz5dxo0bp+5Puz08RiJbwHsUi7Uh+H1k+jaj4Feb/hbn43JyLRevZMjQ7zfog98AXy/54b62ThX8am5pEiWPdNXNgpadm6cy2nHJxq9lZ4X6Zgx807zar6FdW9HZEzPANjR+/PhiL6tbt64KiDQIxooLwDBK23CwCrI2RX1pvfHGG2ZvW0JCgixcuFDeffddFVyaMgwqPT095csvv1SB7LFjx1QQ+sILL8g333yjvw62B9eZOXOmpKSkyB133CG33367up358+fL4cOHVblCp06d1F8NMs+vvPKKCvqQeUYmCoF4z549zb5vQzNmzFCPCZcju43t+eSTT9T/N7RixQoV/OLvkSNH1DYhSB4zZkyRtzts2DBp2bKlfPvtt+Ll5SU7duxQg4g6duwon3/+ubz++uty8KCuf2RgoK6GDPsTAT5+FCDwxQ8L7Md///3X6LYRoGP/owzF399fnn32WbVvli5dqi4PDg42Y48SOQaUOSDzW1SxA87DQXBc3rNRlL71FDm3M4lpMmLKJjl+MVWdDgnwkR/vaystq+kmmXBGz/asJ7vOXFa9geNTMuTRGdvk1wdvcPrZ0T5edFA/C1/H2hVlcJsYcVcMgN0Ugj4ccm/QoME1r/vUU08ZZW2RYX344YeNglAEewgOa9fW/WpGBhgZ0AsXLqgAG0EtMqgIOA0DYASpCAAB11m7dq189tln+gDYnPs2NGHCBBk9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8ff35xztDoT7xb33TWZmpqSnp+s/1zAzHJWM7xnHxX3jmHLtsF+0OK2keSbAI+9a1yDlzJkzEhMTY+/NICIiIqJrOH36tFStWrXYyxkAW/Ar5ty5cxIUFCQeHh723hyngl9j+PGAF2OFChXsvTmUj/vFcXHfOCbuF8fFfeOYku2wXxDWIutcuXLlErPOLIEwE57Ekn5J0LXhxc8PJsfD/eK4uG8cE/eL4+K+cUwVyni/BAcHX/M6LJQhIiIiIrfCAJiIiIiI3AoDYLI5Pz8/eeONN9RfchzcL46L+8Yxcb84Lu4bx+TnwPuFg+CIiIiIyK0wA0xEREREboUBMBERERG5FQbARERERORWGAATERERkVthAEw2M378eGnbtq2aPS8iIkJuu+02OXjwoL03i0y8//77anbDp556yt6b4vbOnj0rw4cPl4oVK0q5cuWkadOmsmXLFntvltvLycmR1157TWrWrKn2S+3ateXtt99WM05R2Vq1apUMGDBAzfKFz605c+YYXY598vrrr0t0dLTaVz169JDDhw/bbXvdxaoS9ktWVpa8+OKL6vOsfPny6jr33nuvml3XnhgAk82sXLlSxo4dKxs2bJAlS5aoN0GvXr0kNTXV3ptG+TZv3izfffedNGvWzN6b4vYSExPlxhtvFB8fH1mwYIHs27dPPvnkEwkNDbX3prm9Dz74QL799lv56quvZP/+/er0hx9+KBMmTLD3prkdfH80b95cvv766yIvx3758ssvZeLEibJx40YVcPXu3VvS09PLfFvdSWoJ+yUtLU22bdumfkTi719//aWSYQMHDhR7Yhs0KjPx8fEqE4zAuEuXLvbeHLd35coVadWqlXzzzTfyzjvvSIsWLeTzzz+392a5rZdeeknWrl0rq1evtvemkIn+/ftLZGSkTJkyRX/eoEGDVIZx+vTpdt02d4ZM4+zZs9XRRUA4g+zis88+K88995w6LykpSe27qVOnypAhQ+y8xe65X4pLvrRr105Onjwp1apVE3tgBpjKDD6IICwszN6bQiIqO9+vXz91iJDs759//pE2bdrIXXfdpX4otmzZUr7//nt7bxaJSMeOHWXZsmVy6NAhdXrnzp2yZs0a6dOnj703jQwcP35cYmNjjT7TgoODpX379rJ+/Xq7bhsVjgcQKIeEhIi9eNvtnsmt5ObmqhpTHOJt0qSJvTfH7c2cOVMdisKvcHIMx44dU4fZn3nmGXnllVfUvnniiSfE19dXRo4cae/NE3fPzicnJ0uDBg3Ey8tL1QS/++67MmzYMHtvGhlA8AvI+BrCae0ysr/09HRVEzx06FCpUKGC3baDATCVWbZxz549KmtC9nX69Gl58sknVV22v7+/vTeHDH4kIgP83nvvqdPIAOM9g1pGBsD29fvvv8uMGTPkl19+kcaNG8uOHTvUD3ocbue+ITIfxgINHjxYlavgB789sQSCbO6xxx6TefPmyYoVK6Rq1ar23hy3t3XrVomLi1P1v97e3mpBXTYGjmAd2S0qexi13qhRI6PzGjZsKKdOnbLbNpHO888/r7LAqCHFSPYRI0bI008/rTrdkOOIiopSfy9cuGB0Pk5rl5H9g9+TJ0+qBIw9s7/AAJhsBr/wEPyiGH758uWqhRDZX/fu3WX37t0qi6UtyDzicC7WcYiXyh7Kg0zbBKLmtHr16nbbJioYxe7pafx1ifcJsvbkOPAdg0AX9doalK6gG0SHDh3sum3uLis/+EVLuqVLl6pWj/bGEgiyadkDDhn+/fffqhewVoOFQQkYPU32gX1hWoeNVkH4QGJ9tv0go4jBViiBwBfFpk2bZNKkSWoh+0J/U9T8YrQ6SiC2b98un376qYwaNcrem+aW3WuOHDliNPANP9wxuBr7B6Up6GpTt25dFRCj9RZKVUrqSEC23S84unXnnXeqcSc4GoyjjFo8gMsxzsEu0AaNyBbw8ipq+fHHH+29aWTipptuynvyySftvRlub+7cuXlNmjTJ8/Pzy2vQoEHepEmT7L1JlJeXl5ycrN4f1apVy/P398+rVatW3quvvpqXkZFh701zOytWrCjye2XkyJHq8tzc3LzXXnstLzIyUr2Punfvnnfw4EF7b7Zb75fjx48XGw/g/9kL+wATERERkVthDTARERERuRUGwERERETkVhgAExEREZFbYQBMRERERG6FATARERERuRUGwERERETkVhgAExEREZFbYQBMRERERG6FATAREZmla9euaqpZIiJnxwCYiMjJTJw4UYKCgiQ7O1t/3pUrV8THx0cFqYb+++8/8fDwkKNHj9phS4mIHBMDYCIiJ9OtWzcV8G7ZskV/3urVqyUqKko2btwo6enp+vNXrFgh1apVk9q1a9tpa4mIHA8DYCIiJ1O/fn2Jjo5W2V0N1m+99VapWbOmbNiwweh8BMy5ubkyfvx4dXm5cuWkefPm8ueffxrd7p49e6RPnz4SGBgokZGRMmLECLl48WKx2zF//nwJDg6WGTNm2OiREhHZBgNgIiInhKAW2V0N1lH+cNNNN+nPv3r1qsoI47oIfn/66SdVPrF37155+umnZfjw4bJy5Up13cuXL8vNN98sLVu2VJnlhQsXyoULF2Tw4MFF3v8vv/wiQ4cOVcHvsGHDyuhRExFZh7eVboeIiMoQgloMSEMdMALd7du3q+A3KytLBbmwfv16ycjIUIFxo0aNZOnSpdKhQwd1Wa1atWTNmjXy3Xffqf/31VdfqeD3vffe09/HDz/8IDExMXLo0CGpV6+e/vyvv/5aXn31VZk7d676v0REzoYBMBGRE0JQm5qaKps3b5bExEQVoIaHh6uA9P7771d1wCh/QKCLeuG0tDTp2bOn0W1kZmaqoBd27typMscofzCFAXRaAIyyibi4OFm7dq20bdu2jB4tEZF1MQAmInJCderUkapVq6qgFQGwlomtXLmyytquW7dOXYayBgTAWs1ulSpVjG7Hz89P/cV1BgwYIB988EGh+0K9sQYB87Zt21R2uE2bNqrDBBGRs2EATETkxGUQyPIiAH7++ef153fp0kUWLFggmzZtkkceeUSVPyDQPXXqVLElC61atZJZs2ZJjRo1xNu7+K8GdJP45JNPVAbay8tLlU4QETkbDoIjInLiABh1vDt27DAKbLGO2l6UOOA66Bn83HPPqYFv06ZNUyUNyOJOmDBBnYaxY8dKQkKCGtiGsgpcZ9GiRaqcIicnx+h+UQ6B7DICZk6MQUTOiBlgIiInheAWA+AaNGig2pYZBsApKSn6dmnw9ttvqxphdIM4duyYhISEqKzvK6+8oi+dQF3viy++KL169VKD56pXry633HKLeHoWzpXgtpcvX67PBCMrTETkLDzy8vLy7L0RRERERERlhSUQRERERORWGAATERERkVthAExEREREboUBMBERERG5FQbARERERORWGAATERERkVthAExEREREboUBMBERERG5FQbARERERORWGAATERERkVthAExERERE4k7+D4r432b0cA46AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "weeks = sorted(set(df[\"week\"]))\n", "treated_means = [df[(df.treated == 1) & (df.week == w)][\"conversions\"].mean() for w in weeks]\n", "control_means = [df[(df.treated == 0) & (df.week == w)][\"conversions\"].mean() for w in weeks]\n", "\n", "# Derive group sizes from the data so legend labels can't go stale.\n", "n_tr = len(set(df.loc[df[\"treated\"] == 1, \"market_id\"]))\n", "n_co = len(set(df[\"market_id\"])) - n_tr\n", "\n", "fig, ax = plt.subplots(figsize=(8, 5))\n", "ax.plot(weeks, treated_means, marker=\"o\", label=f\"Treated markets (n={n_tr})\", color=\"C0\", linewidth=2)\n", "ax.plot(weeks, control_means, marker=\"s\", label=f\"Control markets (n={n_co})\", color=\"C1\", linewidth=2)\n", "ax.axvline(6.5, color=\"gray\", linestyle=\"--\", label=\"Campaign start\")\n", "ax.set_xlabel(\"Week\")\n", "ax.set_ylabel(\"Mean conversions per market\")\n", "ax.set_title(\"Pre-trends: treated vs control markets\")\n", "ax.legend()\n", "ax.grid(True, alpha=0.3)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "t18-cell-013", "metadata": {}, "source": [ "The two lines hover around similar levels in the pre-period (weeks 1-6) but they're not on identical trajectories — small underlying differences are visible if you look closely. After week 7 the treated mean jumps above control. The challenge is that with only 5 treated markets, even small pre-period differences are hard to interpret by eye, and the bigger problem is that some of the divergence comes from underlying market heterogeneity that won't show up in the average pre-trend at all. SDiD addresses both: it constructs a counterfactual built specifically for *these* 5 treated markets (rather than averaging all 75 controls equally), and it uses time weights to make the pre-period comparison robust to baseline differences." ] }, { "cell_type": "markdown", "id": "t18-cell-014", "metadata": {}, "source": [ "## 3. SyntheticDiD - The Idea and the Fit" ] }, { "cell_type": "markdown", "id": "t18-cell-015", "metadata": {}, "source": "Synthetic Difference-in-Differences finds two sets of weights:\n\n1. **Unit weights** ($\\omega_j$): a weighted blend of control markets whose pre-period trajectory matches the treated markets' pre-period trajectory.\n2. **Time weights** ($\\lambda_t$): a weighting of pre-treatment periods that emphasizes the baseline weeks most informative for the comparison.\n\nThe ATT estimator combines both: take the time-weighted average of (treated mean minus unit-weighted control mean), then subtract the same quantity computed in the pre-period. The unit weights make the synthetic control match the treated group; the time weights make the comparison robust to pre-treatment level differences.\n\nThis is the method introduced in [Arkhangelsky, Athey, Hirshberg, Imbens, & Wager (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159). Algorithmic details and any documented deviations from the R `synthdid` reference live in [`docs/methodology/REGISTRY.md`](https://github.com/igerber/diff-diff/blob/main/docs/methodology/REGISTRY.md)." }, { "cell_type": "code", "execution_count": 6, "id": "t18-cell-016", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:40.989623Z", "iopub.status.busy": "2026-04-22T21:17:40.989544Z", "iopub.status.idle": "2026-04-22T21:17:41.228821Z", "shell.execute_reply": "2026-04-22T21:17:41.228493Z" } }, "outputs": [], "source": [ "# Note: variance_method, n_bootstrap, and seed are CONSTRUCTOR kwargs.\n", "# They are not arguments to .fit().\n", "model = SyntheticDiD(variance_method=\"placebo\", n_bootstrap=100, seed=42)\n", "results = model.fit(\n", " df,\n", " outcome=\"conversions\",\n", " treatment=\"treated\",\n", " unit=\"market_id\",\n", " time=\"week\",\n", " post_periods=[7, 8, 9, 10, 11, 12],\n", ")" ] }, { "cell_type": "code", "execution_count": 7, "id": "t18-cell-017", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.230093Z", "iopub.status.busy": "2026-04-22T21:17:41.230011Z", "iopub.status.idle": "2026-04-22T21:17:41.231757Z", "shell.execute_reply": "2026-04-22T21:17:41.231511Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "===========================================================================\n", " Synthetic Difference-in-Differences Estimation Results \n", "===========================================================================\n", "\n", "Observations: 960\n", "Treated: 5\n", "Control: 75\n", "Pre-treatment periods: 6\n", "Post-treatment periods: 6\n", "Zeta (unit weights): 724.4726\n", "Zeta (time weights): 0.000310\n", "Noise level: 309.5577\n", "Pre-treatment fit (RMSE): 33.7142\n", "Variance method: placebo\n", "\n", "---------------------------------------------------------------------------\n", "Parameter Estimate Std. Err. t-stat P>|t| \n", "---------------------------------------------------------------------------\n", "ATT 311.8536 7.3125 42.647 0.0099 **\n", "---------------------------------------------------------------------------\n", "\n", "95% Confidence Interval: [297.5213, 326.1858]\n", "CV (SE/abs(ATT)): 0.0234\n", "\n", "---------------------------------------------------------------------------\n", " Top Unit Weights (Synthetic Control) \n", "---------------------------------------------------------------------------\n", " Unit market_006: 0.0313\n", " Unit market_035: 0.0306\n", " Unit market_033: 0.0286\n", " Unit market_022: 0.0261\n", " Unit market_044: 0.0256\n", " (73 units with weight > 0.001)\n", "\n", "Signif. codes: '***' 0.001, '**' 0.01, '*' 0.05, '.' 0.1\n", "===========================================================================\n" ] } ], "source": [ "print(results.summary())" ] }, { "cell_type": "markdown", "id": "t18-cell-018", "metadata": {}, "source": [ "**Plain-English interpretation.** SDiD estimates that the campaign lifted weekly conversions by **about 312 per treated market** (95% CI: 298 to 326), which is roughly a **21% lift** on a baseline of ~1500 weekly conversions per market. The true treatment effect in the synthetic DGP was 300, so the point estimate is within 4% of the truth and the 95% CI comfortably covers it.\n", "\n", "The 95% CI is constructed from `results.conf_int` (note: the field name is `conf_int`, not `ci`), and the p-value crosses below the 0.01 significance threshold. With only 5 treated markets, that the CI covers the true effect this cleanly is exactly what SDiD's localization is designed to deliver — and per Arkhangelsky et al. (2021), it's the regime where SDiD dominates basic DiD on the same data." ] }, { "cell_type": "markdown", "id": "t18-cell-019", "metadata": {}, "source": [ "## 4. Diagnostics - Who Is the Synthetic Control?" ] }, { "cell_type": "markdown", "id": "t18-cell-020", "metadata": {}, "source": [ "SDiD's interpretability advantage: you can see exactly which control markets are doing the work. The unit weights tell you the weighted blend; the time weights tell you which baseline weeks the method emphasized; the pre-treatment fit RMSE tells you how well the synthetic match worked.\n", "\n", "This is not a black box - you can show stakeholders the receipts." ] }, { "cell_type": "code", "execution_count": 8, "id": "t18-cell-021", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.232798Z", "iopub.status.busy": "2026-04-22T21:17:41.232728Z", "iopub.status.idle": "2026-04-22T21:17:41.235765Z", "shell.execute_reply": "2026-04-22T21:17:41.235563Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Top 10 unit weights:\n", " unit weight\n", "market_006 0.031326\n", "market_035 0.030555\n", "market_033 0.028563\n", "market_022 0.026090\n", "market_044 0.025561\n", "market_051 0.025294\n", "market_079 0.024434\n", "market_077 0.024176\n", "market_011 0.020970\n", "market_019 0.020149\n", "\n", "Total weight: 1.0000 (should be ~1.0)\n", "Markets with non-trivial weight (> 0.01): 48\n" ] } ], "source": [ "unit_weights = results.get_unit_weights_df()\n", "print(\"Top 10 unit weights:\")\n", "print(unit_weights.head(10).to_string(index=False))\n", "print(f\"\\nTotal weight: {unit_weights['weight'].sum():.4f} (should be ~1.0)\")\n", "print(f\"Markets with non-trivial weight (> 0.01): {(unit_weights['weight'] > 0.01).sum()}\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "t18-cell-022", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.236762Z", "iopub.status.busy": "2026-04-22T21:17:41.236687Z", "iopub.status.idle": "2026-04-22T21:17:41.294144Z", "shell.execute_reply": "2026-04-22T21:17:41.293879Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9kAAAJOCAYAAACjoMSlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJkElEQVR4nO3dCXgUVfb//9OBsAdCIjvIKoKIgDoouIsDLoPbjCAqKKMIiji4i4qKiiBuMK4jioqMG+P2HRZREBUFWVREdERBAUUWZQ2Gvfv/fK7/6l+n6YQkVuhU+v16niK9VFdX9e1u+txz7q1QJBKJGAAAAAAA+MPS/vgmAAAAAACAEGQDAAAAAOATgmwAAAAAAHxCkA0AAAAAgE8IsgEAAAAA8AlBNgAAAAAAPiHIBgAAAADAJwTZAAAAAAD4hCAbAAAAAACfEGQDAIpl+fLlFgqF7IEHHtgvz3fiiSe6BQW78847XbskU5MmTeySSy6x0u6PvKf0uEMPPdT3fQIABB9BNgAExJdffml/+9vfrHHjxlapUiVr0KCB/fnPf7ZHHnmkRJ93ypQpLnDbH77++mv3XArg94c33njDTjvtNDvggAOsQoUKVr9+fevRo4e99957Jfq8L774oo0ePdqSqaAg8ddff3WBul/tXpR2HTVqlHvuzz//PM/tkUjEatas6e774Ycf8ty3fft2q1ixol1wwQVW2vz888/u2BcuXJjsXQEA7CcE2QAQALNnz7YjjzzSvvjiC+vXr589+uijdtlll1laWpqNGTOmxIPsYcOG2f6gYEzPlSgYe+edd9ziBwVsffv2tXPPPdfWrl1r1157rT355JM2cOBA+/77761Lly7uNS/LQXZJWrJkiY0dO7ZQ7Rrv2GOPdX8/+uijPLd/9dVXtmnTJitfvrx9/PHHee6bP3++7dy5M/rYwvLzPVVQkK1jJ8gGgNRRPtk7AADYt+HDh1uNGjVcMJGZmZnnvnXr1lkqUKbZLw8++KA999xzNnjwYHvooYfylFffeuut9sILL7hgrjRQllbHrg6VoFBWubjUmaRKDQXZgwYNit6uwDo7O9vdr/suuuii6H1eQF7UINvP9xQAAJ7g/I8NACls2bJl1qZNm70CbKldu3b08gknnGDt2rVLuI2DDz7YunXrttd46qeeesqaN2/uAqM//elPLpD3aFztY4895i5rfW+JV9A2PN98840rd8/KynJBlIKl//u//4ver6D3vPPOc5dPOumk6HO9//77+Y6fVQCqUtyWLVu6bdarV89lp/V65Wfbtm02YsQIa9WqlTv+RMfTu3dv69ixY/S6stvaN+17lSpV7Oijj7bJkyfneYz2U9t69dVXXadIw4YN3T4pK7506dLoejoGPXbFihXRY9QY5thtvPzyy3bbbbe5IQF6vi1btrj7J06caEcccYRVrlzZlbgr0Fy1apXtz7HeOha9L/ReVMePKgJyc3PzHZO9r3ZNFPjqPRSfrdb1Tp062THHHJPwPu2PV/4eDoddpYA+M2qDOnXqWP/+/W3jxo15HpfoPaV2OfPMM61q1arus3XNNdfYtGnT8t1nZel1XGontZfK3T1aX8ciep28Y9drIt9995399a9/tbp167r91Hvm/PPPt82bN++zPQAApVfp6KYHABRI47DnzJljixcvLnCyJQWHKiePX09B77fffusCt/iy5ZycHBeA6Me/AgQFqQoq09PT3e0qd3333XdddjeRfW3DK/VVcKQg5Oabb3YBjILRs88+21577TU755xz7Pjjj7err77a/vnPf9ott9xirVu3do/1/sbbs2eP/eUvf7EZM2a4wOQf//iH2w/tq45fQX8iynpu2LDBZbHLlSu3z9de5eSdO3d2gaT2T9nU559/3gVi//nPf9y+xxo5cqTLOl9//fUuWNLrceGFF9rcuXOjmXLd/tNPP9nDDz/sbqtWrVqebdx9990u2NQ2duzY4S4rMFOgpqBNnQTaLw0VUICp8cuJOmBKgsasN23a1O3DZ599Zk8//bQLRu+7776E6xe1Xb2M9KxZs1xnkNcBoePUEAl1ftxxxx2udFzHrNJ/lfYrAPey/Xoveq+XnltjuDXEQq+TtuO9L+P99ttvdvLJJ9vq1avd+0nBr97fM2fOTLi+gvZTTz3Vvd/1uuj9cNNNN1nbtm3dWH8d41133WW33367XX755Xbccce5x+n9pPJ2dXqpfZWx13Opw2TSpEnu2NSBAQAIqAgAoNR75513IuXKlXNLp06dIjfeeGNk2rRpkZ07d+ZZb9OmTZFKlSpFbrrppjy3X3311ZGqVatGtm7d6q7/8MMPEf0XkJ2dHdmwYUN0vbfeesvd/t///jd628CBA91t8YqyjS5dukTatm0b2b59e/S2cDgc6dy5c+Sggw6K3jZx4kT32JkzZ+71fCeccIJbPOPGjXPrPvTQQ3utq23nZ8yYMe5xb7zxRqQwBg8e7NafNWtW9LacnJxI06ZNI02aNIns2bPH3aZ91nqtW7eO7NixY6/n+/LLL6O3nXHGGZHGjRvv9VzeNpo1axbJzc2N3q52rl27duTQQw+NbNu2LXr7pEmT3Pq333579LY77rgjYXvF02vZpk2bhPf98ssvbhvaVvx2//73v+dZ95xzznHvgVg6tosvvrhQ7ZrI5MmT3fovvPCCu7569Wp3/YMPPnCvvT4HWkcWL17s7hs+fLi7rnbS9X//+995tvn222/vdXv8e+rBBx9067z55pvR2/R6t2rVaq/91+N02/jx46O3qd3r1q0b+etf/xq9bf78+W69Z599Ns/+fP755+52vTYAgLKFcnEACADNIq5MtrKnmvxM2VFlwZQZji25VvbrrLPOspdeesll+LyM7yuvvOKyxsogx+rZs6ebsdnjZdqUhS6sfW1DWWPN1q1MnzLNmrlay/r1690xqGS2OCXPyoCrZDp23K6noFNYeaXXGRkZhZ74TdnT2PG+yjwrM6lMq8qFYyl7GjvWtziv6cUXX+xKwj0LFixwY++vvPJKV1bsOeOMM1zZe3zpekkaMGBAnus6PrWl97r6QZleZaW9sdZe9llZfL32hx12WLRk3PvrtY9K6vU50GfGe69pUZm9HptfVlrefvtt95nS58yj11vVIYloe7Fjw9Xueq8Upq29TLVK0ePL7QEAwUaQDQABoQDj9ddfdyWq8+bNsyFDhrigVeOcYwO9Pn362MqVK125rUyfPt2VFquUPN6BBx6Y57oXLMePXS3IvrahMbwK+IcOHWq1atXKs6jst7iTt2nctcaZF3WCsurVq7u/eu0KQ2N09TzxvHJn3e/3a6py7Ph9kET7oSA7fh/8kqizwo/j2xeVgWs8dWwg3aFDh2jHg4Lw2Pu84FbUaaNyfJWwx7/ftm7dWuB7Ta+jhhnEH3eLFi0Srq8x1PHr6vUozGuhNtas9iq3V2eROpw0/wHjsQEg+BiTDQAB400MpUUTfilzquydF7Dqx7omepowYYIbD6u/Gu95yimn7LWt/MYke1nwwtjXNjQJlWh8sTfxWrz8gpiSoKDUO++4svt+8+M1jc1ilxRlaDUJXCJeZjU2a+7n8RWGMtM6rZrGJyuQVmDt0eVx48bZrl27XLZbWWpvX/V+U4D973//O+F2FWz75Y++FprlXhPEvfXWW+5UYho/rrHun3zyiQvgAQDBRCYbAAJMM3SLJmqK/eF/wQUXuEmYlFF78803rVevXoWa5CuRgkqvC6NZs2bur8p9FegnWrzS7aI8lzKOOh+zAq2iBm/KNqqkXqX0hZl0Ts+TaLZ07/6Sfk2950i0H7qtOPugx/z4448JA23veYqzXb/eQ2onBauqxNCEZZo4LzbI1n6rTF6l2bGl/HpfqHxd6yd6r+U3+753vKqQiA+SY2eH9/vYNUmaJiT88MMPXfWJhk6ocwEAEFwE2QAQABpHmig7pvHCicqIVRquAFuzLKtENnbcaFF547iVUSwOZRV1mqR//etfeToDPL/88kuxnkunPtJYW80aXZRMok61pBmg//e//7m/idZV9l8l+XL66ae7yxoTHzsLtU5bppmvDznkECsqHWdRyoLVmaLXUcGXZqP2TJ061R2HxmYXlY5LHRRql1jKBD/xxBOuYkKnH/NDcd5DXuCs85hrP2Mz2Xrddbo273RZsUG2xv6r80QztMfbvXt3gfugSgsFubHzHOg0cWPHjjW/j11j2LU/8QG3xqLHtjEAIHgoFweAANDkXirh1emiVO6s0//otEWa0EwBh0rGY2n8qk7hpTJyjR0+/PDDi/3cKsUVlbIqCFFGXKfMKgqNNVUgpCBCk0gpu61x4gpcdSorTeYm7du3d9vX6aAUhOq82zqlUuy5wGPHno8fP96Na1UQrAm4FPwq86kJwjQBXH5uuOEGd1oxleuqA0Pj2lVSv2bNGpf51/b0+opOOaast07JpNdA58rWKbx0WihNvuadNqqor6naTvvuTebVvXv3fNdXFYBeE7WzzoWuygTvFF5qf53Luaj0fF27dnWP1fF6pylTgKny7Hvuuce30uqitGvs2O9GjRq594iOsX79+nnu1/7q9VemODbLrddHnUsqu164cKE7Rr1+Gqutz4NeM7V3InqcOm30+uoUXgrkVXbulaIXJyOvzLrGmKuDRBUbCrqPOuoo956/6qqr3DnENexDAbdOk6fXSR1IAIAAS/b05gCAfZs6dao7dZJOJVStWrVIhQoVIi1atIgMGjQosnbt2oSPGTVqlDtF0L333pvv6bfuv//+ve6LP3XT7t273fPUqlUrEgqFoqeHKso2ZNmyZZE+ffq4Uxylp6dHGjRoEPnLX/4S+c9//pNnvbFjx7pTWOk0TbGnTYo/3ZLoNFe33nqrO52Wtqlt/+1vf3PPVRh67q5du0aysrIi5cuXj9SrVy/Ss2fPyPvvv7/Xvmu7mZmZ7hRpHTt2dKfPSnT6rfhTMnmvU+wpnHQqtQsuuMBtT/d5p/PKbxueV155JdKhQ4dIxYoV3T5feOGFkZ9++inPOoU9hZfolGp33nmne19pmzrN29FHHx2ZMGHCXut629XpvWLpuHS7jjO/U3gV1K4F6dWrl1tXr1U8nbrNO2VaIk899VTkiCOOiFSuXDmSkZHhTiGnU9/9/PPP0XUSvae+//57d4o1PU7v+euuuy7y2muvuef65JNP9nkKNB13/OnZdFq7Qw45xL3HvPeCnkef6ebNm7v3lNrzpJNOikyfPn2frwsAoHQL6Z9kB/oAAP8pY6cspU4zFT8jNIDCGz16tPssqepCp/gCAKAgBNkAUAbpq10TPGVnZxd4XmAAeWlCtdjZ3TUmW8MvNM7722+/Teq+AQCCgTHZAFCGaEyyxtQqsNYpqnRqIACFd+6557rKD40j1/hxTYKnmeTzOyUYAADxyGQDQBmi0vCmTZu6iZY0+dfw4cOTvUtA4ErDn376afdZUvZas8ffeOON1rNnz2TvGgAgIAiyAQAAAADwCefJBgAAAADAJwTZAAAAAAD4hInPUkA4HLaff/7ZMjIyLBQKJXt3AAAAgDJHo3BzcnKsfv36lpZGLjOVEWSnAAXYjRo1SvZuAAAAAGXejz/+aA0bNkz2biCJCLJTgDLYsmLFCjfjMIJXifDLL79YrVq16BUNGNou2Gi/4KLtgo32C65Ub7stW7a4xJb32xupiyA7BXgl4tWrV3cLgvcf1vbt213bpeJ/WEFG2wUb7RdctF2w0X7BRdv9juGZSN13PwAAAAAAPiPIBgAAAADAJwTZAAAAAAD4hCAbAAAAAACfEGQDAAAAAOATgmwAAAAAAHxCkA0AAAAAgE8IsgEAAAAA8AlBNgAAAAAAPiHIBgAAAADAJwTZAAAAAAD4hCAbAAAAAACfEGQDAAAAAOATgmwAAAAAAHxCkA0AAAAAgE8IsgEAAAAA8AlBNgAAAAAAPiHIBgAAAADAJwTZAAAAAAD4hCAbAAAAAACflPdrQyj9NuWELVwunOzdQBFFwmHL2Ra29JywhegWCxTaLthov+Ci7YKN9guuZLZdxfSQVa0U2r9PCuSDIDuFjJ2Wa1t20uRBE7KwZVfabuu3b7UIxSeBQtsFG+0XXLRdsNF+wZWstqudmWYDu1chyEapQcSVQtZvDtu6XDLZQROyiFlG2FblRCxitF+Q0HbBRvsFF20XbLRfcNF2wO/oHgQAAAAAwCcE2QAAAAAA+IQgGwAAAAAAnxBkAwAAAADgE4JsAAAAAAB8QpANAAAAAIBPCLIBAAAAAPAJQTYAAAAAAD4hyAYAAAAAwCcE2QAAAAAA+IQgGwAAAACQVLt27bKrrrrKatasaVlZWTZo0CDbvXt3sdbV9UaNGln16tWtQYMGNnjwYNu5c2f0/qFDh1rbtm2tfPny7r5YO3bssBNPPNFq167tHt+qVSt76qmninQsKRNkN2nSxEaPHp3s3QAAAAAAxLnnnnvso48+sq+//tq++uormzVrlt17773FWvfKK6+0b775xrZs2WJffPGFW0aNGhW9v0WLFu76mWeeude2FXg/8sgj9vPPP7vHv/766y4o13MUVsoE2X+UejPiezn2ZeXKlXbGGWdYlSpVXE/IDTfcsFdvzPvvv2+HH364VaxY0TX2c889t9d2Vq1aZRdddJFlZ2db5cqVXa/LggUL/vAxAQAAAEBpMG7cOLvtttusXr16brn11lvtmWeeKda6rVu3tqpVq7rLkUjE0tLS7Lvvvovef/HFF9tpp53mMtXxypUrF81ySygUcsvSpUsLfSxlPsiOLQvYn/bs2eMCbD3/7Nmz7fnnn3cB9O233x5d54cffnDrnHTSSbZw4UIXxF922WU2bdq06DobN260Y445xtLT023q1Kmut+bBBx90pREAAAAAEHQbN260n376ydq3bx+9TZeVtNy8eXOx1h05cqRVq1bNJTuVyVYJeVH85S9/sUqVKtkhhxxiderUsXPOOScYQbaywzpYBZcKGrXzY8eOtd9++8369u1rGRkZLrur4NILXC+99FJr2rSpy+gefPDBNmbMmDzbvOSSS+zss8+24cOHW/369d06iTz99NOWmZlpM2bMcNcXL17sejPUENqP3r1726+//hrd5gcffOCey+vJWL58eYHH9s4777iAeMKECa7Rte27777bHnvssWjg/+STT7pjUdCs3haNK/jb3/5mDz/8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IKHtgo32Cy7aLthoPwBBR/cgAAAAAAA+IcgGAAAAAMAnBNkAAAAAAPiEIBsAAAAAAJ8QZAMAAAAA4BOCbAAAAAAAfEKQDQAAAACATwiyAQAAAADwCUE2AAAAAAA+IcgGAAAAAMAnKRNkN2nSxEaPHp3s3QAAAACAfO3atcuuuuoqq1mzpmVlZdmgQYNs9+7dRV53x44d1q9fP2vatKllZGRYq1atbNy4cXke//XXX1uXLl3c4+vWrWuXX3655ebm5lnn6aeftoMPPtiqVq3qYqq33nqrBI++bEiZIPuPOvHEE23w4MFFeszKlSvtjDPOsCpVqljt2rXthhtuyPMB+eijj+yYY46x7Oxsq1y5snvjP/zww3m28cQTT9hhhx1m1atXd0unTp1s6tSpvh0XAAAAgNLjnnvucXGCAuCvvvrKZs2aZffee2+R11XcUa9ePZs+fbpt2bLFnnvuObvuuuvsnXfeiT7+ggsucAH02rVr7csvv7QvvvjC7r777uj9Tz31lD344IP28ssv29atW23u3LnWtm3b/fAqBFuZD7J37tyZlOfds2ePC7D1/LNnz7bnn3/evbFvv/326DrqDVLP04cffmj/+9//7LbbbnOL3syehg0b2siRI+3TTz+1BQsW2Mknn2xnnXWW+xABAAAAKFuUbVZMoABZy6233mrPPPNMkddVrHHXXXdZ8+bNLRQK2dFHH20nnXSSC8o933//vV100UVWoUIFq1Wrlp155pku2PbiGcUuY8aMsQ4dOrht1KlTx5o1a7afXongSkt2dlglDcoQq0RBjTZ27Fj77bffrG/fvq6soUWLFtHMrRr60ksvdSUPyvyq10WNHuuSSy6xs88+24YPH27169d36ySisofMzEybMWOGu7548WI77bTTrFq1am4/evfubb/++mt0mx988IF7Lr25tCxfvrzAY1MPkXqUJkyYYO3bt3fbVq/QY489Fg389Wbt1auXtWnTxpVe6A3erVs31wPl6d69u51++ul20EEHWcuWLd1xaR8/+eSTP/jqAwAAAChNNm7caD/99JOLHzy6rArZzZs3F3td2b59u82bN89VyXquv/56Gz9+vG3bts3WrFljb7zxhos/ZMmSJS7D/dlnn7lYRck/lZ8rK45SnslWhveAAw5wDa6A+4orrrDzzjvPOnfu7Bq0a9euLuDV2IBwOOwa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zkyzgd2rEGQDKDFEXClk/eawrcslkx00IYuYZYRtVU7EIkb7BQltF2y0X3DRdsFG+wEIOrp3AQAAAADwCUE2AAAAAAA+IcgGAAAAAMAnBNkAAAAAAPiEIBsAAAAAAJ8QZAMAAAAA4BOCbAAAAAAAfEKQDQAAAACATwiyAQAAAADwCUE2AAAAAAA+SZkgu0mTJjZ69Ohk7wYAAACAP2jXrl121VVXWc2aNS0rK8sGDRpku3fvLvK6O3bssH79+lnTpk0tIyPDWrVqZePGjdtrG08//bQdfPDBVrVqVRdXvPXWW9H7Lr/8cndfZmZmCR4xgiRlguw/6sQTT7TBgwcX6TErV660M844w6pUqWK1a9e2G264Ic+H//XXX7c///nPVqtWLatevbp16tTJpk2blmcbI0aMsD/96U/uQ69tnH322bZkyRLfjgsAAAAImnvuucc++ugj+/rrr+2rr76yWbNm2b333lvkdfXbvF69ejZ9+nTbsmWLPffcc3bdddfZO++8E338U089ZQ8++KC9/PLLtnXrVps7d661bds2en+7du3s8ccftyOOOGI/HDmCoMwH2Tt37kzK8+7Zs8cF2Hr+2bNn2/PPP+8+tLfffnt0nQ8//NAF2VOmTLFPP/3UTjrpJOvevbt9/vnn0XU++OADGzhwoH3yySf27rvvup64rl272m+//ZaU4wIAAACSTdnm2267zQXIWm699VZ75plniryuMtN33XWXNW/e3EKhkB199NHuN7mCcu83vX6/jxkzxjp06ODWqVOnjjVr1iy6ff1W79Kli1WqVGk/HT1Ku7RkZ4dVrqEMsco39IYdO3asCyD79u3rsrctWrSwqVOnRt/kl156qSvnqFy5sivL0Bs+1iWXXOKyvcOHD7f69eu7dRJRyYdKOmbMmOGuL1682E477TSrVq2a24/evXvbr7/+Gt2mgl09lz5YWpYvX17gsan3S71lEyZMsPbt27tt33333fbYY49FA3+Vr994440uU33QQQe5HjX9/e9//xvdzttvv+2ev02bNq6XTIG6MuQKygEAAIBUs3HjRvvpp5/cb2yPLus38ubNm4u9rmzfvt3mzZtnhx12mLuuCtK1a9faZ5995srEGzZs6MrLlfUGSm0mWxneAw44wL2ZFXBfccUVdt5551nnzp3dm1lZWwW8ubm5Fg6H3Rt74sSJLoBVr9Itt9xir776ap5tKnDWB0KZ30mTJu31nKNGjbKbb77ZBcLqddq0aZOdfPLJrndqwYIFLrDVh6lHjx5ufQXXKuXWB2r16tVuadSoUYHHNWfOHFdGooDd061bN/eBVJlKIjq+nJwcN1YkP96XQUHraGyJnid2AQAAAMoClWxL7Bho77J+Sxd33UgkYpdddplLep177rnutg0bNri/KidXnLBw4UL74Ycf7Jprrimho0NZUD7ZO6DsrMo3ZMiQITZy5EgXdCugFQXSTzzxhC1atMiVbwwbNiz6WGW0FcwqyPYCYq/sQ5nqChUq7PV8N910k73wwgsuM63ssDz66KMuwI4dx6GyEgXS3377rbVs2dJtS2Or69atW6jjWrNmTZ4AW7zrui+RBx54wH0RxB5LfBCurP8xxxxjhx56aL7PrXHcsa8TAAAAUFao8tRLPilu8C6LKmGLs64C7CuvvNIl6hRQp6Wl5Xm84hTv8brcq1evEj9OBFfSg2yvFEPKlStn2dnZeSYS8ALTdevWub8qt1YArBKPbdu2udLr2PIP0eMTBdiasECl6OqFih1H8cUXX9jMmTOjH6JYy5Ytc0F2SXvxxRddYKyZCjXBWSIa76Gydm+MSH70wb/22muj15XJ3lfmHQAAAAgCDTNVdauyyhpLLbqs37s1atQo8roKsPU7WxOaqSI2dhsaespYawSuXDw9PT3PdY13jr1N170srmb0u/766924bJV66wOisdvxk5spk53Icccd58Z1x5eXK3usCce0vdjlu+++s+OPP75Yx6WMt0rOY3nX47PhOi6Vpmi/TjnllITb02kHVPquzgB9URSkYsWKbrby2AUAAAAoKxQDaA4mVYhqUUWqfk8XZ139zv7444/dUFMF5bE0D9RFF11k9913nxvfrWGmunzWWWdF11EsorHcildEl/M7nRhSQ9KD7KLQm19jtVXKofJuTYqmTHNhdezY0U2ipg+WSrM9hx9+uBsnrckMtM3YxQvYlRlXgF5YGsP95ZdfRjPwog+uAt5DDjkkettLL73kPvj6q9nI46lnTR/8N954w9577z1XIg8AAACksqFDh7rf261bt3aLhlNqriYZMGCAWwqz7ooVK9zpt1Qm3rhxY1fZqiX28ZqsWBMq63e4Mtta76GHHorerzmkFIzrjEJeJa5OG4bUlfRy8aLQJATjx493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5/EnnniiVaxY0apVqxZdfv755+j9f/vb36xevXpuGKy2c88995Tw0SNVFDmTPXXqVJs8ebIdc8wxFiRNmjSxwYMHuwUAAADA/qdA9qOPPrKvv/7aXT/ttNPs3nvvtdtvv71I6yrYVoA8ffp0a9asmTvTke5v2LChde3aNbqN++67L9/f/3fccYe1bNnSBeIrV660U0891cUMF110UYkdP1JDkTPZXk9SqlFPWFEDdH1YzzjjDHe6s9q1a9sNN9yQp6fu/fffd6dEi1/WrFkTXefDDz+07t27W/369d19b775pq/HBQAAAOwvyjbfdtttLkDWcuutt7oq2aKuW7VqVbvrrrusefPm7jfy0UcfbSeddJILygurbdu2LsAWbSMtLc2+++47n44UqazIQfbdd9/teo9yc3MtCHbu3JmU59W5wxVg6/lnz55tzz//vD333HMJe+mWLFliq1evji4KyGPHwOv0aI899th+PgIAAADAPxs3brSffvrJ2rdvH71Nl5WY2rx5c7HXle3bt9u8efPssMMO2ysbrgRhhw4dbPz48Xs97sorr3QJsQMPPNC2bt1ql1xyiU9Hi1RW5CD7wQcftGnTplmdOnVc78/hhx+eZylqdlhjK5QhVoZc2xw7dqwLLHWqMI2vaNGihStR9wLXSy+91I2ZqFy5sh188MHudGKx9ME4++yzbfjw4S77q3USefrppy0zM9NN4CaLFy92JSYaq6H96N27t/3666/RbX7wwQfuubxs8/Llyws8tnfeeceVtkyYMMF9IWjb6qBQsBwf+Cuorlu3bnRRL5pHj9OXwznnnFOk1xYAAAAoTRTEin6De7zLOTk5xV43Eom4eaMOOuggO/fcc6O3jxgxwpYtW2Zr1651Ezcr7njjjTfyPPbxxx93zzV//nzr06ePi0mA/R5kK4C97rrr7Prrr3eTBZx11ll5lqJShveAAw5wPU96419xxRV23nnnWefOne2zzz5zYyoU8CpzrpnMNc5i4sSJLoBVVviWW26xV199Nc82FTgrO/zuu+/apEmT9nrOUaNG2c033+wC4S5dutimTZvs5JNPdj1cCxYssLffftt9GHv06OHWV3DdqVMnN7mCl21u1KhRgcc1Z84c1wmhgN3TrVs327Jli3311Vd51lUQrhKYP//5z/bxxx/bH6WJIPQ8sQsAAACQTEpmSWwm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kN2kSRMbPXp0sncDAAAASbRr1y676qqrrGbNmpaVlWWDBg2y3bt3F3ndHTt2WL9+/axp06aWkZFhrVq1snHjxuV5/NChQ61t27ZWvnx5Gzx48F7b//nnn+3000+3qlWr2oEHHmhjx44toaMGsD+lTJD9R5144okJvxwLsnLlSjvjjDOsSpUqVrt2bbvhhhvyfImvXr3aLrjgAmvZsqWlpaUl3P5XX31lf/3rX10nQSgUoqMAAADgD7jnnnvso48+sq+//tr9zpo1a5bde++9RV5Xv+nq1atn06dPty1btthzzz1n1113nb3zzjvRx7do0cJGjRplZ555ZsLt9+rVy+rWrWvr1q2ziRMnut+KH3zwQQkdOYD9pcwH2Tt37kzK8+7Zs8cF2Hr+2bNn2/PPP+++fG+//fboOuoBrVWrlt12223Wrl27hNvJzc21Zs2a2ciRI92XMAAAAIpP2Wb99lKArOXWW2+1Z555psjrKvt81113WfPmzV0i5Oijj7aTTjrJBeWeiy++2E477TSrXr36XttetmyZW3fEiBFuW0cddZRdeOGFe2XDAQRPWrKzwyq7UQZXZTh16tRxZTK//fab9e3b15XeqAdw6tSp0cD10ksvdWU5lStXtoMPPtjGjBmTZ5uXXHKJnX322TZ8+HCrX7++WyeRp59+2jIzM23GjBnu+uLFi92XYLVq1dx+9O7d23799dfoNtWrqOfSl6iW5cuXF3hs6sVUr+eECROsffv2btt33323PfbYY9HAX9lpbbNPnz5Wo0aNhNv505/+ZPfff7+df/75VrFixWK8ygAAAJCNGzfaTz/95H6beXRZ1YebN28u9rqyfft2mzdvnh122GGF2pdFixa5wF2/O2O3r9sBBFvSM9nK8B5wwAHuS0kB9xVXXGHnnXeede7c2T777DPr2rWrC3iV0Q2Hw9awYUNXTqMAVlnhW265xV599dU821TgvGTJEnv33Xdt0qRJez2nynZuvvlmFwh36dLFNm3aZCeffLJ16NDBFixYYG+//batXbvWevTo4dZXINypUyc37kYl3loaNWpU4HHNmTPHjcGJ/eLs1q2bKydSuVFJUoZczxO7AAAApLqtW7e6v0q0eLzLOTk5xV43EonYZZddZgcddJCde+65hd6X2G1724/fNoDgKZ/sHVCZtMpwZMiQIa4sWkG3AlpRIP3EE0+4Xj2V4QwbNiz6WGW0FcwqyPYCYlHJjTLVFSpU2Ov5brrpJnvhhRdcZrpNmzbutkcffdQF2LHjcVSqo0D622+/dWOmtS2NrS5syfaaNWvyBNjiXdd9JUllR7GvEwAAAMxVLIoy0fq96V0WVVAWZ10F2FdeeaVL8Gh8tubZKey+xGfEdT1+PwAET9Iz2bElNeXKlbPs7GyXAY4PTDUhhKjc+ogjjnBjmfXl9NRTT7mynVh6fKIA+8EHH3Tl6Br/4gXY8sUXX9jMmTPd9rxFM0R642WCRp0V+pL2lh9//DHZuwQAAJB0Gp6oqsiFCxdGb9NlJVbih+4VZl0F2AMHDrS5c+e6Csn8hv/l9xtYs4t7v3G97cf+DgYQTEkPstPT0/Nc13jn2Nt0XVQq/vLLL9v111/vxmXri0xfRBq7HT+5mTLZiRx33HFuXHd8ebnKdbp37+62F7t89913dvzxxxfruJTxVsl5LO96SU9gprHbmmAjdgEAAIC5346au0eVhVpUyahS7+Ksq9N7ffzxx26IooLyRKcA01ht/f7Uosu6TTRh2jHHHOOGPmpYpIZO/vvf/3a/cwEEW9LLxYtCX2Iaq62SHE9RMs0dO3Z0X4annnqqO1+hAnY5/PDD7bXXXnMTken2RJQZ15djYWkMt76U1Tup03eJvoAV8B5yyCGF3g4AAAD8o3NXr1+/3lq3bu2uX3TRRS7QlQEDBri/Tz755D7XXbFihT3++OMuudG4cePo9rWO93gNf9T8Qx4NUdSM4zrjjLz00ksuaFeFps7DrXmDTjjhhP30SgAoKYEKsjWZxPjx423atGluPLbGVs+fP99dLiwF6VOmTHGzfSug1szmKvNRGbnOVXjjjTe6L7mlS5e6zLnGdquMXQG4SoE0q7jKybVOQWNuNGGbgmlN2qYvTPV+auy5nit2lnCvBEnZ9F9++cVdV0DvBeLK0muSN+/yqlWr3DraB828DgAAgMJTxaSGH2qJ5wXHhVlXgbXKxQuiYNoLqBNp0KBB9Cw6AMqOpJeLF0X//v3djI09e/Z05xJUz2JsVruwjj32WJs8ebILeh955BF3qi9lyZWpVnCssTAKvjXDoxdIK+utYFvBr3ob48eBx9O6mtlcf5XVVq+mTtWl8ynG0oRrWj799FN78cUX3eXTTz89er/G6njraFbzBx54wF3Or6wJAAAAAJA8oci+uuAQeDqFlybi6P/ACluXy/jsoAlZxBpkrLdVOdkWsd/nKEAw0HbBRvsFV0m1XYPsNBvWu5plZQQqRxE4mofHG25X2Jm6UTqkett5v7k18TBzIqW21Hv3AwAAAABQQgiyi0kTY8Se8it28SbNAAAAAACklkBNfFaaaGy1Nzt5PMpDAAAAACA1EWQXk8aaeKfmAgAAAABAKBcHAAAAAMAnBNkAAAAAAPiEIBsAAAAAAJ8QZAMAAAAA4BOCbAAAAAAAfEKQDQAAAACATwiyAQAAAADwCefJTiHZNdIsvTL9KkETsrBlV0ozqxCyCP1igULbBRvtF1wl1Xa1M3kfAAD2jSA7hfTrVsWqZ1ZL9m6giCLhsG3YkGtZWdUslMYPvCCh7YKN9guukmy7iukhX7cHACh7CLJTSGZGmlsQLOGw2a5taVYzI83S+KEfKLRdsNF+wUXbAQCSif95AAAAAADwCUE2AAAAAAA+IcgGAAAAAMAnBNkAAAAAAPiEIBsAAAAAAJ8QZAMAAAAA4BOCbAAAAAAAfMJ5slPIppywhcuFk70bKKJIOGw528KWnhO2EN1igULbBRvtV3barmJ6yKpWCiV7twAAKYIgO4WMnZZrW3bS5EETsrBlV9pu67dvtQjFJ4FC2wUb7Vc22q5WZnkb2L0KQTYAYL8h4koh6zeHbV0umeygCVnELCNsq3IiFjHaL0hou2Cj/YKLtgMAJBNd8wAAAAAA+IQgGwAAAAAAnxBkAwAAAADgE4JsAAAAAAB8QpANAAAAAIBPCLIBAAAAAPAJQTYAAAAAAD4hyAYAAAAAwCcE2QAAAAAA+IQgGwAAAAAAnxBkAwAAAADgk5QJsps0aWKjR49O9m4AAACgGHbt2mVXXXWV1axZ07KysmzQoEG2e/fuIq+7Y8cO69evnzVt2tQyMjKsVatWNm7cuDyP37Jli11wwQVWvXp1q1Onjt1999157h86dKi1bdvWypcvb4MHDy7BowYQRCkTZP9RJ554YpG/RFeuXGlnnHGGValSxWrXrm033HBDnv8MVq9e7b7AW7ZsaWlpaQm3r/8k7rrrLmvevLlVqlTJ2rVrZ2+//bYvxwQAABAU99xzj3300Uf29ddf21dffWWzZs2ye++9t8jr6rdYvXr1bPr06S6Yfu655+y6666zd955J/p4BeUbNmxwv+X02LFjx9r48eOj97do0cJGjRplZ5555n44cgBBU+aD7J07dybleffs2eMCbD3/7Nmz7fnnn3df4rfffnt0HfWk1qpVy2677TYXPCei+/71r3/ZI4884v6jGDBggJ1zzjn2+eef78ejAQAASC5lm/W7SAGylltvvdWeeeaZIq9btWrVaAIjFArZ0UcfbSeddJILyiU3N9defvllF6hnZma6ZIiC7tjnuvjii+20005zmW4AKFVBtrLD+tJSBlflPCrHUU/hb7/9Zn379nUlPOopnDp1ajRwvfTSS115T+XKle3ggw+2MWPG5NnmJZdcYmeffbYNHz7c6tev79ZJ5Omnn3ZfnDNmzHDXFy9e7L4sq1Wr5vajd+/e9uuvv0a3+cEHH7jn0pexluXLlxd4bOoNVVA8YcIEa9++vdu2So0ee+yxaOCvEnZts0+fPlajRo2E23nhhRfslltusdNPP92aNWtmV1xxhbv84IMPFuMVBwAACJ6NGzfaTz/95H5TeXRZmebNmzcXe13Zvn27zZs3zw477DB3fcmSJe63WvzjFy1aVEJHB6CsSXomWxneAw44wH25KeBWEHneeedZ586d7bPPPrOuXbu6gFe9iuFw2Bo2bGgTJ050AayywgpAX3311TzbVOCsL8h3333XJk2atNdzqrzn5ptvdoFwly5dbNOmTXbyySdbhw4dbMGCBa4ce+3atdajRw+3vgLhTp06ufE7KvHW0qhRowKPa86cOW6sjgJ2T7du3VxZksqWCkvZbpWJx1IHg9fbmt9j9DyxCwAAQFBt3brV/VWCxONdzsnJKfa6kUjELrvsMjvooIPs3HPPjT5e2W6Nt459fPxjASA//+/bI0lUJq1yHhkyZIiNHDnSBd0KaEWB9BNPPOF6D1XOM2zYsOhjldFWMKsg2wuIRV+MylRXqFBhr+e76aabXHZYmek2bdq42x599FEXYMeO61GZkQLpb7/91pUJaVsaW123bt1CHdeaNWvyBNjiXdd9haXA/KGHHrLjjz/elTWpA+H11193Wf38jBgxIs/rBAAAEGSqNBRlovU70bssqnwszroKsK+88kqXmNH4bM2P4z1eyR2N3fYCbT0+/nkAoNRmsr3SHClXrpxlZ2e7DHB8YLpu3Tr3V+XWRxxxhBvLrC/Bp556ypX/xNLjEwXYKrFWObqywF6ALV988YXNnDnTbc9b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xx9/HClXrlxk1KhRka+//jpy2223RdLT0yNffvlldJ2RI0dGatSoEXnzzTcjX3zxReTMM8+MNG3aNLJt27boOqeeemqkXbt2kU8++SQya9asSIsWLSK9evXaL8dcliSr/Ro3bhy56667IqtXr44uW7du3S/HXFaURNuNHz8+MmzYsMjYsWM14WTk888/32s7AwYMiDRq1CgyY8aMyIIFCyJHH310pHPnziV6rGVRstrvhBNOcM8V+9nbvHlziR5rWeN3223atClyyimnRF555ZXIN998E5kzZ06kY8eOkSOOOCLPdvh/L9jtx/97pfN789///nfk3XffjSxbtiyyePHiyKWXXhqpXr16ZN26ddF1+OyhLCLILuX0H8nAgQOj1/fs2ROpX79+ZMSIEQnX79GjR+SMM87Ic9tRRx0V6d+/v7scDocjdevWjdx///3R+/UfWMWKFSMvvfSSu64vSv2AnD9/fnSdqVOnRkKhUGTVqlW+H2NZloz2835sPPzwwyVwRKnD77aL9cMPPyQM0tSW+oEyceLE6G3/+9//3Lr6YYnS3X5ekP2Pf/zDl2NIVSXZdp558+a5NlyxYoW7zv97wW4/4f+9YLSdOh3VdtOnT3fX+eyhrKJcvBTbuXOnffrpp660xpOWluauz5kzJ+FjdHvs+tKtW7fo+j/88IOtWbMmzzo1atRwJUHeOvqrcp0jjzwyuo7W13PHl/ig9LWfR2VyKmvt0KGD3X///bZ7926fj7DsKom2Kww9p0ojY7ejMrsDDzywSNtJdclqP8+///1vO+CAA+zQQw+1IUOGWG5ubjGOIjXtr7bbvHmzKyfW/3XeNvh/L7jt5+H/vdLddnqOp556yv1uadeuXXQbfPZQFpVP9g4gf7/++qvt2bPH6tSpk+d2Xf/mm28SPkYBWKL1dbt3v3dbQevUrl07z/3ly5e3rKys6Doove0nV199tR1++OGuzWbPnu1+6K9evdoeeugh346vLCuJtisMrVuhQoW9fjgWdTupLlntJxdccIE1btzYjRtdtGiRG0u6ZMkSN54bpaPtNO+B2qVXr15uDKi3Df7fC277Cf/vld62mzRpkp1//vmuw1Hzybz77ruuI9LbBp89lEUE2UAZdO2110YvH3bYYS5w69+/v40YMcIqVqyY1H0DyrLLL788elmTAOkHZZcuXWzZsmXWvHnz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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# plot_synth_weights returns the Axes; in a notebook the plot displays inline\n", "plot_synth_weights(results, weight_type=\"unit\", top_n=10, min_weight=0.01)" ] }, { "cell_type": "code", "execution_count": 10, "id": "t18-cell-023", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.295247Z", "iopub.status.busy": "2026-04-22T21:17:41.295156Z", "iopub.status.idle": "2026-04-22T21:17:41.340650Z", "shell.execute_reply": "2026-04-22T21:17:41.340382Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " period weight\n", " 1 0.374045\n", " 2 0.099183\n", " 3 0.001611\n", " 4 0.113236\n", " 5 0.143960\n", " 6 0.267965\n", "\n", "Sum: 1.0000 (should be 1.0)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9kAAAJOCAYAAACjoMSlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAABN7UlEQVR4nO3dCZxd8/0//s9MEklkTwhZ7PsWS5UqFUprK2ppaVEUpUWLL2qLpQRVlNJSa0qV0m9LaS2laGhtLZVGa6uv2ENCMhGJJPf+Hu/P/3HnP5NMIpOcyZ2583w+Hie595xzz/3c+7l3Zl7ns5y6crlcTgAAAMBiq1/8QwAAAABByAYAAICCCNkAAABQECEbAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBmCJ+b//+79UV1eXLrzwwiXyfNtss01eWLAzzzwz10tRVl555XTQQQelzmZxPm/xuPXXX7/wMgGw5AnZADVs3Lhxae+9904rrbRS6tGjRxo2bFj6whe+kC677LI2fd4//vGPObgtCc8991x+rgjwS8Lvfve7tNNOO6VlllkmLbXUUmno0KHpq1/9avrzn//cps/7q1/9Kl1yySWpGh566KEcwhdmaW8uuOCCXK6nn3662fpyuZwGDBiQt73yyivNts2YMSN17949ff3rX0/tzZtvvpk/788880y1iwLAfHSd3wYAOra//vWvadttt00rrrhiOuyww9Lyyy+fXnvttfTYY4+lSy+9NB199NFtGrJ/+tOfLpGgHSH7rLPOyi2B0YLa1H333VfY80Qo++Y3v5nGjBmTNt5443Tcccfl9/Stt97KwXu77bZLjz76aPrsZz+b2ipk/+tf/0rHHHNMWtLWWWeddOONNzZbd/LJJ6fevXunU089dZ79n3/++VRf3z7O42+11Vb5/0ceeSTXW8X48ePTBx98kLp27ZrrbZVVVmnc9uSTT6aPP/648bELq8jP24JCdnze47O+0UYbtfnzAdB6QjZAjRo9enTq169fDgz9+/dvtm3ixImpM4iW5qJcdNFFOWBHyL344oubtdpG0IwQGoGtPYiW2HjtRQXd5ZZbLu2///7N1p1//vm5NX/u9SFagduLTTfdNPfiiJDd9MRSBOtBgwbl7bGt6euI+6G1IbvIzxsAHVf7OM0MQOFefvnltN56680TsMPgwYMbb48cOTJtuOGGLR5jrbXWSjvssMM846mvuuqqtNpqq+Uw9elPfzoH+YoYixut2GFB3YgXdIyK//znP7m7+8CBA3NQikD0+9//vnF7hN6vfOUr+Xa02leeK7o3z2+MbATQaGFfc8018zGHDBmS9txzz/x+zc9HH32UzjvvvLT22mvn19/S6znggAPSZptt1nj/v//9by5blH3ppZdOn/nMZ9If/vCHFrth33rrrfmkyPDhw3OZolX8pZdeatwvXkM89tVXX218jZVW+8oxbrnllnTaaaflIQHxfFOnTs3bb7vttvSpT30q9ezZszEUv/HGG6ktzT0mO+opyhjh9bvf/W5adtll8+fy8MMPzy3G0aL8jW98I3ffjuXEE0/MPQeaKpVKubt8fKbjPYrgH49///33PzH4xucrQnVTcX+LLbZIW265ZYvbonyVMdIL+9wtfd6iznbbbbfUq1ev/L079thj07333tvsczp3z4z4LEcdRl1Gd/eK2D9eSzj44IMbPwvx/oYXX3wx7bXXXrmHRZQzPk/77rtvmjJlygLfIwCK1T5OuQNQuBiH/be//S13MV7QhEoRDqM7+dz7Reh94YUXcnCbu9tyQ0NDDhnxB36EgAipESq7deuW10eX1j/96U/zdDFe2GNUuvNGAIqgcdJJJ+WQEmH0y1/+cvrf//3ftMcee6Stt946h7af/OQn6ZRTTsndmkPl/7nNmTMnfelLX0oPPPBADh/f+973cjmirPH6I/S3JMLh5MmTcyt2ly5dPvG9f+edd3K38enTp+fyRYvpL37xixy2fvOb3+Syz90qHK3Oxx9/fA5E8X7st99+6fHHH29sKY/1r7/+evrxj3+c10VX7abOPvvsHCjjGDNnzsy3I3xFGItgFicJolwxVCBCZIxRbukETFuKluQIgNHdOYYtxImWKEMMbYhhDeeee24eavCjH/0ofxYjeFfEZ6XyeuI9jXHUl19+eX4d8Xoqn5uWRIv02LFj84miysmJeMyhhx6aT4ycccYZOehHWSLcR3kigFd6Aizqc3/44Yfp85//fB5SEJ+1eO3x2X/wwQdb3D9C+4477pi/CzHOPz4r3//+99MGG2yQ5wGIz/UPfvCDdPrpp6dvfetb6XOf+1x+XHzW4mRFnBCLuq+8z3Ey5a677sqvLXq1ALCElAGoSffdd1+5S5cuedliiy3KJ554Yvnee+8tf/zxx832++CDD8o9evQof//732+2/rvf/W65V69e5WnTpuX7r7zySjQtlgcNGlSePHly43533HFHXn/nnXc2rjvyyCPzurm15hjbbbddeYMNNijPmDGjcV2pVCp/9rOfLa+xxhqN62677bb82AcffHCe5xs5cmReKq677rq878UXXzzPvnHs+bn00kvz4373u9+VF8YxxxyT9x87dmzjuoaGhvIqq6xSXnnllctz5szJ66LMsd8666xTnjlz5jzPN27cuMZ1u+yyS3mllVaa57kqx1h11VXL06dPb1wf9Tx48ODy+uuvX/7oo48a19911115/9NPP71x3RlnnNFifS3Ieuut1+y9bSrKeeCBBzbev/766/Pxd9hhh2bvc3wu6+rqykcccUTjutmzZ5eHDx/e7NjxPsbjb7rppmbPc88997S4fm5/+MMf8n433nhjvv/WW2/l+w8//HCul/iOxD7hX//6V942evToVj/33J+3iy66KO9z++23N66Lulh77bXn+czG42LdDTfc0LguPhPLL798ea+99mpc9+STT+b94j1t6umnn87r4/sAQHXpLg5Qo2IW8WjJjtbTf/7zn7l1NFq6omW4aZfraOHafffd080339zYRTdafH/961/nVuNoQW5qn332yV16KyqtadEKvbA+6RjRahyzdUdrXrQ0v/fee3mZNGlSfg3RLXZRujxHC3h0mW5p0rcFzYxd6Xrdp0+fhXqeaI2NFtKmY3qj5TlaH6M1NboENxUtpE3H8y7Ke3rggQfmLuEVTz31VB57/53vfCd3Ha7YZZddcrf3ubuuLwmHHHJIs/d58803z5+5WF8RPQViWEDT1x5d3uNzGp/pymchlugGH+/r/FqGK6KlN1qlK2OtK63P0cIfjx8xYkRjl/HK/5W6W5znvueee/L3Lb6DFVEX0XOkJXG8pmPD4zMRn6OF+RxUWqqjK3r0oACgeoRsgBoWIeK3v/1t7ob6xBNP5BmhI7TGOOemQS+65U6YMCF3qQ33339/7locXcnnFt16m6qE5U8aG9uaY8R45Ahfo0aNyuN3my7RtXdRJ2+Lcdcxzry1E5T17ds3/x/v3cKIcbjxPHOrdGOP7UW/p01nx276HC2VI0L23GVYEuZ+nZVguMIKK8yzvulrj5Mq0V0+xjTP/XmYNm3aJ34W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AArSNdWADxpKqdSlVO1iUIByqZQaPiqlbg2lVOcUUIenPmuPOq0t6rP2qNPaoj5rT2eo0+7d6lKvHnWpM6uJkH31vdPT1I9r4qV0enWplAb1mJEmzZiWyjpadHjqs/ao09qiPmuPOq0t6rP21HqdDu5fn47cdWkhO9WASVNKaeJ0Ldm1oC6VU+pTSm80lFM5qdOOTn3WHnVaW9Rn7VGntUV91h512jnU3ukTAAAAqBIhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACgambNmpWOOuqoNGDAgDRw4MB09NFHp9mzZ7e4b2xbYYUVUt++fdOwYcPSMccckz7++OO8bcKECal3797Nlq5du6bddtttnuNMnDgx/7/VVls1W//mm2+mnXfeOfXq1SutuOKK6eqrr+5YIfsvf/lL2nXXXdPQoUNTXV1duv3226tZHAAAAJawc845Jz3yyCPpueeeS+PHj09jx45N5557bov7fuc730n/+c9/0tSpU9M///nPvFxwwQV5W4TiadOmNS6TJ09O/fv3T/vuu+88xzn++ONbPP7Xvva1tPzyy+cQftttt6UTTjghPfzwwx0nZH/44Ydpww03TD/96U+rWQwAAACq5LrrrkunnXZaGjJkSF5OPfXUdO2117a47zrrrJNbmUO5XE719fXpxRdfbHHfaMQtlUppzz33bLb+jjvuSO+///48+7/88ss57J933nn5OTbffPO033775fJ1mJC900475bMWe+yxRzWLAQAAQBW8//776fXXX08bbbRR47q4HV2/p0yZ0uJjzj///NwVfPDgwbklO7qQtySCeoTkHj16NK6LYx533HHpkksumWf/Z599Nof85ZZbrllZYn1rGJMNAABAVUybNi3/H926Kyq3GxoaWnzMSSedlB8X3cuPOOKI3L17bq+++mq6//7706GHHtps/YknnpgOOuigtNpqq7VYlqblqJRlfuWYn66pA5k5c2ZeKqIfPgAAAB1T7969G1uYl1lmmcbboU+fPgt8bHQdj+HHEZojUDd1/fXXp4033jhvr4ix3o8++mj6xz/+kWbMmNFiWeZuPY/7n1SODt2SHX3j+/Xr17jErHIAAAB0TAMGDEjDhw9PzzzzTOO6uB1ZLzLfwsxMPveY7BiHHSF77lbsBx54IP33v//NE2+vssoqeV20hke4f+utt9KIESPy7OKVmccrZdlggw1qN2SffPLJ+UxCZXnttdeqXSQAAAAWw8EHH5xGjx6d3n777bzEzOJzB+RKd+4Izx988EGe9GzcuHF5jq8ddtih2X5/+tOf0nvvvZdnCm8qxmK/8MILOTjHBGdhjTXWyPdjfHd0Id9yyy3TKaeckqZPn56eeOKJdNNNN6VDDjmkdruLd+/ePS8AAADUhlGjRqVJkybl7t9h//33z0E3xJjrcOWVV+bLPv/qV7/Kl9+KYcQRjPfaa6901llnzTPh2d577z1PS3hcWzuWpkOPu3XrllvSK26++eYc8Jdddtl8ze64PNjIkSM7TsiOMxEvvfRS4/1XXnkln0WIFxPXOAMAAKC2devWLV/WuaVLO0e4rojLakUr9Se59dZbF/q5Ky3aFcOGDUt33313WhxVDdlPPfVU2nbbbZs134cDDzwwjRkzpoolAwAAgA4WsrfZZpvclx4AAABqQYea+AwAAADaMyEbAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQkK6pBgzqV5+69XS+oBbUpVIa1KM+paXqUtk5oA5PfdYedVpb1GftUae1RX3Wnlqv08H9a+81ddqQfdgOS6e+/XtXuxgUoFwqpcmTp6eBA3ununpf0o5OfdYedVpb1GftUae1RX3Wns5Qp9271aXOriZCdv8+9Xmh4yuVUpr1UX0a0Kc+1dfoD57ORH3WHnVaW9Rn7VGntUV91h512jmoWQAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAgnRNNeCDhlIqdSlVuxgUoFwqpYaPSqlbQynVOQXU4anP2qNOa4v6rD0dqU67d6tLvXrUVbsYAIWriZB99b3T09SPa+KldHp1qZQG9ZiRJs2Ylso6WnR46rP2qNPaoj5rT0ep08H969ORuy4tZAM1qSaS6aQppTRxupbsWlCXyin1KaU3GsqpnNRpR6c+a486rS3qs/aoU4Dqa7+nOAEAAKCDEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEGEbAAAOoRZs2alo446Kg0YMCANHDgwHX300Wn27Nnz7Ddz5sx02GGHpVVWWSX16dMnrb322um6666bZ79rrrkmrbXWWqlXr15p5ZVXTnfccUfjtkceeSR95jOfSf369UvDhg1LJ598ciqVSo3b33zzzbTzzjvnx6644orp6quvbsNXDnQkVQ/Zb7zxRtp///3ToEGDUs+ePdMGG2yQnnrqqWoXCwCAduacc87J4fe5555L48ePT2PHjk3nnnvuPPtF8B4yZEi6//7709SpU9OYMWPS//zP/6T77ruvcZ+rrroqXXTRRemWW25J06ZNS48//nj+OzTMmTMn7b777nmZPHlyevTRR/N+TYP01772tbT88suniRMnpttuuy2dcMIJ6eGHH15C7wTQnlU1ZL///vtpyy23TN26dUt33313/oEZP+zi7CQAADQVrdGnnXZaDtCxnHrqqenaa6+dZ79oXf7BD36QVltttVRXV5dbpLfddtsc0Csh+vTTT0+XXnpp2njjjfM+yy23XFp11VXz9ilTpuRwfeCBB6YuXbrkVu7tt98+jRs3Lm9/+eWX87HOO++8/Fybb7552m+//VpsLQc6n6qG7B/+8IdphRVWSNdff33abLPNcpeeL37xi/kHIgAANG2cef3119NGG23UuC5uT5gwIYfiBZkxY0Z64okn0ogRI/L9559/Pr3zzjvpH//4Rw7Qw4cPz93Lo9U7RFf0b37zmznARxf1CNXRKr7LLrvk7c8++2wO+RHMm5Yl1gNUNWT//ve/T5tuumn6yle+kgYPHpzPJBrP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n+1b92511S4CAEDNaXXI3n333dOdd96ZfvCDH6RevXrl0L3JJpvkdV/4whdSNfTvU58XOr64DPusj+rTgD71qV4o6/DUJwAAnU2rQna5XE4vvfRSGjhwYLr77rtT166tzugAAABQsxa6aemVV15JI0aMSGuvvXb+f7XVVktPPfVU25YOAAAAajFkn3DCCWn27Nnpl7/8ZZ7kbPjw4elb3/pW25YOAAAAOpCF7u/9yCOP5HC91VZb5fuf+cxnctD+8MMP89hsAAAA6OwWuiV74sSJaY011mi8P2TIkNSzZ8+8HgAAAGhFS3ZdXV2aNm1aDtYVMVtwQ0NDmjp1auO6vn37Fl9KAAAAqKWQHTOLr7nmmvOs23jjjRtvRxCfM2dO8aUEAACAWgrZDz74YNuWBAAAADpLyB45cmTblgQAAAA6y8RnAAAAwIIJ2QAAAFAQIRsAAAAKImQDAADAkp74bG4vvfRSevnll9PWW2+dr51duYRXNXzQUEqlLqWqPDfFKpdKqeGjUurWUEp1TgF1eNWuz+7d6lKvHtX5uQQAQOfU6pA9adKktM8++6Q///nPOVS/+OKLadVVV02HHHJIGjBgQLrooovSknb1vdPT1I8X+XwB7UhdKqVBPWakSTOmpbKOFh1eNetzcP/6dOSuSwvZAAAsUa1Opscee2zq2rVrmjBhQlpnnXUa10fwPu6446oSsidNKaWJ07Vk14K6VE6pTym90VBO5aROOzr1CQBAZ9PqkH3fffele++9Nw0fPrzZ+jXWWCO9+uqrRZYNAAAAOpRW99/88MMP09JLLz3P+smTJ6fu3bsXVS4AAACo/ZD9uc99Lt1www2N92NcdqlUShdccEHadtttiy4fAAAA1G538QjT2223XXrqqafSxx9/nE488cQ0fvz43JL96KOPtk0pAQAAoBZbstdff/30wgsvpK222irtvvvuufv4nnvumZ5++um02mqrtU0pAQAAoANYpOte9evXL5166qnFlwYAAAA6W8ieMWNGevbZZ9PEiRPzeOymdtttt6LKBgAAALUdsu+55570jW98I7333nvzbItJ0ObMmVNU2QAAAKC2x2QfffTR6Stf+Up66623cit200XABgAAoDNrdch+55130nHHHZeWW265tikRAAAAdJaQvffee6eHHnqobUoDAAAAnWlM9uWXX567i48dOzZtsMEGqVu3bs22f/e73y2yfAAAAFC7Ifvmm29O9913X+rRo0du0Y7JziritpANAABAZ9XqkB3Xxz7rrLPSSSedlOrrW93bHAAAAGpWq1Pyxx9/nPbZZx8BGwAAAObS6qR84IEHpl//+tetfRgAAADUvFZ3F49rYV9wwQXp3nvvTSNGjJhn4rOLL764yPIBAABA7YbscePGpY033jjf/te//tVsW9NJ0AAAAKCzaXXIfvDBB9umJAAAANDBmb0MAAAAlmRL9p577pnGjBmT+vbtm28vyG9/+9uiygYAAAC1F7L79evXON46bgMAAACLGLKvv/769IMf/CAdf/zx+TYAAACwGGOyzzrrrDRt2rSF3R0AAAA6nYUO2eVyuW1LAtBOzJo1Kx111FFpwIABaeDAgenoo49Os2fPbnHfyy+/PG266aape/fu6ctf/vI820eNGpU22GCD1LVr13TMMcc02zZz5sy0zTbbpMGDB+c5L9Zee+101VVXNW5/7LHH0g477JCWWWaZXI64/dxzz7XBKwYAoCqzi7fldbDPP//8fPy5/wgFWNLOOeec9Mgjj+RAO378+DR27Nh07rnntrjv0KFD02mnnZYOO+ywFrevvvrq6YILLki77bbbPNsieF922WXpzTffTFOnTs0TR0Yoj+cL77//fjr44IPTSy+9lN5+++202WabpR133DHNmTOn4FcMAEBVQvaaa66ZW1MWtCyKJ598Mv385z9PI0aMWKTHAxTpuuuuy8F5yJAheTn11FPTtdde2+K+ccWFaMGO1uaWHHjggWmnnXbKLdVz69KlS2Mrd4gTjbFEqA7xuH333Tf1798/LbXUUumEE05Ir732Wnr11VcLfb0AACzhic+ajssuenbxGOe93377pauvvjq3HgFUU7Qev/7662mjjTZqXBe3J0yYkKZMmdImV1j40pe+lO6///7cfTxONu6xxx4t7vfwww/nwL3iiisWXgYAAKoQsqNFJcYOFunII49Mu+yyS9p+++0/MWTHH6CxVET3SoAiVSZ4jDBbUbnd0NDQJiH7rrvuyl3Ao4t6BOmePXvOs0+E/MMPPzxddNFFjS3fAAB04O7ibTEe+5Zbbkn/+Mc/0nnnnbdQ+8d+8QduZVlhhRUKLxPQufXu3Tv/H63WFZXbffr0abPnja7jI0eOTO+880760Y9+1GxbtKxvt912eTK2b37zm21WBgAAOvDs4jGu8Hvf+1666aabUo8ePRbqMSeffHL+Y7eyxDEAihQzig8fPjw988wzjevidpzUa4tW7JZmNn/xxRebBextt9027b///umUU05p8+cHAGDxLHSfw1KplIr097//PU2cODFtsskmjeuiu+Rf/vKXfEmc6BYeLTtNxSVyYgFoSzGj9+jRo9OWW26Z78fM4oceemiL+8alvSpL/JycMWNGqq+vzxOVVUJz/GyrLLE9frZ169Yth/d33303bbXVVvn+vffem088xhwVIWYdj4C9zz77pDPOOGMJvgMAACyqqg3si66P48aNm+cP27hO7Pe///15AjbAkhKX0Zo0aVJaZ5118v2mrchHHHFE/v/KK6/M/8dcEjEpZEWMp45u3w899FC+H5f2+sUvftG4PU4ixozjY8aMycE8jvv888/nITkrr7xyuvjii9PXv/71vG+E7Zhp/JJLLslLxd13350+97nPLZH3AgCA1qkrF90PfDFss802eRbfpn9MLkhMfBbdNw+/8NU0cfq8l8eh46lL5TSsz6T0RsOgVE5td112ar8+hw2qT2cd0DsN7NOqKxXyCaK1PnohxSSY0WJPx6Y+a486rS3qs/ao0/ajkiVjGHJLl1pdHGoWAAAACtKurgNT6V4JAAAAHZGWbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEG6phowqF996tbT+YJaUJdKaVCP+pSWqktl54A6vGrW5+D+Pj8AACx5NRGyD9th6dS3f+9qF4MClEulNHny9DRwYO9UVy8kdXTVrs/u3eqW+HMCANC51UTI7t+nPi90fKVSSrM+qk8D+tSneiG7w1OfAAB0Nv7qBQAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoSNdUAz5oKKVSl1K1i0EByqVSaviolLo1lFKdU0AdWvdudannUtUuBQAALFk1EbKvvnd6mvpxTbyUTq8uldKgHjPSpBnTUllHiw5rcP/6dOSuSwvZAAB0OjWRTCdNKaWJ07Vk14K6VE6pTym90VBO5aROAQCAjkVTIQAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNtCuzJo1Kx111FFpwIABaeDAgenoo49Os2fPXqR9X3755bTTTjvl7cOGDUsXXHBBs8f//e9/T1tttVXq27dvWnXVVdMNN9zQuO2FF15Ie+yxR1p++eVT//7905ZbbpkeffTRNnzlAADUgqqG7PPOOy99+tOfTn369EmDBw9OX/7yl9Pzzz9fzSIBVXbOOeekRx55JD333HNp/PjxaezYsencc89t9b5z5sxJu+22W9pkk03SxIkT05///Od0+eWXp1/96ld5+wcffJB23nnntP/++6f3338/3XzzzTmkx/Eq2yOgjxs3Lk2aNCkddNBBef/33ntvCb4bAAB0NFUN2Q8//HA68sgj02OPPZb+9Kc/5VapL37xi+nDDz+sZrGAKrruuuvSaaedloYMGZKXU089NV177bWt3jdO2MVyxhlnpG7duqW11lorHXLIIemqq67K2//617+m7t27pyOOOCJ16dIlbb755mnPPfdM11xzTd6+2WabpW9961tp2WWXzdsPO+yw/P+zzz67BN8NAAA6mq7VfPJ77rmn2f0xY8bkFu3owrn11ltXrVxAdUSL8uuvv5422mijxnVxe8KECWnKlCmpX79+C71vqVTK68rlcuP2WFcJyXG76bbKumi5bkmsb2hoSOuuu26BrxgAgFrTrsZkxx/GIcZWtmTmzJlp6tSpzRagdkybNi3/H2OgKyq3I+C2Zt9ouV555ZXT6aefnn92RHfyaPmu/NzYYostcq+Z6EIevWhivPXvfve7Fn+uRNfxfffdN51yyil5jDYAALT7kB0tSMccc0yeXGj99def7xjuaMmqLCussMISLyfQdnr37t3shFvT2zF3Q2v2jS7id9xxR3r66afzpGf77bdfOvjgg9OgQYPyPvH/nXfemcdoR3A+6aSTmm1veswddtghT5B25plnttlrBwCgNrSbkB1js//1r3+lW265Zb77nHzyyfkP3sry2muvLdEyAm0rZgEfPnx4euaZZxrXxe04oda0q/jC7rveeuul++67L09WFtuiRXvkyJGN+8dJvRibHRObxaRpb7/9drPtlYAdx7nyyitTXV1dG78DAAB0dFUdk10Rl+C566670l/+8pf8R/P8xCRFsQC1K1qTR48enQNwiNnCDz300EXaN8Zfr7baarlVO37GRHfxBx54oHF7tHLHGOvoSfPLX/4yPfTQQ3ldiG7jO+64Y1pzzTXzZGgCNgAA7b4lOyYdioAd4yDj8jqrrLJKNYsDtAOjRo3K46XXWWedvESAjrHQIWYCj2Vh9g233nprWnHFFXOr94UXXphuv/32NGLEiMbtP/nJT9Jyyy2XZxC/7bbb8s+hoUOH5m3xcymufPC///u/+Tra0T09lptuummJvh8AAHQsdeW5p9ddgr7zne/k8ZAxbjImKaqIrp49e/b8xMdHS1Pse/iFr6aJ0/u2cWlZEupSOQ3rMym90TAolZOWw45q2KD6dNYBvVP/XilfozquGlBf325Gp7AYotVfndYO9Vl71GltUZ+1R522H5UsGcMDo0GlSFWt2SuuuCK/qG222abxOrex/PrXv65msQAAAKDjjcmuYiM6AAAAFE4fBQAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEG6phowqF996tbT+YJaUJdKaVCP+pSWqktl54A6rMH91R0AAJ1TTYTsw3ZYOvXt37vaxaAA5VIpTZ48PQ0c2DvV1QtqHVn3bnVRo9UuBgAALFE1EbL796nPCx1fqZTSrI/q04A+9aleyO7wSiUhGwCAzkWKAQAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURsgEAAKAgQjYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABemaasAHDaVU6lLKt7t3q0u9etRVu0gAAAB0QjURsq++d3qa+nHXNLh/fTpy16WFbAAAAKqiJkL2pCmlNHH6/9eSDQAAANViTDYAAAAURMgGAACAggjZAAAAUBAhGwAAAAoiZAMAAEBBhGwAAAAoiJANAAAABRGyAQAAoCBCNgAAABREyAYAAICCCNkAAABQECEbAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDAABAQYRsAAAAKIiQDQAAAAURslNKs2bNSkcddVQaMGBAGjhwYDr66KPT7NmzF2nfT9p++eWXp0033TR17949ffnLX27xOa655pq01lprpV69eqWVV1453XHHHW3wqgEAAKipkH3FFVekESNGpL59++Zliy22SHffffcSL8c555yTHnnkkfTcc8+l8ePHp7Fjx6Zzzz13kfb9pO1Dhw5Np512WjrssMNaPP5VV12VLrroonTLLbekadOmpccffzxtsMEGbfCqAQAAqKmQPXz48HT++eenv//97+mpp55Kn//859Puu++ew+mSdN111+XgO2TIkLyceuqp6dprr12kfT9p+5577plbsJdZZpl5jj1nzpx0+umnp0svvTRtvPHGqa6uLi233HJp1VVXbaNXDgAAQM2E7F133TXtvPPOaY011khrrrlmGj16dOrdu3d67LHHllgZ3n///fT666+njTbaqHFd3J4wYUKaMmVKq/ZtzbFa8vzzz6d33nkn/eMf/8jdxOMkRLR4T506tbDXCwAAQCcYkx2tuNFF+sMPP8zdxlsyc+bMHDibLosrumSH/v37N66r3G5oaGjVvq05VksmT56c/7///vtzy/4zzzyTXnnllXTssccuxisEAACg04TscePG5dbrmAjsiCOOSL/73e/Suuuu2+K+5513XurXr1/jssIKKyz288dzh6YtzZXbffr0adW+rTnWgspy8skn5+7kscTtO++8czFeIQAAAJ0mZMcs2tFiGxN8ffvb304HHnhgnjSsJRE4I7RWltdee22xnz9mAY9u2VGGirgdAT6CfGv2bc2x5vde9OjRY7FfEwAAANXRNVXZUkstlVZfffV8+1Of+lR68skn88RfP//5z+fZN1q7YynawQcfnMeDb7nllvl+zAZ+6KGH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iivyH4AxRrShoaGAUtPWdfr9738/nyCp/NHo92ht1Wfwe7Tj1emUKVNS796901JLLZV22WWXdNlll6UvfOELeZvvaG3VZ/AdrQ1dq10AaI1999238XZMjDZixIi02mqr5TN+2223XVXLBqT8h0BFfD8jdK+00krp1ltvTYccckhVy8aCnX/++emWW27JP09jAh9qsz79Hu14+vTpk5555pk0bdq0HLyOO+643FNom222qXbRaIP69B2tDe2mJXuZZZZJXbp0Se+8806z9XF/+eWXb/ExsX5B+1f+b80xab/12ZL4oRTP9dJLLxVUcoqs02ock/b13scMqmuuuabvaDuv0wsvvDCHsvvuuy//QVfh92ht1WdL/B5t/3UaXZBXX331PBP1//zP/6S99947nXfeeXmb72ht1WdLfEc7pnYTsqPLxKc+9al8RqeiVCrl+1tssUWLj4n1TfcPf/rTnxr3X2WVVfKHvOk+U6dOTY8//vh8j0n7rc+WvP7663mcSly2gvZXp9U4Ju3rvY8z9S+//LLvaDuu0wsuuCCdffbZuYt/XFqmKb9Ha6s+W+L3aMf7uRuPmTlzZr7tO1pb9dkS39EOqtzOpsGP2RDHjBmTp7b/1re+lafBf/vtt/P2Aw44oHzSSSc1u+RT165dyxdeeGG+VEXMatvSJbziGHfccUf52WefzbP1uaxBx6zPhoaGfPmgv/3tb+VXXnmlfP/995c32WST8hprrFGeMWNG1V5nZ9LaOp05c2a+lEwsQ4YMyfUXt1988cWFPiYdqz7/53/+p/zQQw/l72h8p7fffvvyMsssU544cWJVXmNn09o6jd+RcfmZ3/zmN80uFxM/b5vu4/dobdSn36Mdr07PPffc8n333Vd++eWX8/7xN1L8rXT11Vc37uM7Wjv16TtaO9pVyA6XXXZZecUVV8y/JGJa/Mcee6xx28iRI/O09k3deuut5TXXXDPvH9dm/cMf/tBse1zaYNSoUeXlllsufwm222678vPPP7/EXk9nV2R9Tp8+vfzFL36xvOyyy+bwHZcQiusRCmPtt07jF0Scy5t7if0W9ph0rPrcZ599cgCP4w0bNizfj2uB0j7rNH6OtlSncZKzwu/R2qlPv0c7Xp2eeuqp5dVXX73co0eP8oABA8pbbLFFDnZN+Y7WTn36jtaOuvin2q3pAAAAUAvazZhsAAAA6OiEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAAAKImQDQI156KGHUl1dXfrggw8W+jFnnnlm2mijjdq0XADQGQjZAFBFV155ZerTp0+aPXt247pp06albt26pW222abF8Pzyyy8v8Jif/exn01tvvZX69etXaFmjPMccc0yhxwSAWiNkA0AVbbvttjlUP/XUU43rxo4dm5Zffvn0+OOPpxkzZjSuf/DBB9OKK66YVltttQUec6mllsqPj0AOACxZQjYAVNFaa62VhgwZklupK+L27rvvnlZZZZX02GOPNVsfobxUKqXzzjsvb+/Zs2facMMN029+85sFdhe/+uqr0worrJCWXnrptMcee6SLL7449e/ff57y3HjjjWnllVfOreD77rtvamhoyOsPOuig9PDDD6dLL700HzuW//u//2vDdwYAOiYhGwCqLIJztFJXxO3omj1y5MjG9R999FFu2Y59I2DfcMMNuav5+PHj07HHHpv233//HIJb8uijj6Yjjjgife9730vPPPNM+sIXvpBGjx49z37RDf32229Pd911V17ieOeff37eFuF6iy22SIcddljuih5LhHYAoLmuc90HAJawCM4x1jnGZUeYfvrpp3PAnjVrVg7S4W9/+1uaOXNmDt/rrrtuuv/++3PoDauuump65JFH0s9//vP8uLlddtllaaeddkrHH398vr/mmmumv/71rzlINxUt5GPGjMljxMMBBxyQHnjggRzIo2U7uqFHS3h0RQcAWiZkA0CVRXD+8MMP05NPPpnef//9HIKXXXbZHJgPPvjgPC47uoBHmI7x29OnT8+t0U19/PHHaeONN27x+M8//3zuIt7UZpttNk/Ijm7ilYAdohv7xIkTC32tAFDrhGwAqLLVV189DR8+PHcNj5BdaY0eOnRo7pIdrc6x7fOf/3wO2eEPf/hDGjZsWLPjdO/efbHKETOaNxXjrqN1GwBYeEI2ALSTLuPRWh0h+4QTTmhcv/XWW6e77747PfHEE+nb3/527ioeYXrChAktdg2f3+Rq0Ure1Nz3F0Z0F58zZ06rHwcAnYmQDQDtJGQfeeSReRx20/Act4866qjcHTz2ie7cMbY6JjuLVuatttoqTZkyJU9u1rdv33TggQfOc+yjjz46h/WYUXzXXXdNf/7zn3Nwb+0lvqI7eUy+FrOK9+7dOw0cODDV15tDFQCa8psRANqBCNAx6Vl0HV9uueWahey4jFblUl/h7LPPTqNGjcqzjK+zzjppxx13zN3H45JeLdlyyy3zBGoRsuNyX/fcc08O6T169GhVGSPcd+nSJbemx5jxaE0HAJqrK5fL5bnWAQA1Li7F9Z///CeNHTu22kUBgJqiuzgAdAIXXnhhnpG8V69euav4L37xi/Szn/2s2sUCgJqjJRsAOoGvfvWreWK16HoelwKLcdpHHHFEtYsFADVHyAYAAICCmPgMAAAACiJkAwAAQEGEbAAAACiIkA0AAAAFEbIBAACgIEI2AAAAFETIBgAAgIII2QAAAFAQIRsAAABSMf4f3QGoTys4VpEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Time weights: which pre-periods does SDiD lean on?\n", "time_weights = results.get_time_weights_df()\n", "print(time_weights.to_string(index=False))\n", "print(f\"\\nSum: {time_weights['weight'].sum():.4f} (should be 1.0)\")\n", "\n", "plot_synth_weights(results, weight_type=\"time\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "t18-cell-024", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.341768Z", "iopub.status.busy": "2026-04-22T21:17:41.341675Z", "iopub.status.idle": "2026-04-22T21:17:41.343483Z", "shell.execute_reply": "2026-04-22T21:17:41.343271Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pre-treatment fit RMSE: 33.71\n", "\n", "The library auto-computes a noise level from the data and warns if the\n", "pre-fit RMSE exceeds the standard deviation of treated pre-period outcomes.\n", "Our fit is well within that envelope, so the synthetic control is tracking\n", "the treated pre-trend closely - good fit means a trustworthy post-period effect.\n" ] } ], "source": [ "print(f\"Pre-treatment fit RMSE: {results.pre_treatment_fit:.2f}\")\n", "print()\n", "print(\"The library auto-computes a noise level from the data and warns if the\")\n", "print(\"pre-fit RMSE exceeds the standard deviation of treated pre-period outcomes.\")\n", "print(\"Our fit is well within that envelope, so the synthetic control is tracking\")\n", "print(\"the treated pre-trend closely - good fit means a trustworthy post-period effect.\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "t18-cell-025", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.344422Z", "iopub.status.busy": "2026-04-22T21:17:41.344352Z", "iopub.status.idle": "2026-04-22T21:17:41.398064Z", "shell.execute_reply": "2026-04-22T21:17:41.397777Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Treated mean vs synthetic counterfactual over time.\n", "# We construct the synthetic by re-weighting control markets with the unit\n", "# weights, then apply an intercept correction so the pre-period means match\n", "# (this approximates the SDiD time-weight correction visually).\n", "weight_lookup = dict(zip(unit_weights[\"unit\"].tolist(), unit_weights[\"weight\"].tolist()))\n", "\n", "weeks = sorted(set(df[\"week\"]))\n", "treated_by_week = []\n", "synth_raw = []\n", "for w in weeks:\n", " week_rows = df[df[\"week\"] == w]\n", " treated_by_week.append(float(week_rows[week_rows.treated == 1][\"conversions\"].mean()))\n", " control_rows = week_rows[week_rows.treated == 0]\n", " synth_raw.append(sum(\n", " float(c) * weight_lookup.get(m, 0.0)\n", " for m, c in zip(control_rows[\"market_id\"], control_rows[\"conversions\"])\n", " ))\n", "\n", "# Intercept correction so pre-period means match\n", "pre_idx = [i for i, w in enumerate(weeks) if w <= 6]\n", "shift = (sum(treated_by_week[i] for i in pre_idx) - sum(synth_raw[i] for i in pre_idx)) / len(pre_idx)\n", "synth_by_week = [s + shift for s in synth_raw]\n", "\n", "fig, ax = plt.subplots(figsize=(8, 5))\n", "ax.plot(weeks, treated_by_week, marker=\"o\", label=\"Treated markets (mean)\", color=\"C0\", linewidth=2)\n", "ax.plot(weeks, synth_by_week, marker=\"s\", label=\"Synthetic control\", color=\"C1\", linewidth=2, linestyle=\"--\")\n", "ax.axvline(6.5, color=\"gray\", linestyle=\":\", label=\"Campaign start\")\n", "post_idx = [i for i, w in enumerate(weeks) if w >= 7]\n", "ax.fill_between(\n", " [weeks[i] for i in post_idx],\n", " [treated_by_week[i] for i in post_idx],\n", " [synth_by_week[i] for i in post_idx],\n", " alpha=0.2, color=\"C0\", label=\"Treatment effect\",\n", ")\n", "ax.set_xlabel(\"Week\")\n", "ax.set_ylabel(\"Conversions\")\n", "ax.set_title(\"Treated markets vs synthetic control\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "id": "t18-cell-026", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.399142Z", "iopub.status.busy": "2026-04-22T21:17:41.399060Z", "iopub.status.idle": "2026-04-22T21:17:41.401344Z", "shell.execute_reply": "2026-04-22T21:17:41.401110Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "All drift guards passed.\n" ] } ], "source": [ "# Drift guards: tolerance-based asserts that lock the numbers quoted in the\n", "# Section 3 narrative and the Section 6 stakeholder template. nbmake will fail\n", "# if generate_factor_data() or SyntheticDiD output drifts outside these ranges,\n", "# forcing the markdown to be updated before this notebook can pass CI.\n", "assert 305 <= results.att <= 320, f\"ATT drifted to {results.att:.2f} (expected ~312)\"\n", "assert results.conf_int[0] > 290, f\"CI lower drifted to {results.conf_int[0]:.2f}\"\n", "assert results.conf_int[1] < 335, f\"CI upper drifted to {results.conf_int[1]:.2f}\"\n", "assert results.conf_int[0] <= 300 <= results.conf_int[1], (\n", " f\"CI ({results.conf_int[0]:.2f}, {results.conf_int[1]:.2f}) does not cover \"\n", " f\"the true effect of 300 - DGP or estimator drift\"\n", ")\n", "assert results.pre_treatment_fit < 60, f\"Pre-fit RMSE drifted to {results.pre_treatment_fit:.2f}\"\n", "print(\"All drift guards passed.\")" ] }, { "cell_type": "markdown", "id": "t18-cell-027", "metadata": {}, "source": [ "## 5. Inference and Trustworthiness" ] }, { "cell_type": "markdown", "id": "t18-cell-028", "metadata": {}, "source": "diff-diff's `SyntheticDiD` supports three standard error methods, and the difference between the two paper-based ones is *what gets resampled* per replication:\n\n- **Placebo SE** (default): permutes which control units are pretended to be \"treated\", then **re-estimates both the unit weights and the time weights** (Frank-Wolfe) on each permutation and recomputes SDiD. The standard deviation of those placebo effects is the SE. This is Algorithm 4 in Arkhangelsky et al. (2021) and matches R's `synthdid::vcov(method=\"placebo\")`.\n- **Bootstrap SE**: pairs-bootstrap resampling of all units with replacement, then **re-estimates both the unit weights and the time weights** via Frank-Wolfe on each resampled panel and recomputes SDiD. This is Algorithm 2 step 2 in Arkhangelsky et al. (2021) and matches R's default `synthdid::vcov(method=\"bootstrap\")` behavior (which rebinds `attr(estimate, \"opts\")` so the renormalized ω is only Frank-Wolfe initialization). Expect ~5–30× slower per fit than placebo (panel-size dependent).\n- **Jackknife SE**: deterministic Algorithm 3 — fixed-weight leave-one-out across all units. Faster than bootstrap; mildly anti-conservative on smaller panels.\n\nBoth bootstrap and placebo re-estimate the weights per replication, so each reflects the full uncertainty in the weighting procedure. They differ in *how* they resample: placebo permutes the control-vs-treated assignment, bootstrap draws with replacement. On exchangeable DGPs the two SEs typically track each other; on small panels with non-exchangeable factor structure (like the marketing geo-experiment here), they can differ in magnitude while still agreeing on significance and CI direction.\n\nAll three methods are configured on the `SyntheticDiD` *constructor*, not on `.fit()`. Use placebo by default (it's the library default; R's default is bootstrap); switch to bootstrap if you want a cross-check from a different resampling protocol; switch to jackknife if you need a deterministic, fast alternative." }, { "cell_type": "code", "execution_count": 14, "id": "t18-cell-029", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.402325Z", "iopub.status.busy": "2026-04-22T21:17:41.402255Z", "iopub.status.idle": "2026-04-22T21:17:41.662155Z", "shell.execute_reply": "2026-04-22T21:17:41.661887Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MethodATTSECI_lowCI_high
0Placebo (default)311.857.31297.52326.19
1Bootstrap311.854.44303.15320.56
\n", "
" ], "text/plain": [ " Method ATT SE CI_low CI_high\n", "0 Placebo (default) 311.85 7.31 297.52 326.19\n", "1 Bootstrap 311.85 4.44 303.15 320.56" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Refit with bootstrap SE for comparison. Same n_bootstrap and seed.\n", "model_boot = SyntheticDiD(variance_method=\"bootstrap\", n_bootstrap=100, seed=42)\n", "results_boot = model_boot.fit(\n", " df,\n", " outcome=\"conversions\",\n", " treatment=\"treated\",\n", " unit=\"market_id\",\n", " time=\"week\",\n", " post_periods=[7, 8, 9, 10, 11, 12],\n", ")\n", "\n", "comparison = pd.DataFrame({\n", " \"Method\": [\"Placebo (default)\", \"Bootstrap\"],\n", " \"ATT\": [results.att, results_boot.att],\n", " \"SE\": [results.se, results_boot.se],\n", " \"CI_low\": [results.conf_int[0], results_boot.conf_int[0]],\n", " \"CI_high\": [results.conf_int[1], results_boot.conf_int[1]],\n", "})\n", "comparison.round(2)" ] }, { "cell_type": "code", "execution_count": 15, "id": "t18-cell-030", "metadata": { "execution": { "iopub.execute_input": "2026-04-22T21:17:41.663265Z", "iopub.status.busy": "2026-04-22T21:17:41.663187Z", "iopub.status.idle": "2026-04-22T21:17:41.664937Z", "shell.execute_reply": "2026-04-22T21:17:41.664722Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "============================================================\n", "Practitioner Guidance — SyntheticDiD\n", "Baker et al. (2025) 8-Step Workflow\n", "============================================================\n", "\n", "Recommended next steps (7 remaining):\n", "\n", " * [HIGH] Step 1: Define target parameter\n", " Why: State explicitly what causal effect you are estimating (ATT, ATT(g,t), weighted/unweighted) and what policy question it answers.\n", " >>> # What is the target parameter? ATT? Weighted or unweighted?\n", "\n", " * [HIGH] Step 2: State identification assumptions\n", " Why: Name the parallel trends variant you are invoking (unconditional, conditional, PT-GT-NYT, etc.), the no-anticipation assumption, and any overlap conditions.\n", " >>> # Which PT variant? No-anticipation? Overlap?\n", "\n", " * [HIGH] Step 6: Check pre-treatment fit and weight concentration\n", " Why: Synthetic DiD relies on pre-treatment fit to construct weights. Poor fit or highly concentrated unit weights suggest the synthetic control may not approximate the counterfactual well.\n", " >>> print(f'Pre-treatment fit (RMSE): {results.pre_treatment_fit:.4f}')\n", " >>> concentration = results.get_weight_concentration()\n", " >>> print(f\"Effective N: {concentration['effective_n']:.1f}\")\n", " >>> print(f\"Top-5 weight share: {concentration['top_k_share']:.2%}\")\n", "\n", " - [MEDIUM] Step 6: In-time placebo\n", " Why: Re-estimate on shifted fake treatment dates in the pre-period. A credible design yields near-zero placebo ATTs — departures signal that something is being picked up pre-treatment, weakening the causal interpretation.\n", " >>> placebo_df = results.in_time_placebo()\n", " >>> print(placebo_df)\n", "\n", " - [MEDIUM] Step 6: Leave-one-out influence (jackknife)\n", " Why: If the estimate is driven by a single unit, robustness is weak. Fit with variance_method='jackknife' and inspect which units move the ATT the most.\n", " >>> # Requires variance_method='jackknife' AND enough support for LOO\n", " >>> # (n_treated >= 2 and >= 2 effective-weight controls).\n", " >>> if getattr(results, '_loo_unit_ids', None) is not None:\n", " >>> loo_df = results.get_loo_effects_df()\n", " >>> print(loo_df.head(10))\n", " >>> else:\n", " >>> print('LOO not available - re-fit with '\n", " >>> 'variance_method=\"jackknife\" and ensure >=2 treated units '\n", " >>> 'with positive effective support.')\n", "\n", " - [LOW] Step 6: Regularization sensitivity (zeta_omega)\n", " Why: The unit-weight regularization is auto-selected from data. Show whether the ATT moves materially across a grid of values to gauge robustness to this choice.\n", " >>> sens_df = results.sensitivity_to_zeta_omega()\n", " >>> print(sens_df)\n", "\n", " * [HIGH] Step 8: Compare with staggered estimators (CS, SA)\n", " Why: SyntheticDiD is for few treated units; compare with staggered estimators if applicable. Use TROP only if factor confounding is suspected (different use case).\n", " >>> from diff_diff import CallawaySantAnna\n", " >>> cs = CallawaySantAnna()\n", " >>> cs_result = cs.fit(data, ...)\n", " >>> print(f'SDiD ATT: {results.att:.4f}, CS ATT: {cs_result.overall_att:.4f}')\n", "\n", "============================================================\n", "\n" ] } ], "source": [ "# Automated diagnostic checklist following Baker et al. (2025).\n", "# practitioner_next_steps prints a formatted summary AND returns a dict;\n", "# assigning to `_` keeps Jupyter from re-displaying the dict.\n", "_ = practitioner_next_steps(results)" ] }, { "cell_type": "markdown", "id": "t18-cell-031", "metadata": {}, "source": [ "**Why no parallel-trends test?** The Baker et al. workflow includes an explicit parallel-trends check (Step 3), but `practitioner_next_steps` skips it for `SyntheticDiD`. The reason isn't that SDiD has no identifying assumptions — it's that the relevant diagnostic is different. Basic DiD requires the *unweighted* control units to be on a parallel trend with the treated, an assumption that's notoriously fragile in geo-experiments where markets respond to different macro forces. SDiD instead reweights both units and time periods so the synthetic control's pre-trend matches the treated pre-trend by construction, then estimates the effect on those weighted comparisons. Identification still rests on assumptions (parallel trends in the *weighted* averages, no anticipation, design plausibility), but the empirical diagnostic shifts from \"are the raw control units parallel?\" to \"is the synthetic match tight enough?\" — which is exactly the pre-treatment fit RMSE we inspected in Section 4. This is what Arkhangelsky et al. (2021) call making the DiD strategy \"more plausible\" by automating the kind of pre-period adjustment that practitioners already do informally with covariates and period selection." ] }, { "cell_type": "markdown", "id": "t18-cell-032", "metadata": {}, "source": [ "## 6. Communicating Results to Leadership" ] }, { "cell_type": "markdown", "id": "t18-cell-033", "metadata": {}, "source": [ "A stakeholder-ready summary of the synthetic walkthrough (Sections 3-5 results):\n", "\n", "> **Headline.** The pilot campaign lifted weekly conversions in the 5 test markets by approximately **312 per market per week** (95% CI: 298 to 326), or about a **21% lift** on a baseline of ~1,500 conversions per market per week.\n", ">\n", "> **Sample size and design.** 5 pilot markets, 75 control markets. 12 weeks of weekly data: 6 weeks pre-launch, 6 weeks post-launch. Outcome: weekly conversions per market. Method: Synthetic Difference-in-Differences (Arkhangelsky et al. 2021), the canonical generalization of synthetic control to multi-treated panel settings. The 75 control markets serve as the donor pool that SDiD reweights to construct a counterfactual specific to the 5 pilot markets.\n", ">\n", "> **Validity evidence.** The synthetic control's pre-treatment fit RMSE is well below the standard deviation of treated pre-period outcomes (the library would warn otherwise), which means the weighted blend of donor markets tracks the treated pre-trend closely. The placebo standard error matches the published Arkhangelsky et al. (2021) method, and we cross-checked with paper-faithful refit bootstrap inference (Section 5) — both methods agree on the point estimate (311.85) and on the result's significance, with bootstrap producing a narrower CI than placebo on this small panel (5 treated × 6 pre-periods, factor-model heterogeneity). The estimate is statistically significant under both inference methods, and the placebo 95% CI cleanly covers the true treatment effect on the synthetic data we used to demonstrate the workflow.\n", ">\n", "> **What \"312 conversions per market per week\" means in business terms.** Across 5 pilot markets and 6 weeks, that's roughly 9,400 incremental conversions attributable to the campaign in this small pilot. Translate to your own revenue-per-conversion to compare against the pilot's campaign spend, then use the per-market lift estimate to project what a broader rollout would deliver.\n", ">\n", "> **Practical significance caveat.** A 21% lift is large by marketing benchmarks, but whether the pilot justifies a broader rollout is a business judgment, not a statistical one. The statistics tell you the lift exists in these 5 markets; the business case tells you whether it's worth scaling, and a wider rollout will face its own market-specific surprises that 5 markets can't reveal.\n", "\n", "Adapt this template for your own campaign by swapping in your numbers from `results.summary()`, your own market counts, your own pre-period diagnostics, and your own conversion-to-revenue translation. The pattern — **headline → sample size and design → validity evidence → business interpretation → practical significance** — is the part to keep." ] } ], "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.6" } }, "nbformat": 4, "nbformat_minor": 5 }