{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "cf396dee",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.\n"
     ]
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 1;\n",
       "                var nbb_unformatted_code = \"%load_ext nb_black\\n\\nimport warnings\\n\\nwarnings.simplefilter(action=\\\"ignore\\\", category=FutureWarning)\\n\\nimport pymc3 as pm\\nimport pandas as pd\\nimport numpy as np\\nimport seaborn as sns\\nimport arviz as az\\nimport theano\\nimport theano.tensor as tt\\nimport matplotlib.pyplot as plt\\nimport statsmodels.stats.api as sms\\nimport altair as alt\";\n",
       "                var nbb_formatted_code = \"%load_ext nb_black\\n\\nimport warnings\\n\\nwarnings.simplefilter(action=\\\"ignore\\\", category=FutureWarning)\\n\\nimport pymc3 as pm\\nimport pandas as pd\\nimport numpy as np\\nimport seaborn as sns\\nimport arviz as az\\nimport theano\\nimport theano.tensor as tt\\nimport matplotlib.pyplot as plt\\nimport statsmodels.stats.api as sms\\nimport altair as alt\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%load_ext nb_black\n",
    "\n",
    "import warnings\n",
    "\n",
    "warnings.simplefilter(action=\"ignore\", category=FutureWarning)\n",
    "\n",
    "import pymc3 as pm\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import arviz as az\n",
    "import theano\n",
    "import theano.tensor as tt\n",
    "import matplotlib.pyplot as plt\n",
    "import statsmodels.stats.api as sms\n",
    "import altair as alt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c0a187df",
   "metadata": {},
   "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>Week_nr</th>\n",
       "      <th>Total</th>\n",
       "      <th>Total_scaled</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>158016</td>\n",
       "      <td>15.8016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>218733</td>\n",
       "      <td>21.8733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>268026</td>\n",
       "      <td>26.8026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>311895</td>\n",
       "      <td>31.1895</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>358098</td>\n",
       "      <td>35.8098</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>130</td>\n",
       "      <td>2308213</td>\n",
       "      <td>230.8213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>131</td>\n",
       "      <td>2332833</td>\n",
       "      <td>233.2833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>132</td>\n",
       "      <td>2346868</td>\n",
       "      <td>234.6868</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>133</td>\n",
       "      <td>2359112</td>\n",
       "      <td>235.9112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>134</td>\n",
       "      <td>2368328</td>\n",
       "      <td>236.8328</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>134 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Week_nr    Total  Total_scaled\n",
       "1          1   158016       15.8016\n",
       "2          2   218733       21.8733\n",
       "3          3   268026       26.8026\n",
       "4          4   311895       31.1895\n",
       "5          5   358098       35.8098\n",
       "..       ...      ...           ...\n",
       "130      130  2308213      230.8213\n",
       "131      131  2332833      233.2833\n",
       "132      132  2346868      234.6868\n",
       "133      133  2359112      235.9112\n",
       "134      134  2368328      236.8328\n",
       "\n",
       "[134 rows x 3 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 2;\n",
       "                var nbb_unformatted_code = \"data = pd.read_csv(\\\"./data/archon_arcana_weekly_20210619.csv\\\", thousands=\\\",\\\")\\ndata[\\\"Week_nr\\\"] = data.index\\ndata = data[data.Week_nr > 0]  # ignore first line which is day 3, start with week 1\\nmodel_data = data[[\\\"Week_nr\\\", \\\"Total\\\"]].copy()\\nmodel_data[\\\"Total_scaled\\\"] = (\\n    model_data[\\\"Total\\\"] / 10000\\n)  # PyMC3 doesn't seem to like very large numbers, so lets bring them down a few orders of magnitude\\nmodel_data\";\n",
       "                var nbb_formatted_code = \"data = pd.read_csv(\\\"./data/archon_arcana_weekly_20210619.csv\\\", thousands=\\\",\\\")\\ndata[\\\"Week_nr\\\"] = data.index\\ndata = data[data.Week_nr > 0]  # ignore first line which is day 3, start with week 1\\nmodel_data = data[[\\\"Week_nr\\\", \\\"Total\\\"]].copy()\\nmodel_data[\\\"Total_scaled\\\"] = (\\n    model_data[\\\"Total\\\"] / 10000\\n)  # PyMC3 doesn't seem to like very large numbers, so lets bring them down a few orders of magnitude\\nmodel_data\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = pd.read_csv(\"./data/archon_arcana_weekly_20210619.csv\", thousands=\",\")\n",
    "data[\"Week_nr\"] = data.index\n",
    "data = data[data.Week_nr > 0]  # ignore first line which is day 3, start with week 1\n",
    "model_data = data[[\"Week_nr\", \"Total\"]].copy()\n",
    "model_data[\"Total_scaled\"] = (\n",
    "    model_data[\"Total\"] / 10000\n",
    ")  # PyMC3 doesn't seem to like very large numbers, so lets bring them down a few orders of magnitude\n",
    "model_data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "105ba65d",
   "metadata": {},
   "source": [
    "## What if COVID-19 didn't happen, how many decks would have been sold\n",
    "\n",
    "We'll take model 5 from the previous notebook and add a twist, rather than including the start of COVID-19 in the model, we'll make it a fixed value using ```pm.Data``` this will allow us to change the value later on (to something in the future) so we can create a model that would behave as if the pandemic didn't happen."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "cd1b2f19",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Auto-assigning NUTS sampler...\n",
      "Initializing NUTS using adapt_diag...\n",
      "Multiprocess sampling (4 chains in 4 jobs)\n",
      "NUTS: [dt_interest, mm_interest, wc_interest, aoa_interest, cota_interest, decay_factor, weekly_registrations_precovid, weekly_registrations_covid, sigma]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "    <div>\n",
       "        <style>\n",
       "            /* Turns off some styling */\n",
       "            progress {\n",
       "                /* gets rid of default border in Firefox and Opera. */\n",
       "                border: none;\n",
       "                /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
       "                background-size: auto;\n",
       "            }\n",
       "            .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
       "                background: #F44336;\n",
       "            }\n",
       "        </style>\n",
       "      <progress value='8000' class='' max='8000' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
       "      100.00% [8000/8000 18:32<00:00 Sampling 4 chains, 420 divergences]\n",
       "    </div>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 1135 seconds.\n",
      "There were 11 divergences after tuning. Increase `target_accept` or reparameterize.\n",
      "There were 21 divergences after tuning. Increase `target_accept` or reparameterize.\n",
      "There were 385 divergences after tuning. Increase `target_accept` or reparameterize.\n",
      "The acceptance probability does not match the target. It is 0.6861368264329725, but should be close to 0.8. Try to increase the number of tuning steps.\n",
      "There were 3 divergences after tuning. Increase `target_accept` or reparameterize.\n",
      "The rhat statistic is larger than 1.05 for some parameters. This indicates slight problems during sampling.\n",
      "The estimated number of effective samples is smaller than 200 for some parameters.\n"
     ]
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 4;\n",
       "                var nbb_unformatted_code = \"len_observed = len(model_data)\\nwith pm.Model() as model_5:\\n    # priors\\n    sigma = pm.Exponential(\\\"sigma\\\", lam=1.0)  # Sigma for likelihood function\\n\\n    # here we set the start of covid manually (based on previous notebook)\\n    # this way it can be changed after fitting the model\\n    covid_start = pm.Data(\\\"covid_start\\\", 68)\\n\\n    # We know from the previous that mu before and during covid should be around 0.8 and 3.0 respectively\\n    # Sigma is reduced here not to diverge to far from these values\\n    BoundNormal_0 = pm.Bound(pm.Normal, lower=0)\\n    weekly_registrations_covid = BoundNormal_0(\\n        \\\"weekly_registrations_covid\\\", mu=0.8, sigma=0.5\\n    )\\n    weekly_registrations_precovid = BoundNormal_0(\\n        \\\"weekly_registrations_precovid\\\", mu=3, sigma=0.5\\n    )\\n\\n    weekly_registrations_base = pm.math.switch(\\n        covid_start >= model_data.Week_nr,\\n        weekly_registrations_precovid,\\n        weekly_registrations_covid,\\n    )\\n\\n    # Model extra registrations due to shifting interest (like new sets being released)\\n    # The interest factor is calculated on a weekly basis\\n    decay_factor = pm.Exponential(\\\"decay_factor\\\", lam=1.0)\\n\\n    cota_interest = pm.HalfNormal(\\\"cota_interest\\\", sigma=2)\\n    aoa_interest = pm.HalfNormal(\\\"aoa_interest\\\", sigma=2)\\n    wc_interest = pm.HalfNormal(\\\"wc_interest\\\", sigma=2)\\n    mm_interest = pm.HalfNormal(\\\"mm_interest\\\", sigma=2)\\n    dt_interest = pm.HalfNormal(\\\"dt_interest\\\", sigma=2)\\n\\n    cota_surplus = pm.Deterministic(\\n        \\\"cota_surplus\\\", cota_interest * weekly_registrations_base[0]\\n    )\\n    aoa_surplus = pm.Deterministic(\\n        \\\"aoa_surplus\\\", aoa_interest * weekly_registrations_base[27]\\n    )\\n    wc_surplus = pm.Deterministic(\\n        \\\"wc_surplus\\\", wc_interest * weekly_registrations_base[50]\\n    )\\n    mm_surplus = pm.Deterministic(\\n        \\\"mm_surplus\\\", mm_interest * weekly_registrations_base[85]\\n    )\\n    dt_surplus = pm.Deterministic(\\n        \\\"dt_surplus\\\", dt_interest * weekly_registrations_base[126]\\n    )\\n\\n    interest_decayed = [cota_interest]\\n\\n    for i in range(len_observed - 1):\\n        new_element = interest_decayed[i] * decay_factor\\n        if i == 27:\\n            new_element += aoa_interest\\n        if i == 50:\\n            new_element += wc_interest\\n        if i == 85:\\n            new_element += mm_interest\\n        if i == 126:\\n            new_element += dt_interest\\n        interest_decayed.append(new_element)\\n\\n    # there were 150k decks registered the first week, that is the initial value\\n    y0 = tt.zeros(len_observed)\\n    y0 = tt.set_subtensor(y0[0], 15)\\n\\n    outputs, _ = theano.scan(\\n        fn=lambda t, y, ws, intfac: tt.set_subtensor(\\n            y[t], (ws[t] * (1 + intfac[t])) + y[t - 1]\\n        ),\\n        sequences=[tt.arange(1, len_observed)],\\n        outputs_info=y0,\\n        non_sequences=[weekly_registrations_base, interest_decayed],\\n        n_steps=len_observed - 1,\\n    )\\n\\n    total_registrations = pm.Deterministic(\\\"total_registrations\\\", outputs[-1])\\n\\n    # Likelihood\\n    likelihood = pm.Normal(\\n        \\\"y\\\", mu=total_registrations, sigma=sigma, observed=model_data.Total_scaled\\n    )\\n\\n    # posterior\\n    trace_5 = pm.sample(1000, cores=4, chains=4, init=\\\"adapt_diag\\\")\";\n",
       "                var nbb_formatted_code = \"len_observed = len(model_data)\\nwith pm.Model() as model_5:\\n    # priors\\n    sigma = pm.Exponential(\\\"sigma\\\", lam=1.0)  # Sigma for likelihood function\\n\\n    # here we set the start of covid manually (based on previous notebook)\\n    # this way it can be changed after fitting the model\\n    covid_start = pm.Data(\\\"covid_start\\\", 68)\\n\\n    # We know from the previous that mu before and during covid should be around 0.8 and 3.0 respectively\\n    # Sigma is reduced here not to diverge to far from these values\\n    BoundNormal_0 = pm.Bound(pm.Normal, lower=0)\\n    weekly_registrations_covid = BoundNormal_0(\\n        \\\"weekly_registrations_covid\\\", mu=0.8, sigma=0.5\\n    )\\n    weekly_registrations_precovid = BoundNormal_0(\\n        \\\"weekly_registrations_precovid\\\", mu=3, sigma=0.5\\n    )\\n\\n    weekly_registrations_base = pm.math.switch(\\n        covid_start >= model_data.Week_nr,\\n        weekly_registrations_precovid,\\n        weekly_registrations_covid,\\n    )\\n\\n    # Model extra registrations due to shifting interest (like new sets being released)\\n    # The interest factor is calculated on a weekly basis\\n    decay_factor = pm.Exponential(\\\"decay_factor\\\", lam=1.0)\\n\\n    cota_interest = pm.HalfNormal(\\\"cota_interest\\\", sigma=2)\\n    aoa_interest = pm.HalfNormal(\\\"aoa_interest\\\", sigma=2)\\n    wc_interest = pm.HalfNormal(\\\"wc_interest\\\", sigma=2)\\n    mm_interest = pm.HalfNormal(\\\"mm_interest\\\", sigma=2)\\n    dt_interest = pm.HalfNormal(\\\"dt_interest\\\", sigma=2)\\n\\n    cota_surplus = pm.Deterministic(\\n        \\\"cota_surplus\\\", cota_interest * weekly_registrations_base[0]\\n    )\\n    aoa_surplus = pm.Deterministic(\\n        \\\"aoa_surplus\\\", aoa_interest * weekly_registrations_base[27]\\n    )\\n    wc_surplus = pm.Deterministic(\\n        \\\"wc_surplus\\\", wc_interest * weekly_registrations_base[50]\\n    )\\n    mm_surplus = pm.Deterministic(\\n        \\\"mm_surplus\\\", mm_interest * weekly_registrations_base[85]\\n    )\\n    dt_surplus = pm.Deterministic(\\n        \\\"dt_surplus\\\", dt_interest * weekly_registrations_base[126]\\n    )\\n\\n    interest_decayed = [cota_interest]\\n\\n    for i in range(len_observed - 1):\\n        new_element = interest_decayed[i] * decay_factor\\n        if i == 27:\\n            new_element += aoa_interest\\n        if i == 50:\\n            new_element += wc_interest\\n        if i == 85:\\n            new_element += mm_interest\\n        if i == 126:\\n            new_element += dt_interest\\n        interest_decayed.append(new_element)\\n\\n    # there were 150k decks registered the first week, that is the initial value\\n    y0 = tt.zeros(len_observed)\\n    y0 = tt.set_subtensor(y0[0], 15)\\n\\n    outputs, _ = theano.scan(\\n        fn=lambda t, y, ws, intfac: tt.set_subtensor(\\n            y[t], (ws[t] * (1 + intfac[t])) + y[t - 1]\\n        ),\\n        sequences=[tt.arange(1, len_observed)],\\n        outputs_info=y0,\\n        non_sequences=[weekly_registrations_base, interest_decayed],\\n        n_steps=len_observed - 1,\\n    )\\n\\n    total_registrations = pm.Deterministic(\\\"total_registrations\\\", outputs[-1])\\n\\n    # Likelihood\\n    likelihood = pm.Normal(\\n        \\\"y\\\", mu=total_registrations, sigma=sigma, observed=model_data.Total_scaled\\n    )\\n\\n    # posterior\\n    trace_5 = pm.sample(1000, cores=4, chains=4, init=\\\"adapt_diag\\\")\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "len_observed = len(model_data)\n",
    "with pm.Model() as model_5:\n",
    "    # priors\n",
    "    sigma = pm.Exponential(\"sigma\", lam=1.0)  # Sigma for likelihood function\n",
    "\n",
    "    # here we set the start of covid manually (based on previous notebook)\n",
    "    # this way it can be changed after fitting the model\n",
    "    covid_start = pm.Data(\"covid_start\", 68)\n",
    "\n",
    "    # We know from the previous that mu before and during covid should be around 0.8 and 3.0 respectively\n",
    "    # Sigma is reduced here not to diverge to far from these values\n",
    "    BoundNormal_0 = pm.Bound(pm.Normal, lower=0)\n",
    "    weekly_registrations_covid = BoundNormal_0(\n",
    "        \"weekly_registrations_covid\", mu=0.8, sigma=0.5\n",
    "    )\n",
    "    weekly_registrations_precovid = BoundNormal_0(\n",
    "        \"weekly_registrations_precovid\", mu=3, sigma=0.5\n",
    "    )\n",
    "\n",
    "    weekly_registrations_base = pm.math.switch(\n",
    "        covid_start >= model_data.Week_nr,\n",
    "        weekly_registrations_precovid,\n",
    "        weekly_registrations_covid,\n",
    "    )\n",
    "\n",
    "    # Model extra registrations due to shifting interest (like new sets being released)\n",
    "    # The interest factor is calculated on a weekly basis\n",
    "    decay_factor = pm.Exponential(\"decay_factor\", lam=1.0)\n",
    "\n",
    "    cota_interest = pm.HalfNormal(\"cota_interest\", sigma=2)\n",
    "    aoa_interest = pm.HalfNormal(\"aoa_interest\", sigma=2)\n",
    "    wc_interest = pm.HalfNormal(\"wc_interest\", sigma=2)\n",
    "    mm_interest = pm.HalfNormal(\"mm_interest\", sigma=2)\n",
    "    dt_interest = pm.HalfNormal(\"dt_interest\", sigma=2)\n",
    "\n",
    "    cota_surplus = pm.Deterministic(\n",
    "        \"cota_surplus\", cota_interest * weekly_registrations_base[0]\n",
    "    )\n",
    "    aoa_surplus = pm.Deterministic(\n",
    "        \"aoa_surplus\", aoa_interest * weekly_registrations_base[27]\n",
    "    )\n",
    "    wc_surplus = pm.Deterministic(\n",
    "        \"wc_surplus\", wc_interest * weekly_registrations_base[50]\n",
    "    )\n",
    "    mm_surplus = pm.Deterministic(\n",
    "        \"mm_surplus\", mm_interest * weekly_registrations_base[85]\n",
    "    )\n",
    "    dt_surplus = pm.Deterministic(\n",
    "        \"dt_surplus\", dt_interest * weekly_registrations_base[126]\n",
    "    )\n",
    "\n",
    "    interest_decayed = [cota_interest]\n",
    "\n",
    "    for i in range(len_observed - 1):\n",
    "        new_element = interest_decayed[i] * decay_factor\n",
    "        if i == 27:\n",
    "            new_element += aoa_interest\n",
    "        if i == 50:\n",
    "            new_element += wc_interest\n",
    "        if i == 85:\n",
    "            new_element += mm_interest\n",
    "        if i == 126:\n",
    "            new_element += dt_interest\n",
    "        interest_decayed.append(new_element)\n",
    "\n",
    "    # there were 150k decks registered the first week, that is the initial value\n",
    "    y0 = tt.zeros(len_observed)\n",
    "    y0 = tt.set_subtensor(y0[0], 15)\n",
    "\n",
    "    outputs, _ = theano.scan(\n",
    "        fn=lambda t, y, ws, intfac: tt.set_subtensor(\n",
    "            y[t], (ws[t] * (1 + intfac[t])) + y[t - 1]\n",
    "        ),\n",
    "        sequences=[tt.arange(1, len_observed)],\n",
    "        outputs_info=y0,\n",
    "        non_sequences=[weekly_registrations_base, interest_decayed],\n",
    "        n_steps=len_observed - 1,\n",
    "    )\n",
    "\n",
    "    total_registrations = pm.Deterministic(\"total_registrations\", outputs[-1])\n",
    "\n",
    "    # Likelihood\n",
    "    likelihood = pm.Normal(\n",
    "        \"y\", mu=total_registrations, sigma=sigma, observed=model_data.Total_scaled\n",
    "    )\n",
    "\n",
    "    # posterior\n",
    "    trace_5 = pm.sample(1000, cores=4, chains=4, init=\"adapt_diag\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "e25a70b8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "output __str__ = [ 15.          17.10610287  18.87279496  20.40422542  21.77258495\n",
      "  23.02791231  24.20489176  25.32756456  26.41259487  27.47153339\n",
      "  28.51238646  29.54070365  30.56033163  31.57393671  32.58336703\n",
      "  33.58990363  34.59443446  35.59757499  36.59975184  37.60126071\n",
      "  38.60230659  39.60303153  40.60353403  41.60388233  42.60412375\n",
      "  43.60429109  44.60440709  45.60448749  48.20031234  50.30645384\n",
      "  52.0731727   53.60462172  54.97299411  56.2283304   57.40531602\n",
      "  58.52799311  59.61302639  60.67196697  61.71282146  62.74113964\n",
      "  63.7607683   64.77437386  65.78380451  66.79034134  67.79487232\n",
      "  68.79801296  69.80018989  70.80169882  71.80274473  72.8034697\n",
      "  73.80397221  76.40008965  78.50643395  80.27329339  81.80483984\n",
      "  83.17327977  84.42866287  85.60568095  86.72838053  87.8134294\n",
      "  88.87238078  89.91324277  90.94156614  91.9611984   92.97480645\n",
      "  93.98423883  94.99077686  95.99530867  96.99844989  98.00062721\n",
      "  99.00213642 100.00318252 101.00390762 102.00441023 103.0047586\n",
      " 104.00500008 105.00516746 106.00528348 107.0053639  108.00541964\n",
      " 109.00545828 110.00548506 111.00550362 112.00551649 113.00552541\n",
      " 114.00553159 116.60130499 118.70741083 120.47410498 122.00553687\n",
      " 123.37389739 124.62922544 125.80620536 126.92887849 128.01390903\n",
      " 129.07284771 130.11370089 131.14201815 132.16164618 133.1752513\n",
      " 134.18468165 135.19121826 136.1957491  137.19888964 138.2010665\n",
      " 139.20257538 140.20362125 141.2043462  142.2048487  143.205197\n",
      " 144.20543842 145.20560577 146.20572176 147.20580216 148.20585789\n",
      " 149.20589652 150.20592329 151.20594185 152.20595472 153.20596363\n",
      " 154.20596981 155.2059741  156.20597707 157.20597913 158.20598055\n",
      " 159.20598154 160.20598223 162.80175182 164.90785502 166.67454734\n",
      " 168.20597796 169.5743376  170.82966504 172.00664454]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Print{message='output', attrs=('__str__',), global_fn=<function _print_fn at 0x00000149D1710E50>}.0"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 52;\n",
       "                var nbb_unformatted_code = \"theano.printing.Print(\\\"output\\\")(outputs[-1])\";\n",
       "                var nbb_formatted_code = \"theano.printing.Print(\\\"output\\\")(outputs[-1])\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "theano.printing.Print(\"output\")(outputs[-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "94cf34c7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div>\n",
       "        <style>\n",
       "            /* Turns off some styling */\n",
       "            progress {\n",
       "                /* gets rid of default border in Firefox and Opera. */\n",
       "                border: none;\n",
       "                /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
       "                background-size: auto;\n",
       "            }\n",
       "            .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
       "                background: #F44336;\n",
       "            }\n",
       "        </style>\n",
       "      <progress value='4000' class='' max='4000' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
       "      100.00% [4000/4000 01:54<00:00]\n",
       "    </div>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "<div id=\"altair-viz-00924466b0634bc59dc9b1882c7d69e6\"></div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(spec, embedOpt){\n",
       "    let outputDiv = document.currentScript.previousElementSibling;\n",
       "    if (outputDiv.id !== \"altair-viz-00924466b0634bc59dc9b1882c7d69e6\") {\n",
       "      outputDiv = document.getElementById(\"altair-viz-00924466b0634bc59dc9b1882c7d69e6\");\n",
       "    }\n",
       "    const paths = {\n",
       "      \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n",
       "      \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n",
       "      \"vega-lite\": \"https://cdn.jsdelivr.net/npm//vega-lite@4.8.1?noext\",\n",
       "      \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n",
       "    };\n",
       "\n",
       "    function loadScript(lib) {\n",
       "      return new Promise(function(resolve, reject) {\n",
       "        var s = document.createElement('script');\n",
       "        s.src = paths[lib];\n",
       "        s.async = true;\n",
       "        s.onload = () => resolve(paths[lib]);\n",
       "        s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n",
       "        document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "      });\n",
       "    }\n",
       "\n",
       "    function showError(err) {\n",
       "      outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n",
       "      throw err;\n",
       "    }\n",
       "\n",
       "    function displayChart(vegaEmbed) {\n",
       "      vegaEmbed(outputDiv, spec, embedOpt)\n",
       "        .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n",
       "    }\n",
       "\n",
       "    if(typeof define === \"function\" && define.amd) {\n",
       "      requirejs.config({paths});\n",
       "      require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n",
       "    } else if (typeof vegaEmbed === \"function\") {\n",
       "      displayChart(vegaEmbed);\n",
       "    } else {\n",
       "      loadScript(\"vega\")\n",
       "        .then(() => loadScript(\"vega-lite\"))\n",
       "        .then(() => loadScript(\"vega-embed\"))\n",
       "        .catch(showError)\n",
       "        .then(() => displayChart(vegaEmbed));\n",
       "    }\n",
       "  })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"layer\": [{\"mark\": {\"type\": \"area\", \"color\": \"#333333\", \"opacity\": 0.2}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"title\": \"Decks Registered\"}, \"y2\": {\"field\": \"max_posterior_predictor\"}}}, {\"mark\": {\"type\": \"line\", \"color\": \"#333333\", \"opacity\": 0.7}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\"}}}, {\"mark\": \"line\", \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"Total_scaled\"}}}], \"data\": {\"name\": \"data-51ec81421fdf52d08a40ffd238076c89\"}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.8.1.json\", \"datasets\": {\"data-51ec81421fdf52d08a40ffd238076c89\": [{\"min_posterior_predictor\": 104666.15616113889, \"max_posterior_predictor\": 190108.7556722026, \"mean_posterior_predictor\": 149984.05748437843, \"Total_scaled\": 158016.0, \"Week_nr\": 1}, {\"min_posterior_predictor\": 178362.35432578533, \"max_posterior_predictor\": 260597.00672475962, \"mean_posterior_predictor\": 218785.53467140606, \"Total_scaled\": 218733.0, \"Week_nr\": 2}, {\"min_posterior_predictor\": 234283.77168562892, \"max_posterior_predictor\": 320224.62396073417, \"mean_posterior_predictor\": 278920.4613964359, \"Total_scaled\": 268026.0, \"Week_nr\": 3}, {\"min_posterior_predictor\": 283670.59217023745, \"max_posterior_predictor\": 374798.22444942687, \"mean_posterior_predictor\": 331183.84579008515, \"Total_scaled\": 311895.0, \"Week_nr\": 4}, {\"min_posterior_predictor\": 336403.4783524505, \"max_posterior_predictor\": 419085.2763523551, \"mean_posterior_predictor\": 377945.43287626584, \"Total_scaled\": 358098.0, \"Week_nr\": 5}, {\"min_posterior_predictor\": 374927.16715557163, \"max_posterior_predictor\": 458690.76189818245, \"mean_posterior_predictor\": 419210.15583788964, \"Total_scaled\": 410409.99999999994, \"Week_nr\": 6}, {\"min_posterior_predictor\": 415455.75026633864, \"max_posterior_predictor\": 491424.3873432235, \"mean_posterior_predictor\": 456102.27744870953, \"Total_scaled\": 449141.0, \"Week_nr\": 7}, {\"min_posterior_predictor\": 447301.75389585155, \"max_posterior_predictor\": 534683.3153239554, \"mean_posterior_predictor\": 489730.15524088865, \"Total_scaled\": 484733.0, \"Week_nr\": 8}, {\"min_posterior_predictor\": 480038.0544267347, \"max_posterior_predictor\": 567736.3761020893, \"mean_posterior_predictor\": 520390.0402738436, \"Total_scaled\": 514875.0, \"Week_nr\": 9}, {\"min_posterior_predictor\": 508077.9881785983, \"max_posterior_predictor\": 585594.8439224254, \"mean_posterior_predictor\": 548083.9282652714, \"Total_scaled\": 542482.0, \"Week_nr\": 10}, {\"min_posterior_predictor\": 536441.6174502382, \"max_posterior_predictor\": 625329.4340481593, \"mean_posterior_predictor\": 574246.741071835, \"Total_scaled\": 567390.0, \"Week_nr\": 11}, {\"min_posterior_predictor\": 555719.4399178977, \"max_posterior_predictor\": 641326.3586954128, \"mean_posterior_predictor\": 598359.3026859373, \"Total_scaled\": 588272.0, \"Week_nr\": 12}, {\"min_posterior_predictor\": 579476.3892169921, \"max_posterior_predictor\": 665135.2744320917, \"mean_posterior_predictor\": 621542.837390334, \"Total_scaled\": 612802.0, \"Week_nr\": 13}, {\"min_posterior_predictor\": 597394.3397399101, \"max_posterior_predictor\": 682541.8161211218, \"mean_posterior_predictor\": 643045.960927951, \"Total_scaled\": 637707.0, \"Week_nr\": 14}, {\"min_posterior_predictor\": 620520.4789406398, \"max_posterior_predictor\": 705833.990461125, \"mean_posterior_predictor\": 663571.9837353053, \"Total_scaled\": 661436.0000000001, \"Week_nr\": 15}, {\"min_posterior_predictor\": 643959.8276616201, \"max_posterior_predictor\": 724175.4701899706, \"mean_posterior_predictor\": 683481.3214383032, \"Total_scaled\": 682800.0, \"Week_nr\": 16}, {\"min_posterior_predictor\": 656420.6521850462, \"max_posterior_predictor\": 747108.8850805771, \"mean_posterior_predictor\": 702471.8361915195, \"Total_scaled\": 705082.0, \"Week_nr\": 17}, {\"min_posterior_predictor\": 672520.3039008162, \"max_posterior_predictor\": 766869.607724036, \"mean_posterior_predictor\": 721254.7505029652, \"Total_scaled\": 726628.9999999999, \"Week_nr\": 18}, {\"min_posterior_predictor\": 701430.6068929341, \"max_posterior_predictor\": 778261.9013525576, \"mean_posterior_predictor\": 739249.0366241361, \"Total_scaled\": 746798.0, \"Week_nr\": 19}, {\"min_posterior_predictor\": 712929.424652226, \"max_posterior_predictor\": 800516.0346760907, \"mean_posterior_predictor\": 756522.4020353089, \"Total_scaled\": 765487.0, \"Week_nr\": 20}, {\"min_posterior_predictor\": 730294.0682302167, \"max_posterior_predictor\": 812587.2092947421, \"mean_posterior_predictor\": 773872.2465805071, \"Total_scaled\": 781028.0, \"Week_nr\": 21}, {\"min_posterior_predictor\": 749752.570284891, \"max_posterior_predictor\": 835672.9840916974, \"mean_posterior_predictor\": 790568.0812821407, \"Total_scaled\": 796341.0, \"Week_nr\": 22}, {\"min_posterior_predictor\": 765277.0818554678, \"max_posterior_predictor\": 866534.4168446461, \"mean_posterior_predictor\": 807501.0998164337, \"Total_scaled\": 808626.0, \"Week_nr\": 23}, {\"min_posterior_predictor\": 777909.9359152935, \"max_posterior_predictor\": 864041.8771146807, \"mean_posterior_predictor\": 824234.1504931081, \"Total_scaled\": 820202.0, \"Week_nr\": 24}, {\"min_posterior_predictor\": 787175.2416669303, \"max_posterior_predictor\": 887689.3369091246, \"mean_posterior_predictor\": 840226.750203473, \"Total_scaled\": 831495.0, \"Week_nr\": 25}, {\"min_posterior_predictor\": 813653.4241558278, \"max_posterior_predictor\": 896205.8932485569, \"mean_posterior_predictor\": 856166.9705720684, \"Total_scaled\": 842115.0, \"Week_nr\": 26}, {\"min_posterior_predictor\": 825598.8920272778, \"max_posterior_predictor\": 913434.628199733, \"mean_posterior_predictor\": 872635.7037295572, \"Total_scaled\": 851958.0, \"Week_nr\": 27}, {\"min_posterior_predictor\": 839922.5937530337, \"max_posterior_predictor\": 942676.5159056602, \"mean_posterior_predictor\": 888556.9633322819, \"Total_scaled\": 907925.0, \"Week_nr\": 28}, {\"min_posterior_predictor\": 880037.239764938, \"max_posterior_predictor\": 969506.1474009933, \"mean_posterior_predictor\": 930856.7502003097, \"Total_scaled\": 960040.9999999999, \"Week_nr\": 29}, {\"min_posterior_predictor\": 922969.4735746711, \"max_posterior_predictor\": 1013483.9910175734, \"mean_posterior_predictor\": 968788.2768729327, \"Total_scaled\": 993650.0, \"Week_nr\": 30}, {\"min_posterior_predictor\": 959267.821041514, \"max_posterior_predictor\": 1044389.790835495, \"mean_posterior_predictor\": 1003192.5789989628, \"Total_scaled\": 1023340.0, \"Week_nr\": 31}, {\"min_posterior_predictor\": 990840.7366269333, \"max_posterior_predictor\": 1081766.62198874, \"mean_posterior_predictor\": 1033670.1967227319, \"Total_scaled\": 1048610.0, \"Week_nr\": 32}, {\"min_posterior_predictor\": 1023355.3486533015, \"max_posterior_predictor\": 1101093.1346153233, \"mean_posterior_predictor\": 1062405.533586654, \"Total_scaled\": 1070131.0, \"Week_nr\": 33}, {\"min_posterior_predictor\": 1048360.7375734226, \"max_posterior_predictor\": 1130572.5197037943, \"mean_posterior_predictor\": 1088965.8744577633, \"Total_scaled\": 1091245.0, \"Week_nr\": 34}, {\"min_posterior_predictor\": 1072276.1846709843, \"max_posterior_predictor\": 1157658.9826148737, \"mean_posterior_predictor\": 1113352.85242217, \"Total_scaled\": 1112175.0, \"Week_nr\": 35}, {\"min_posterior_predictor\": 1094990.2386845478, \"max_posterior_predictor\": 1179578.7404301474, \"mean_posterior_predictor\": 1136454.8995588468, \"Total_scaled\": 1133563.0, \"Week_nr\": 36}, {\"min_posterior_predictor\": 1113344.711647727, \"max_posterior_predictor\": 1204079.1341124396, \"mean_posterior_predictor\": 1158100.334696751, \"Total_scaled\": 1159949.0, \"Week_nr\": 37}, {\"min_posterior_predictor\": 1137663.7207418669, \"max_posterior_predictor\": 1220180.1784172636, \"mean_posterior_predictor\": 1179338.4028424246, \"Total_scaled\": 1184302.0, \"Week_nr\": 38}, {\"min_posterior_predictor\": 1155591.1060773148, \"max_posterior_predictor\": 1241134.189872769, \"mean_posterior_predictor\": 1198609.515539389, \"Total_scaled\": 1204366.0, \"Week_nr\": 39}, {\"min_posterior_predictor\": 1171530.9636943478, \"max_posterior_predictor\": 1263203.5303719544, \"mean_posterior_predictor\": 1218156.9951445328, \"Total_scaled\": 1223308.0, \"Week_nr\": 40}, {\"min_posterior_predictor\": 1193752.377825055, \"max_posterior_predictor\": 1283090.3938832826, \"mean_posterior_predictor\": 1236364.5967083178, \"Total_scaled\": 1241919.0, \"Week_nr\": 41}, {\"min_posterior_predictor\": 1211810.7463887013, \"max_posterior_predictor\": 1301021.1423891804, \"mean_posterior_predictor\": 1254727.4589451929, \"Total_scaled\": 1257431.0, \"Week_nr\": 42}, {\"min_posterior_predictor\": 1225235.2115950647, \"max_posterior_predictor\": 1318058.5316233183, \"mean_posterior_predictor\": 1272522.7595171176, \"Total_scaled\": 1271526.0, \"Week_nr\": 43}, {\"min_posterior_predictor\": 1242365.7299319475, \"max_posterior_predictor\": 1332430.9188527826, \"mean_posterior_predictor\": 1289855.9584917303, \"Total_scaled\": 1285085.0, \"Week_nr\": 44}, {\"min_posterior_predictor\": 1267002.0922453373, \"max_posterior_predictor\": 1348966.0953776257, \"mean_posterior_predictor\": 1306594.6777724, \"Total_scaled\": 1297746.0, \"Week_nr\": 45}, {\"min_posterior_predictor\": 1279717.0727383539, \"max_posterior_predictor\": 1367867.76080364, \"mean_posterior_predictor\": 1323423.1989775824, \"Total_scaled\": 1310925.0, \"Week_nr\": 46}, {\"min_posterior_predictor\": 1295569.9303033683, \"max_posterior_predictor\": 1388597.0706172714, \"mean_posterior_predictor\": 1340182.2592911161, \"Total_scaled\": 1323397.0, \"Week_nr\": 47}, {\"min_posterior_predictor\": 1313653.7451866462, \"max_posterior_predictor\": 1402321.426643729, \"mean_posterior_predictor\": 1356251.5497204328, \"Total_scaled\": 1335482.0, \"Week_nr\": 48}, {\"min_posterior_predictor\": 1328730.3424141454, \"max_posterior_predictor\": 1419375.7909777616, \"mean_posterior_predictor\": 1372823.9456586805, \"Total_scaled\": 1348462.0, \"Week_nr\": 49}, {\"min_posterior_predictor\": 1347825.715035837, \"max_posterior_predictor\": 1440403.5451137677, \"mean_posterior_predictor\": 1388509.9317804205, \"Total_scaled\": 1361276.0, \"Week_nr\": 50}, {\"min_posterior_predictor\": 1358325.0307597453, \"max_posterior_predictor\": 1452169.0416603906, \"mean_posterior_predictor\": 1404343.8304605137, \"Total_scaled\": 1403570.0, \"Week_nr\": 51}, {\"min_posterior_predictor\": 1391623.1513811648, \"max_posterior_predictor\": 1484055.4654179432, \"mean_posterior_predictor\": 1434838.1594996417, \"Total_scaled\": 1451393.0, \"Week_nr\": 52}, {\"min_posterior_predictor\": 1420831.2571188775, \"max_posterior_predictor\": 1506989.5240731977, \"mean_posterior_predictor\": 1463779.752321814, \"Total_scaled\": 1480745.0, \"Week_nr\": 53}, {\"min_posterior_predictor\": 1446473.24226022, \"max_posterior_predictor\": 1534008.5712086614, \"mean_posterior_predictor\": 1489694.031369968, \"Total_scaled\": 1502119.0000000002, \"Week_nr\": 54}, {\"min_posterior_predictor\": 1472614.644246285, \"max_posterior_predictor\": 1553806.1814641112, \"mean_posterior_predictor\": 1514042.3245079073, \"Total_scaled\": 1528834.0, \"Week_nr\": 55}, {\"min_posterior_predictor\": 1493253.7125254676, \"max_posterior_predictor\": 1584946.128279168, \"mean_posterior_predictor\": 1536925.1520482334, \"Total_scaled\": 1550982.0, \"Week_nr\": 56}, {\"min_posterior_predictor\": 1517543.0184985958, \"max_posterior_predictor\": 1609959.9561663559, \"mean_posterior_predictor\": 1558665.8541774105, \"Total_scaled\": 1570683.0, \"Week_nr\": 57}, {\"min_posterior_predictor\": 1538995.425337759, \"max_posterior_predictor\": 1623948.9376161413, \"mean_posterior_predictor\": 1579161.8323219055, \"Total_scaled\": 1595322.0, \"Week_nr\": 58}, {\"min_posterior_predictor\": 1545556.0205357554, \"max_posterior_predictor\": 1645510.5915856566, \"mean_posterior_predictor\": 1599403.5375837125, \"Total_scaled\": 1614194.0, \"Week_nr\": 59}, {\"min_posterior_predictor\": 1578017.1020097595, \"max_posterior_predictor\": 1660911.66169897, \"mean_posterior_predictor\": 1617926.8419041645, \"Total_scaled\": 1631960.0, \"Week_nr\": 60}, {\"min_posterior_predictor\": 1595985.0337170847, \"max_posterior_predictor\": 1683631.5498404044, \"mean_posterior_predictor\": 1636410.9089222879, \"Total_scaled\": 1648776.0, \"Week_nr\": 61}, {\"min_posterior_predictor\": 1600925.4682113435, \"max_posterior_predictor\": 1697332.228398052, \"mean_posterior_predictor\": 1655000.6713574869, \"Total_scaled\": 1664830.0, \"Week_nr\": 62}, {\"min_posterior_predictor\": 1630046.8575103085, \"max_posterior_predictor\": 1723159.7505602203, \"mean_posterior_predictor\": 1672152.065442119, \"Total_scaled\": 1681211.0000000002, \"Week_nr\": 63}, {\"min_posterior_predictor\": 1645404.2861809132, \"max_posterior_predictor\": 1741474.365617882, \"mean_posterior_predictor\": 1689378.1384038688, \"Total_scaled\": 1695693.0, \"Week_nr\": 64}, {\"min_posterior_predictor\": 1669249.2546786943, \"max_posterior_predictor\": 1747999.3703014557, \"mean_posterior_predictor\": 1706410.6811831868, \"Total_scaled\": 1713873.0, \"Week_nr\": 65}, {\"min_posterior_predictor\": 1679980.5988211313, \"max_posterior_predictor\": 1762572.402953804, \"mean_posterior_predictor\": 1723078.605468756, \"Total_scaled\": 1726447.0, \"Week_nr\": 66}, {\"min_posterior_predictor\": 1703438.4497595357, \"max_posterior_predictor\": 1782142.929039181, \"mean_posterior_predictor\": 1739418.119527992, \"Total_scaled\": 1738317.0000000002, \"Week_nr\": 67}, {\"min_posterior_predictor\": 1716575.9513407445, \"max_posterior_predictor\": 1802604.1802953437, \"mean_posterior_predictor\": 1756136.617694302, \"Total_scaled\": 1750507.0, \"Week_nr\": 68}, {\"min_posterior_predictor\": 1722051.5448732828, \"max_posterior_predictor\": 1808033.988403896, \"mean_posterior_predictor\": 1762717.509856957, \"Total_scaled\": 1760062.0, \"Week_nr\": 69}, {\"min_posterior_predictor\": 1728662.411204074, \"max_posterior_predictor\": 1809367.523123007, \"mean_posterior_predictor\": 1769336.7715302277, \"Total_scaled\": 1766831.0, \"Week_nr\": 70}, {\"min_posterior_predictor\": 1735281.845043194, \"max_posterior_predictor\": 1818158.1470918667, \"mean_posterior_predictor\": 1775559.3357614584, \"Total_scaled\": 1771677.0, \"Week_nr\": 71}, {\"min_posterior_predictor\": 1740832.4458079278, \"max_posterior_predictor\": 1826439.813639035, \"mean_posterior_predictor\": 1782151.2029116983, \"Total_scaled\": 1775828.0, \"Week_nr\": 72}, {\"min_posterior_predictor\": 1734911.77760558, \"max_posterior_predictor\": 1829364.2995137072, \"mean_posterior_predictor\": 1788491.8376774972, \"Total_scaled\": 1779788.0, \"Week_nr\": 73}, {\"min_posterior_predictor\": 1754232.8702086778, \"max_posterior_predictor\": 1836028.7992552582, \"mean_posterior_predictor\": 1794671.676912059, \"Total_scaled\": 1784016.0, \"Week_nr\": 74}, {\"min_posterior_predictor\": 1756933.1792985895, \"max_posterior_predictor\": 1845761.9689057532, \"mean_posterior_predictor\": 1800878.477126733, \"Total_scaled\": 1788030.0, \"Week_nr\": 75}, {\"min_posterior_predictor\": 1758534.5518152965, \"max_posterior_predictor\": 1851867.6931438113, \"mean_posterior_predictor\": 1807726.7858771426, \"Total_scaled\": 1791936.0, \"Week_nr\": 76}, {\"min_posterior_predictor\": 1772693.6911485598, \"max_posterior_predictor\": 1860670.3615220177, \"mean_posterior_predictor\": 1814087.95419153, \"Total_scaled\": 1795764.0, \"Week_nr\": 77}, {\"min_posterior_predictor\": 1774845.195704621, \"max_posterior_predictor\": 1862347.5694377185, \"mean_posterior_predictor\": 1820002.546619489, \"Total_scaled\": 1801047.0, \"Week_nr\": 78}, {\"min_posterior_predictor\": 1786408.622119492, \"max_posterior_predictor\": 1864614.680924626, \"mean_posterior_predictor\": 1826150.6801083556, \"Total_scaled\": 1805679.0, \"Week_nr\": 79}, {\"min_posterior_predictor\": 1791624.7602764384, \"max_posterior_predictor\": 1874461.348459405, \"mean_posterior_predictor\": 1832697.465224675, \"Total_scaled\": 1814821.0, \"Week_nr\": 80}, {\"min_posterior_predictor\": 1797344.0623312115, \"max_posterior_predictor\": 1879523.9788985606, \"mean_posterior_predictor\": 1839097.426139276, \"Total_scaled\": 1825832.0, \"Week_nr\": 81}, {\"min_posterior_predictor\": 1801447.7913055348, \"max_posterior_predictor\": 1890649.3465126103, \"mean_posterior_predictor\": 1845317.1957011053, \"Total_scaled\": 1833307.0, \"Week_nr\": 82}, {\"min_posterior_predictor\": 1797630.79333891, \"max_posterior_predictor\": 1897751.78401724, \"mean_posterior_predictor\": 1851618.2643678428, \"Total_scaled\": 1840314.0, \"Week_nr\": 83}, {\"min_posterior_predictor\": 1821221.1503062702, \"max_posterior_predictor\": 1899183.854831388, \"mean_posterior_predictor\": 1857893.0015933623, \"Total_scaled\": 1845603.9999999998, \"Week_nr\": 84}, {\"min_posterior_predictor\": 1811295.204062353, \"max_posterior_predictor\": 1911981.043789848, \"mean_posterior_predictor\": 1864617.9035755172, \"Total_scaled\": 1851568.0, \"Week_nr\": 85}, {\"min_posterior_predictor\": 1830454.1470574697, \"max_posterior_predictor\": 1915119.3835457528, \"mean_posterior_predictor\": 1870606.9198103244, \"Total_scaled\": 1882009.0, \"Week_nr\": 86}, {\"min_posterior_predictor\": 1854604.0329117796, \"max_posterior_predictor\": 1946813.48843113, \"mean_posterior_predictor\": 1896403.4360156907, \"Total_scaled\": 1918689.0, \"Week_nr\": 87}, {\"min_posterior_predictor\": 1878870.197409644, \"max_posterior_predictor\": 1958600.1745408555, \"mean_posterior_predictor\": 1918797.919260945, \"Total_scaled\": 1944323.0, \"Week_nr\": 88}, {\"min_posterior_predictor\": 1896358.1474168925, \"max_posterior_predictor\": 1979760.5242283854, \"mean_posterior_predictor\": 1938678.8925533094, \"Total_scaled\": 1962893.0, \"Week_nr\": 89}, {\"min_posterior_predictor\": 1914830.672666629, \"max_posterior_predictor\": 1998033.756073944, \"mean_posterior_predictor\": 1956414.3562241339, \"Total_scaled\": 1976710.0, \"Week_nr\": 90}, {\"min_posterior_predictor\": 1930170.812113751, \"max_posterior_predictor\": 2011805.4754955603, \"mean_posterior_predictor\": 1972066.9256804984, \"Total_scaled\": 1987082.0, \"Week_nr\": 91}, {\"min_posterior_predictor\": 1943700.093111932, \"max_posterior_predictor\": 2033730.135952783, \"mean_posterior_predictor\": 1986481.281728945, \"Total_scaled\": 1996842.0, \"Week_nr\": 92}, {\"min_posterior_predictor\": 1959129.0296620415, \"max_posterior_predictor\": 2042124.3238578702, \"mean_posterior_predictor\": 1999170.5621964906, \"Total_scaled\": 2005245.0, \"Week_nr\": 93}, {\"min_posterior_predictor\": 1960422.359435465, \"max_posterior_predictor\": 2061726.0297884045, \"mean_posterior_predictor\": 2011037.4073215094, \"Total_scaled\": 2014350.0, \"Week_nr\": 94}, {\"min_posterior_predictor\": 1979425.1906161415, \"max_posterior_predictor\": 2070447.623169771, \"mean_posterior_predictor\": 2021990.4558524117, \"Total_scaled\": 2022263.0, \"Week_nr\": 95}, {\"min_posterior_predictor\": 1989369.3901620572, \"max_posterior_predictor\": 2083440.3833343259, \"mean_posterior_predictor\": 2031996.4660309774, \"Total_scaled\": 2030916.0, \"Week_nr\": 96}, {\"min_posterior_predictor\": 2003667.580700594, \"max_posterior_predictor\": 2087789.164042231, \"mean_posterior_predictor\": 2041765.7662680212, \"Total_scaled\": 2038949.0, \"Week_nr\": 97}, {\"min_posterior_predictor\": 2010793.0078788255, \"max_posterior_predictor\": 2088562.2899906326, \"mean_posterior_predictor\": 2050737.7582791569, \"Total_scaled\": 2046823.0, \"Week_nr\": 98}, {\"min_posterior_predictor\": 2014784.0824615394, \"max_posterior_predictor\": 2100866.232714353, \"mean_posterior_predictor\": 2059072.353124368, \"Total_scaled\": 2054041.0, \"Week_nr\": 99}, {\"min_posterior_predictor\": 2020816.0057931207, \"max_posterior_predictor\": 2110744.6261640866, \"mean_posterior_predictor\": 2067146.5929339058, \"Total_scaled\": 2060177.0, \"Week_nr\": 100}, {\"min_posterior_predictor\": 2031783.6307320201, \"max_posterior_predictor\": 2116837.970595054, \"mean_posterior_predictor\": 2075312.2056655858, \"Total_scaled\": 2067619.0, \"Week_nr\": 101}, {\"min_posterior_predictor\": 2040956.2510052782, \"max_posterior_predictor\": 2135195.225028127, \"mean_posterior_predictor\": 2082663.127806167, \"Total_scaled\": 2076810.9999999998, \"Week_nr\": 102}, {\"min_posterior_predictor\": 2048377.2145812924, \"max_posterior_predictor\": 2130184.2338516936, \"mean_posterior_predictor\": 2089831.0648329386, \"Total_scaled\": 2083661.0, \"Week_nr\": 103}, {\"min_posterior_predictor\": 2054995.735059004, \"max_posterior_predictor\": 2144147.791908768, \"mean_posterior_predictor\": 2097220.2896447093, \"Total_scaled\": 2090011.0, \"Week_nr\": 104}, {\"min_posterior_predictor\": 2062561.0888971423, \"max_posterior_predictor\": 2156891.9424829273, \"mean_posterior_predictor\": 2104232.222387226, \"Total_scaled\": 2096236.0, \"Week_nr\": 105}, {\"min_posterior_predictor\": 2066785.9813565107, \"max_posterior_predictor\": 2154708.1804123344, \"mean_posterior_predictor\": 2110982.6320318235, \"Total_scaled\": 2103205.0, \"Week_nr\": 106}, {\"min_posterior_predictor\": 2079903.790979294, \"max_posterior_predictor\": 2165075.0166512555, \"mean_posterior_predictor\": 2118126.589855369, \"Total_scaled\": 2111082.0, \"Week_nr\": 107}, {\"min_posterior_predictor\": 2083919.4966015785, \"max_posterior_predictor\": 2163858.455164716, \"mean_posterior_predictor\": 2124571.3472337574, \"Total_scaled\": 2117072.0, \"Week_nr\": 108}, {\"min_posterior_predictor\": 2088071.1077737687, \"max_posterior_predictor\": 2182534.418084709, \"mean_posterior_predictor\": 2131047.2927002124, \"Total_scaled\": 2124173.0, \"Week_nr\": 109}, {\"min_posterior_predictor\": 2096683.853941902, \"max_posterior_predictor\": 2177834.0093912487, \"mean_posterior_predictor\": 2137911.0212898105, \"Total_scaled\": 2132964.0, \"Week_nr\": 110}, {\"min_posterior_predictor\": 2095222.917540989, \"max_posterior_predictor\": 2187530.6044368767, \"mean_posterior_predictor\": 2144356.0688301697, \"Total_scaled\": 2140180.0, \"Week_nr\": 111}, {\"min_posterior_predictor\": 2099654.9201119933, \"max_posterior_predictor\": 2198886.829214838, \"mean_posterior_predictor\": 2150828.2228295114, \"Total_scaled\": 2149788.0, \"Week_nr\": 112}, {\"min_posterior_predictor\": 2101215.8780273334, \"max_posterior_predictor\": 2204635.4337348198, \"mean_posterior_predictor\": 2156952.7548034093, \"Total_scaled\": 2156773.0, \"Week_nr\": 113}, {\"min_posterior_predictor\": 2120372.98877868, \"max_posterior_predictor\": 2206025.8566086995, \"mean_posterior_predictor\": 2163649.2635356965, \"Total_scaled\": 2162860.0, \"Week_nr\": 114}, {\"min_posterior_predictor\": 2122226.964033421, \"max_posterior_predictor\": 2208929.0151279178, \"mean_posterior_predictor\": 2170005.1003858605, \"Total_scaled\": 2169322.0, \"Week_nr\": 115}, {\"min_posterior_predictor\": 2133687.7630502335, \"max_posterior_predictor\": 2217498.1380911036, \"mean_posterior_predictor\": 2176616.006942026, \"Total_scaled\": 2176378.0, \"Week_nr\": 116}, {\"min_posterior_predictor\": 2145990.29032642, \"max_posterior_predictor\": 2223525.0294720014, \"mean_posterior_predictor\": 2182920.895681379, \"Total_scaled\": 2182344.0, \"Week_nr\": 117}, {\"min_posterior_predictor\": 2147441.0291195423, \"max_posterior_predictor\": 2236139.435051836, \"mean_posterior_predictor\": 2189068.3168171993, \"Total_scaled\": 2188012.0, \"Week_nr\": 118}, {\"min_posterior_predictor\": 2157425.0688361907, \"max_posterior_predictor\": 2234922.082900293, \"mean_posterior_predictor\": 2195398.5655920887, \"Total_scaled\": 2193073.0, \"Week_nr\": 119}, {\"min_posterior_predictor\": 2158650.816261443, \"max_posterior_predictor\": 2249298.2215740667, \"mean_posterior_predictor\": 2201618.9574214574, \"Total_scaled\": 2199799.0, \"Week_nr\": 120}, {\"min_posterior_predictor\": 2165091.535032807, \"max_posterior_predictor\": 2251526.9064032123, \"mean_posterior_predictor\": 2207864.269464728, \"Total_scaled\": 2206517.0, \"Week_nr\": 121}, {\"min_posterior_predictor\": 2174506.8903502775, \"max_posterior_predictor\": 2255295.7288273377, \"mean_posterior_predictor\": 2214415.1827751677, \"Total_scaled\": 2213017.0, \"Week_nr\": 122}, {\"min_posterior_predictor\": 2174123.8225230183, \"max_posterior_predictor\": 2274238.1874597906, \"mean_posterior_predictor\": 2220606.2654805607, \"Total_scaled\": 2220233.0, \"Week_nr\": 123}, {\"min_posterior_predictor\": 2182318.186497229, \"max_posterior_predictor\": 2268898.4292512806, \"mean_posterior_predictor\": 2226586.4918640694, \"Total_scaled\": 2226398.0, \"Week_nr\": 124}, {\"min_posterior_predictor\": 2190202.779751918, \"max_posterior_predictor\": 2277530.926927723, \"mean_posterior_predictor\": 2233073.083385716, \"Total_scaled\": 2233166.0, \"Week_nr\": 125}, {\"min_posterior_predictor\": 2192527.9166283417, \"max_posterior_predictor\": 2282433.4922874346, \"mean_posterior_predictor\": 2239744.790190526, \"Total_scaled\": 2256253.0, \"Week_nr\": 126}, {\"min_posterior_predictor\": 2199825.170936202, \"max_posterior_predictor\": 2286617.603740338, \"mean_posterior_predictor\": 2245837.016013884, \"Total_scaled\": 2270314.0, \"Week_nr\": 127}, {\"min_posterior_predictor\": 2232264.2805982153, \"max_posterior_predictor\": 2311652.072288743, \"mean_posterior_predictor\": 2270936.316577412, \"Total_scaled\": 2281544.0, \"Week_nr\": 128}, {\"min_posterior_predictor\": 2251508.762632616, \"max_posterior_predictor\": 2339469.4818152147, \"mean_posterior_predictor\": 2292252.997456121, \"Total_scaled\": 2290966.0, \"Week_nr\": 129}, {\"min_posterior_predictor\": 2271169.5928965155, \"max_posterior_predictor\": 2351601.4838867527, \"mean_posterior_predictor\": 2311544.2127617397, \"Total_scaled\": 2308213.0, \"Week_nr\": 130}, {\"min_posterior_predictor\": 2275250.225349306, \"max_posterior_predictor\": 2373243.9009931944, \"mean_posterior_predictor\": 2328564.116412976, \"Total_scaled\": 2332833.0, \"Week_nr\": 131}, {\"min_posterior_predictor\": 2297468.5913359155, \"max_posterior_predictor\": 2385420.734590713, \"mean_posterior_predictor\": 2343746.8397787246, \"Total_scaled\": 2346868.0, \"Week_nr\": 132}, {\"min_posterior_predictor\": 2312453.984724053, \"max_posterior_predictor\": 2408814.210845273, \"mean_posterior_predictor\": 2357785.5381497364, \"Total_scaled\": 2359112.0, \"Week_nr\": 133}, {\"min_posterior_predictor\": 2322939.9671402415, \"max_posterior_predictor\": 2416334.133202107, \"mean_posterior_predictor\": 2369973.4355881996, \"Total_scaled\": 2368328.0, \"Week_nr\": 134}]}}, {\"mode\": \"vega-lite\"});\n",
       "</script>"
      ],
      "text/plain": [
       "alt.LayerChart(...)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 5;\n",
       "                var nbb_unformatted_code = \"from pymc3_altair import plot_fit_altair\\n\\nwith model_5:\\n    pm.set_data({\\\"covid_start\\\": 68})\\n\\nchart_with_covid = plot_fit_altair(model_5, trace_5, model_data)\\nchart_with_covid\";\n",
       "                var nbb_formatted_code = \"from pymc3_altair import plot_fit_altair\\n\\nwith model_5:\\n    pm.set_data({\\\"covid_start\\\": 68})\\n\\nchart_with_covid = plot_fit_altair(model_5, trace_5, model_data)\\nchart_with_covid\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pymc3_altair import plot_fit_altair\n",
    "\n",
    "with model_5:\n",
    "    pm.set_data({\"covid_start\": 68})\n",
    "\n",
    "chart_with_covid = plot_fit_altair(model_5, trace_5, model_data)\n",
    "chart_with_covid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "e42e2524",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div>\n",
       "        <style>\n",
       "            /* Turns off some styling */\n",
       "            progress {\n",
       "                /* gets rid of default border in Firefox and Opera. */\n",
       "                border: none;\n",
       "                /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
       "                background-size: auto;\n",
       "            }\n",
       "            .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
       "                background: #F44336;\n",
       "            }\n",
       "        </style>\n",
       "      <progress value='4000' class='' max='4000' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
       "      100.00% [4000/4000 01:51<00:00]\n",
       "    </div>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "<div id=\"altair-viz-0a6c67915f7d462f8e3f50ea6d98cb2c\"></div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(spec, embedOpt){\n",
       "    let outputDiv = document.currentScript.previousElementSibling;\n",
       "    if (outputDiv.id !== \"altair-viz-0a6c67915f7d462f8e3f50ea6d98cb2c\") {\n",
       "      outputDiv = document.getElementById(\"altair-viz-0a6c67915f7d462f8e3f50ea6d98cb2c\");\n",
       "    }\n",
       "    const paths = {\n",
       "      \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n",
       "      \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n",
       "      \"vega-lite\": \"https://cdn.jsdelivr.net/npm//vega-lite@4.8.1?noext\",\n",
       "      \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n",
       "    };\n",
       "\n",
       "    function loadScript(lib) {\n",
       "      return new Promise(function(resolve, reject) {\n",
       "        var s = document.createElement('script');\n",
       "        s.src = paths[lib];\n",
       "        s.async = true;\n",
       "        s.onload = () => resolve(paths[lib]);\n",
       "        s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n",
       "        document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "      });\n",
       "    }\n",
       "\n",
       "    function showError(err) {\n",
       "      outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n",
       "      throw err;\n",
       "    }\n",
       "\n",
       "    function displayChart(vegaEmbed) {\n",
       "      vegaEmbed(outputDiv, spec, embedOpt)\n",
       "        .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n",
       "    }\n",
       "\n",
       "    if(typeof define === \"function\" && define.amd) {\n",
       "      requirejs.config({paths});\n",
       "      require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n",
       "    } else if (typeof vegaEmbed === \"function\") {\n",
       "      displayChart(vegaEmbed);\n",
       "    } else {\n",
       "      loadScript(\"vega\")\n",
       "        .then(() => loadScript(\"vega-lite\"))\n",
       "        .then(() => loadScript(\"vega-embed\"))\n",
       "        .catch(showError)\n",
       "        .then(() => displayChart(vegaEmbed));\n",
       "    }\n",
       "  })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"layer\": [{\"mark\": {\"type\": \"area\", \"color\": \"#333333\", \"opacity\": 0.2}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"title\": \"Decks Registered\"}, \"y2\": {\"field\": \"max_posterior_predictor\"}}}, {\"mark\": {\"type\": \"line\", \"color\": \"#333333\", \"opacity\": 0.7}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\"}}}, {\"mark\": \"line\", \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"Total_scaled\"}}}], \"data\": {\"name\": \"data-ff6fa86c278375baa877de65c896c05b\"}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.8.1.json\", \"datasets\": {\"data-ff6fa86c278375baa877de65c896c05b\": [{\"min_posterior_predictor\": 111888.12728664982, \"max_posterior_predictor\": 194558.0758563198, \"mean_posterior_predictor\": 149959.4157371541, \"Total_scaled\": 158016.0, \"Week_nr\": 1}, {\"min_posterior_predictor\": 175355.00703044207, \"max_posterior_predictor\": 263120.9599323788, \"mean_posterior_predictor\": 218800.63666126688, \"Total_scaled\": 218733.0, \"Week_nr\": 2}, {\"min_posterior_predictor\": 237501.81550698346, \"max_posterior_predictor\": 325711.56671106396, \"mean_posterior_predictor\": 278440.122124775, \"Total_scaled\": 268026.0, \"Week_nr\": 3}, {\"min_posterior_predictor\": 284547.3275702865, \"max_posterior_predictor\": 373269.2244791804, \"mean_posterior_predictor\": 331333.3485021777, \"Total_scaled\": 311895.0, \"Week_nr\": 4}, {\"min_posterior_predictor\": 323079.63456078456, \"max_posterior_predictor\": 424539.0245828116, \"mean_posterior_predictor\": 377526.434156094, \"Total_scaled\": 358098.0, \"Week_nr\": 5}, {\"min_posterior_predictor\": 365890.5098152653, \"max_posterior_predictor\": 463596.58702044975, \"mean_posterior_predictor\": 419321.8051578593, \"Total_scaled\": 410409.99999999994, \"Week_nr\": 6}, {\"min_posterior_predictor\": 413368.85289014684, \"max_posterior_predictor\": 498127.30561848433, \"mean_posterior_predictor\": 456028.7330559689, \"Total_scaled\": 449141.0, \"Week_nr\": 7}, {\"min_posterior_predictor\": 442855.99652516545, \"max_posterior_predictor\": 538585.413087107, \"mean_posterior_predictor\": 489929.0194042656, \"Total_scaled\": 484733.0, \"Week_nr\": 8}, {\"min_posterior_predictor\": 471713.20226295094, \"max_posterior_predictor\": 563414.7327305455, \"mean_posterior_predictor\": 520212.7937898945, \"Total_scaled\": 514875.0, \"Week_nr\": 9}, {\"min_posterior_predictor\": 498514.2041765395, \"max_posterior_predictor\": 597186.9585485564, \"mean_posterior_predictor\": 548256.285070856, \"Total_scaled\": 542482.0, \"Week_nr\": 10}, {\"min_posterior_predictor\": 533787.1493753571, \"max_posterior_predictor\": 616534.3340102138, \"mean_posterior_predictor\": 574462.3874379104, \"Total_scaled\": 567390.0, \"Week_nr\": 11}, {\"min_posterior_predictor\": 554423.593251986, \"max_posterior_predictor\": 647119.3249897351, \"mean_posterior_predictor\": 598496.6217145021, \"Total_scaled\": 588272.0, \"Week_nr\": 12}, {\"min_posterior_predictor\": 578562.206663377, \"max_posterior_predictor\": 667354.7630007945, \"mean_posterior_predictor\": 621834.4457414801, \"Total_scaled\": 612802.0, \"Week_nr\": 13}, {\"min_posterior_predictor\": 602881.0061784867, \"max_posterior_predictor\": 686078.7692556988, \"mean_posterior_predictor\": 642851.7133481913, \"Total_scaled\": 637707.0, \"Week_nr\": 14}, {\"min_posterior_predictor\": 623248.9085893206, \"max_posterior_predictor\": 706981.024502685, \"mean_posterior_predictor\": 664051.359697224, \"Total_scaled\": 661436.0000000001, \"Week_nr\": 15}, {\"min_posterior_predictor\": 634827.0082111742, \"max_posterior_predictor\": 726615.362173644, \"mean_posterior_predictor\": 683413.3580608324, \"Total_scaled\": 682800.0, \"Week_nr\": 16}, {\"min_posterior_predictor\": 655720.0482299024, \"max_posterior_predictor\": 743710.3196338292, \"mean_posterior_predictor\": 702293.2995440837, \"Total_scaled\": 705082.0, \"Week_nr\": 17}, {\"min_posterior_predictor\": 677532.1645840956, \"max_posterior_predictor\": 762699.7497687802, \"mean_posterior_predictor\": 720762.9478556132, \"Total_scaled\": 726628.9999999999, \"Week_nr\": 18}, {\"min_posterior_predictor\": 697223.637321156, \"max_posterior_predictor\": 787313.431739292, \"mean_posterior_predictor\": 739138.3965278174, \"Total_scaled\": 746798.0, \"Week_nr\": 19}, {\"min_posterior_predictor\": 708254.7481793264, \"max_posterior_predictor\": 798808.9102769337, \"mean_posterior_predictor\": 756534.7245750903, \"Total_scaled\": 765487.0, \"Week_nr\": 20}, {\"min_posterior_predictor\": 727994.954963308, \"max_posterior_predictor\": 814029.4341181109, \"mean_posterior_predictor\": 773328.9064347498, \"Total_scaled\": 781028.0, \"Week_nr\": 21}, {\"min_posterior_predictor\": 749008.8635956977, \"max_posterior_predictor\": 836568.9100871474, \"mean_posterior_predictor\": 790832.8695704932, \"Total_scaled\": 796341.0, \"Week_nr\": 22}, {\"min_posterior_predictor\": 767249.57167367, \"max_posterior_predictor\": 846721.3580481303, \"mean_posterior_predictor\": 807423.1038213024, \"Total_scaled\": 808626.0, \"Week_nr\": 23}, {\"min_posterior_predictor\": 775596.3476136246, \"max_posterior_predictor\": 866308.5721697725, \"mean_posterior_predictor\": 824280.8748812341, \"Total_scaled\": 820202.0, \"Week_nr\": 24}, {\"min_posterior_predictor\": 800433.3333442508, \"max_posterior_predictor\": 884507.2610665855, \"mean_posterior_predictor\": 840174.3563474476, \"Total_scaled\": 831495.0, \"Week_nr\": 25}, {\"min_posterior_predictor\": 815543.489561617, \"max_posterior_predictor\": 899631.0995303144, \"mean_posterior_predictor\": 856012.9706142433, \"Total_scaled\": 842115.0, \"Week_nr\": 26}, {\"min_posterior_predictor\": 828995.927223741, \"max_posterior_predictor\": 917445.7980089609, \"mean_posterior_predictor\": 872597.2614611521, \"Total_scaled\": 851958.0, \"Week_nr\": 27}, {\"min_posterior_predictor\": 847598.5481633361, \"max_posterior_predictor\": 936656.1793401489, \"mean_posterior_predictor\": 888439.8461470054, \"Total_scaled\": 907925.0, \"Week_nr\": 28}, {\"min_posterior_predictor\": 878568.9912178401, \"max_posterior_predictor\": 980599.3693339636, \"mean_posterior_predictor\": 930675.3306945993, \"Total_scaled\": 960040.9999999999, \"Week_nr\": 29}, {\"min_posterior_predictor\": 919620.288883914, \"max_posterior_predictor\": 1014172.6664851015, \"mean_posterior_predictor\": 968664.8974796986, \"Total_scaled\": 993650.0, \"Week_nr\": 30}, {\"min_posterior_predictor\": 953239.0936754305, \"max_posterior_predictor\": 1040566.353063768, \"mean_posterior_predictor\": 1002666.9477840741, \"Total_scaled\": 1023340.0, \"Week_nr\": 31}, {\"min_posterior_predictor\": 991819.8203517655, \"max_posterior_predictor\": 1076375.4187094937, \"mean_posterior_predictor\": 1033747.0054784797, \"Total_scaled\": 1048610.0, \"Week_nr\": 32}, {\"min_posterior_predictor\": 1016770.1048235871, \"max_posterior_predictor\": 1103535.7507590132, \"mean_posterior_predictor\": 1062281.436759159, \"Total_scaled\": 1070131.0, \"Week_nr\": 33}, {\"min_posterior_predictor\": 1045130.9532484617, \"max_posterior_predictor\": 1129697.0921648326, \"mean_posterior_predictor\": 1088606.8239370666, \"Total_scaled\": 1091245.0, \"Week_nr\": 34}, {\"min_posterior_predictor\": 1071210.0202183644, \"max_posterior_predictor\": 1161838.8119149408, \"mean_posterior_predictor\": 1113440.0792806495, \"Total_scaled\": 1112175.0, \"Week_nr\": 35}, {\"min_posterior_predictor\": 1095702.1087138462, \"max_posterior_predictor\": 1181987.8871113674, \"mean_posterior_predictor\": 1136623.24259504, \"Total_scaled\": 1133563.0, \"Week_nr\": 36}, {\"min_posterior_predictor\": 1118406.3813584985, \"max_posterior_predictor\": 1199006.8921784782, \"mean_posterior_predictor\": 1158200.0678470603, \"Total_scaled\": 1159949.0, \"Week_nr\": 37}, {\"min_posterior_predictor\": 1139923.651365368, \"max_posterior_predictor\": 1221829.5490402507, \"mean_posterior_predictor\": 1178936.6868907707, \"Total_scaled\": 1184302.0, \"Week_nr\": 38}, {\"min_posterior_predictor\": 1149755.462695543, \"max_posterior_predictor\": 1239461.4751569582, \"mean_posterior_predictor\": 1198817.5240293564, \"Total_scaled\": 1204366.0, \"Week_nr\": 39}, {\"min_posterior_predictor\": 1171095.442053439, \"max_posterior_predictor\": 1259670.4013950746, \"mean_posterior_predictor\": 1217626.1865029621, \"Total_scaled\": 1223308.0, \"Week_nr\": 40}, {\"min_posterior_predictor\": 1194395.3811241824, \"max_posterior_predictor\": 1277255.7413164377, \"mean_posterior_predictor\": 1236841.825596114, \"Total_scaled\": 1241919.0, \"Week_nr\": 41}, {\"min_posterior_predictor\": 1211672.9791782333, \"max_posterior_predictor\": 1293539.7271400508, \"mean_posterior_predictor\": 1254610.8322137254, \"Total_scaled\": 1257431.0, \"Week_nr\": 42}, {\"min_posterior_predictor\": 1217821.0610854048, \"max_posterior_predictor\": 1316311.3656631873, \"mean_posterior_predictor\": 1272503.2819998811, \"Total_scaled\": 1271526.0, \"Week_nr\": 43}, {\"min_posterior_predictor\": 1250760.4521954905, \"max_posterior_predictor\": 1336159.1100568257, \"mean_posterior_predictor\": 1289825.2121273014, \"Total_scaled\": 1285085.0, \"Week_nr\": 44}, {\"min_posterior_predictor\": 1260301.3312361604, \"max_posterior_predictor\": 1351301.778931898, \"mean_posterior_predictor\": 1306738.0261811183, \"Total_scaled\": 1297746.0, \"Week_nr\": 45}, {\"min_posterior_predictor\": 1282143.6282196976, \"max_posterior_predictor\": 1364923.7894669194, \"mean_posterior_predictor\": 1323330.0650340845, \"Total_scaled\": 1310925.0, \"Week_nr\": 46}, {\"min_posterior_predictor\": 1299966.8225937367, \"max_posterior_predictor\": 1380695.0180436727, \"mean_posterior_predictor\": 1339745.793460503, \"Total_scaled\": 1323397.0, \"Week_nr\": 47}, {\"min_posterior_predictor\": 1311686.267421438, \"max_posterior_predictor\": 1409722.7487218918, \"mean_posterior_predictor\": 1356287.5093254251, \"Total_scaled\": 1335482.0, \"Week_nr\": 48}, {\"min_posterior_predictor\": 1326360.190889383, \"max_posterior_predictor\": 1418929.3699032257, \"mean_posterior_predictor\": 1372629.884692479, \"Total_scaled\": 1348462.0, \"Week_nr\": 49}, {\"min_posterior_predictor\": 1344258.621000911, \"max_posterior_predictor\": 1434696.4920087084, \"mean_posterior_predictor\": 1388746.217057874, \"Total_scaled\": 1361276.0, \"Week_nr\": 50}, {\"min_posterior_predictor\": 1352875.6240468635, \"max_posterior_predictor\": 1456304.019067344, \"mean_posterior_predictor\": 1404763.3954584345, \"Total_scaled\": 1403570.0, \"Week_nr\": 51}, {\"min_posterior_predictor\": 1397169.460414061, \"max_posterior_predictor\": 1475152.4777985986, \"mean_posterior_predictor\": 1435317.1240507553, \"Total_scaled\": 1451393.0, \"Week_nr\": 52}, {\"min_posterior_predictor\": 1416304.406921247, \"max_posterior_predictor\": 1504239.5642696011, \"mean_posterior_predictor\": 1463813.9751413094, \"Total_scaled\": 1480745.0, \"Week_nr\": 53}, {\"min_posterior_predictor\": 1446626.4946766105, \"max_posterior_predictor\": 1537132.457760504, \"mean_posterior_predictor\": 1489712.909043393, \"Total_scaled\": 1502119.0000000002, \"Week_nr\": 54}, {\"min_posterior_predictor\": 1464766.5673991072, \"max_posterior_predictor\": 1556188.080388227, \"mean_posterior_predictor\": 1513906.6262855334, \"Total_scaled\": 1528834.0, \"Week_nr\": 55}, {\"min_posterior_predictor\": 1489071.27268309, \"max_posterior_predictor\": 1588813.459016947, \"mean_posterior_predictor\": 1536595.493219822, \"Total_scaled\": 1550982.0, \"Week_nr\": 56}, {\"min_posterior_predictor\": 1515567.0546872718, \"max_posterior_predictor\": 1608493.319833829, \"mean_posterior_predictor\": 1558485.9502454503, \"Total_scaled\": 1570683.0, \"Week_nr\": 57}, {\"min_posterior_predictor\": 1535198.295705419, \"max_posterior_predictor\": 1620750.751273477, \"mean_posterior_predictor\": 1579429.7303502797, \"Total_scaled\": 1595322.0, \"Week_nr\": 58}, {\"min_posterior_predictor\": 1556068.2346094286, \"max_posterior_predictor\": 1652192.007144404, \"mean_posterior_predictor\": 1598800.9949713445, \"Total_scaled\": 1614194.0, \"Week_nr\": 59}, {\"min_posterior_predictor\": 1572830.9705489974, \"max_posterior_predictor\": 1668243.9369331757, \"mean_posterior_predictor\": 1618056.9131143636, \"Total_scaled\": 1631960.0, \"Week_nr\": 60}, {\"min_posterior_predictor\": 1586719.4810638996, \"max_posterior_predictor\": 1685940.3403713475, \"mean_posterior_predictor\": 1636464.7401266848, \"Total_scaled\": 1648776.0, \"Week_nr\": 61}, {\"min_posterior_predictor\": 1608045.554394537, \"max_posterior_predictor\": 1702107.7954517268, \"mean_posterior_predictor\": 1654484.236779788, \"Total_scaled\": 1664830.0, \"Week_nr\": 62}, {\"min_posterior_predictor\": 1628652.208353889, \"max_posterior_predictor\": 1711100.2238473522, \"mean_posterior_predictor\": 1672259.3286895228, \"Total_scaled\": 1681211.0000000002, \"Week_nr\": 63}, {\"min_posterior_predictor\": 1642251.5729336713, \"max_posterior_predictor\": 1728167.8803025964, \"mean_posterior_predictor\": 1689477.4176605956, \"Total_scaled\": 1695693.0, \"Week_nr\": 64}, {\"min_posterior_predictor\": 1660917.3682722726, \"max_posterior_predictor\": 1747987.1258975884, \"mean_posterior_predictor\": 1706254.1135381823, \"Total_scaled\": 1713873.0, \"Week_nr\": 65}, {\"min_posterior_predictor\": 1677754.820977974, \"max_posterior_predictor\": 1766477.917418339, \"mean_posterior_predictor\": 1723353.6235976964, \"Total_scaled\": 1726447.0, \"Week_nr\": 66}, {\"min_posterior_predictor\": 1699018.1062747964, \"max_posterior_predictor\": 1782950.1320905415, \"mean_posterior_predictor\": 1739833.7451248348, \"Total_scaled\": 1738317.0000000002, \"Week_nr\": 67}, {\"min_posterior_predictor\": 1713169.9239650515, \"max_posterior_predictor\": 1798451.1492183958, \"mean_posterior_predictor\": 1755925.3598580852, \"Total_scaled\": 1750507.0, \"Week_nr\": 68}, {\"min_posterior_predictor\": 1732510.0791754255, \"max_posterior_predictor\": 1817523.8903912725, \"mean_posterior_predictor\": 1772214.3458955374, \"Total_scaled\": 1760062.0, \"Week_nr\": 69}, {\"min_posterior_predictor\": 1738095.881745525, \"max_posterior_predictor\": 1827142.1830706876, \"mean_posterior_predictor\": 1788459.3023579859, \"Total_scaled\": 1766831.0, \"Week_nr\": 70}, {\"min_posterior_predictor\": 1762186.3086895915, \"max_posterior_predictor\": 1844043.369777806, \"mean_posterior_predictor\": 1804497.665497859, \"Total_scaled\": 1771677.0, \"Week_nr\": 71}, {\"min_posterior_predictor\": 1776930.1902068795, \"max_posterior_predictor\": 1861499.6367843626, \"mean_posterior_predictor\": 1820327.0830958223, \"Total_scaled\": 1775828.0, \"Week_nr\": 72}, {\"min_posterior_predictor\": 1789344.6125722355, \"max_posterior_predictor\": 1875937.9404660962, \"mean_posterior_predictor\": 1836010.9578540053, \"Total_scaled\": 1779788.0, \"Week_nr\": 73}, {\"min_posterior_predictor\": 1811137.6663866618, \"max_posterior_predictor\": 1899504.1056306001, \"mean_posterior_predictor\": 1851884.1869671454, \"Total_scaled\": 1784016.0, \"Week_nr\": 74}, {\"min_posterior_predictor\": 1817789.439481123, \"max_posterior_predictor\": 1910112.8972173736, \"mean_posterior_predictor\": 1867276.8325019942, \"Total_scaled\": 1788030.0, \"Week_nr\": 75}, {\"min_posterior_predictor\": 1842659.6534201768, \"max_posterior_predictor\": 1927785.6529284383, \"mean_posterior_predictor\": 1883296.7080890217, \"Total_scaled\": 1791936.0, \"Week_nr\": 76}, {\"min_posterior_predictor\": 1844760.68381235, \"max_posterior_predictor\": 1947005.0945206543, \"mean_posterior_predictor\": 1898486.5565178748, \"Total_scaled\": 1795764.0, \"Week_nr\": 77}, {\"min_posterior_predictor\": 1865262.7256324212, \"max_posterior_predictor\": 1961549.6113852544, \"mean_posterior_predictor\": 1914332.2735536876, \"Total_scaled\": 1801047.0, \"Week_nr\": 78}, {\"min_posterior_predictor\": 1883438.1819451891, \"max_posterior_predictor\": 1978656.265489211, \"mean_posterior_predictor\": 1930073.0998467072, \"Total_scaled\": 1805679.0, \"Week_nr\": 79}, {\"min_posterior_predictor\": 1900744.3232364405, \"max_posterior_predictor\": 1996193.5516233628, \"mean_posterior_predictor\": 1945381.9914715334, \"Total_scaled\": 1814821.0, \"Week_nr\": 80}, {\"min_posterior_predictor\": 1904610.006089611, \"max_posterior_predictor\": 2009785.1416060522, \"mean_posterior_predictor\": 1961047.2209154253, \"Total_scaled\": 1825832.0, \"Week_nr\": 81}, {\"min_posterior_predictor\": 1931056.9789228751, \"max_posterior_predictor\": 2022574.143928637, \"mean_posterior_predictor\": 1976862.8328499799, \"Total_scaled\": 1833307.0, \"Week_nr\": 82}, {\"min_posterior_predictor\": 1933098.5670293896, \"max_posterior_predictor\": 2048012.8050694445, \"mean_posterior_predictor\": 1991913.082431347, \"Total_scaled\": 1840314.0, \"Week_nr\": 83}, {\"min_posterior_predictor\": 1963303.4333034148, \"max_posterior_predictor\": 2054147.228362601, \"mean_posterior_predictor\": 2007998.6372326706, \"Total_scaled\": 1845603.9999999998, \"Week_nr\": 84}, {\"min_posterior_predictor\": 1968922.803943805, \"max_posterior_predictor\": 2080610.2730841297, \"mean_posterior_predictor\": 2023377.4367530684, \"Total_scaled\": 1851568.0, \"Week_nr\": 85}, {\"min_posterior_predictor\": 1981717.4875066278, \"max_posterior_predictor\": 2090432.8428163326, \"mean_posterior_predictor\": 2038772.449022256, \"Total_scaled\": 1882009.0, \"Week_nr\": 86}, {\"min_posterior_predictor\": 2043024.3029107878, \"max_posterior_predictor\": 2168543.593578983, \"mean_posterior_predictor\": 2102461.233275682, \"Total_scaled\": 1918689.0, \"Week_nr\": 87}, {\"min_posterior_predictor\": 2076665.080418568, \"max_posterior_predictor\": 2237523.4496375523, \"mean_posterior_predictor\": 2158378.363373503, \"Total_scaled\": 1944323.0, \"Week_nr\": 88}, {\"min_posterior_predictor\": 2113225.36045157, \"max_posterior_predictor\": 2288764.986060241, \"mean_posterior_predictor\": 2207400.4184012506, \"Total_scaled\": 1962893.0, \"Week_nr\": 89}, {\"min_posterior_predictor\": 2158805.719877829, \"max_posterior_predictor\": 2361533.438312886, \"mean_posterior_predictor\": 2251284.0065044183, \"Total_scaled\": 1976710.0, \"Week_nr\": 90}, {\"min_posterior_predictor\": 2182980.438567222, \"max_posterior_predictor\": 2411135.034463229, \"mean_posterior_predictor\": 2290122.79382253, \"Total_scaled\": 1987082.0, \"Week_nr\": 91}, {\"min_posterior_predictor\": 2201150.4202372474, \"max_posterior_predictor\": 2455458.416800467, \"mean_posterior_predictor\": 2325811.5751309334, \"Total_scaled\": 1996842.0, \"Week_nr\": 92}, {\"min_posterior_predictor\": 2254497.018185029, \"max_posterior_predictor\": 2483687.1670744787, \"mean_posterior_predictor\": 2357113.4787072917, \"Total_scaled\": 2005245.0, \"Week_nr\": 93}, {\"min_posterior_predictor\": 2267810.620284673, \"max_posterior_predictor\": 2510257.015968486, \"mean_posterior_predictor\": 2386165.4255390186, \"Total_scaled\": 2014350.0, \"Week_nr\": 94}, {\"min_posterior_predictor\": 2306355.3118375693, \"max_posterior_predictor\": 2542452.8967035017, \"mean_posterior_predictor\": 2413138.9223324982, \"Total_scaled\": 2022263.0, \"Week_nr\": 95}, {\"min_posterior_predictor\": 2326860.9614037005, \"max_posterior_predictor\": 2593054.7679045964, \"mean_posterior_predictor\": 2438242.5975296577, \"Total_scaled\": 2030916.0, \"Week_nr\": 96}, {\"min_posterior_predictor\": 2340993.3103182297, \"max_posterior_predictor\": 2607506.4691227283, \"mean_posterior_predictor\": 2461639.143724537, \"Total_scaled\": 2038949.0, \"Week_nr\": 97}, {\"min_posterior_predictor\": 2354211.9056386617, \"max_posterior_predictor\": 2640332.976256817, \"mean_posterior_predictor\": 2483708.559453426, \"Total_scaled\": 2046823.0, \"Week_nr\": 98}, {\"min_posterior_predictor\": 2374493.3736763187, \"max_posterior_predictor\": 2653752.9816120365, \"mean_posterior_predictor\": 2504706.6814522254, \"Total_scaled\": 2054041.0, \"Week_nr\": 99}, {\"min_posterior_predictor\": 2397534.1246330068, \"max_posterior_predictor\": 2686722.4832085883, \"mean_posterior_predictor\": 2525123.901284131, \"Total_scaled\": 2060177.0, \"Week_nr\": 100}, {\"min_posterior_predictor\": 2396829.7892662594, \"max_posterior_predictor\": 2722775.0390664386, \"mean_posterior_predictor\": 2544534.763669121, \"Total_scaled\": 2067619.0, \"Week_nr\": 101}, {\"min_posterior_predictor\": 2419440.007627516, \"max_posterior_predictor\": 2729364.6799060665, \"mean_posterior_predictor\": 2562954.725015992, \"Total_scaled\": 2076810.9999999998, \"Week_nr\": 102}, {\"min_posterior_predictor\": 2424070.6274710028, \"max_posterior_predictor\": 2750982.100318167, \"mean_posterior_predictor\": 2581030.318816427, \"Total_scaled\": 2083661.0, \"Week_nr\": 103}, {\"min_posterior_predictor\": 2467871.580906199, \"max_posterior_predictor\": 2765200.0138402632, \"mean_posterior_predictor\": 2599042.739810383, \"Total_scaled\": 2090011.0, \"Week_nr\": 104}, {\"min_posterior_predictor\": 2475668.339846499, \"max_posterior_predictor\": 2775079.6750266016, \"mean_posterior_predictor\": 2616504.4756371332, \"Total_scaled\": 2096236.0, \"Week_nr\": 105}, {\"min_posterior_predictor\": 2495267.7520255055, \"max_posterior_predictor\": 2808964.680505539, \"mean_posterior_predictor\": 2633365.409541868, \"Total_scaled\": 2103205.0, \"Week_nr\": 106}, {\"min_posterior_predictor\": 2505187.3769923015, \"max_posterior_predictor\": 2821156.34104504, \"mean_posterior_predictor\": 2649900.2637263094, \"Total_scaled\": 2111082.0, \"Week_nr\": 107}, {\"min_posterior_predictor\": 2520483.5988914385, \"max_posterior_predictor\": 2826853.3131181453, \"mean_posterior_predictor\": 2666699.349574901, \"Total_scaled\": 2117072.0, \"Week_nr\": 108}, {\"min_posterior_predictor\": 2553657.5346657624, \"max_posterior_predictor\": 2867487.8778005894, \"mean_posterior_predictor\": 2683196.2184700095, \"Total_scaled\": 2124173.0, \"Week_nr\": 109}, {\"min_posterior_predictor\": 2555390.320630015, \"max_posterior_predictor\": 2869137.06523635, \"mean_posterior_predictor\": 2699496.1380542247, \"Total_scaled\": 2132964.0, \"Week_nr\": 110}, {\"min_posterior_predictor\": 2574956.9894122565, \"max_posterior_predictor\": 2898672.822216637, \"mean_posterior_predictor\": 2715291.3369882596, \"Total_scaled\": 2140180.0, \"Week_nr\": 111}, {\"min_posterior_predictor\": 2573790.8113295026, \"max_posterior_predictor\": 2913623.1217935714, \"mean_posterior_predictor\": 2731737.53519287, \"Total_scaled\": 2149788.0, \"Week_nr\": 112}, {\"min_posterior_predictor\": 2596526.7714896197, \"max_posterior_predictor\": 2929732.239735322, \"mean_posterior_predictor\": 2747310.8500042143, \"Total_scaled\": 2156773.0, \"Week_nr\": 113}, {\"min_posterior_predictor\": 2605270.633325723, \"max_posterior_predictor\": 2947587.875537165, \"mean_posterior_predictor\": 2763338.015040337, \"Total_scaled\": 2162860.0, \"Week_nr\": 114}, {\"min_posterior_predictor\": 2627603.0406104545, \"max_posterior_predictor\": 2940319.3010895746, \"mean_posterior_predictor\": 2779054.6983877034, \"Total_scaled\": 2169322.0, \"Week_nr\": 115}, {\"min_posterior_predictor\": 2632288.143504364, \"max_posterior_predictor\": 2981974.503854359, \"mean_posterior_predictor\": 2794860.099667793, \"Total_scaled\": 2176378.0, \"Week_nr\": 116}, {\"min_posterior_predictor\": 2655583.8075013403, \"max_posterior_predictor\": 3000182.3229268035, \"mean_posterior_predictor\": 2810333.8371732235, \"Total_scaled\": 2182344.0, \"Week_nr\": 117}, {\"min_posterior_predictor\": 2673614.816292727, \"max_posterior_predictor\": 3032558.44245913, \"mean_posterior_predictor\": 2826207.35009162, \"Total_scaled\": 2188012.0, \"Week_nr\": 118}, {\"min_posterior_predictor\": 2696470.69225797, \"max_posterior_predictor\": 3026000.5810872167, \"mean_posterior_predictor\": 2841519.690664487, \"Total_scaled\": 2193073.0, \"Week_nr\": 119}, {\"min_posterior_predictor\": 2688174.472917463, \"max_posterior_predictor\": 3051401.073919742, \"mean_posterior_predictor\": 2857388.262691575, \"Total_scaled\": 2199799.0, \"Week_nr\": 120}, {\"min_posterior_predictor\": 2705826.2689996245, \"max_posterior_predictor\": 3074139.0565079474, \"mean_posterior_predictor\": 2872998.9295753785, \"Total_scaled\": 2206517.0, \"Week_nr\": 121}, {\"min_posterior_predictor\": 2725884.8770252857, \"max_posterior_predictor\": 3083307.70675146, \"mean_posterior_predictor\": 2888946.765936167, \"Total_scaled\": 2213017.0, \"Week_nr\": 122}, {\"min_posterior_predictor\": 2721695.418655563, \"max_posterior_predictor\": 3088667.6499731503, \"mean_posterior_predictor\": 2904110.1968231495, \"Total_scaled\": 2220233.0, \"Week_nr\": 123}, {\"min_posterior_predictor\": 2749162.548928665, \"max_posterior_predictor\": 3125939.3049658523, \"mean_posterior_predictor\": 2919590.6799051357, \"Total_scaled\": 2226398.0, \"Week_nr\": 124}, {\"min_posterior_predictor\": 2762924.588432091, \"max_posterior_predictor\": 3137830.1446252163, \"mean_posterior_predictor\": 2935136.9750305936, \"Total_scaled\": 2233166.0, \"Week_nr\": 125}, {\"min_posterior_predictor\": 2776259.9956857436, \"max_posterior_predictor\": 3159308.532519145, \"mean_posterior_predictor\": 2950868.309160983, \"Total_scaled\": 2256253.0, \"Week_nr\": 126}, {\"min_posterior_predictor\": 2787135.8898946256, \"max_posterior_predictor\": 3172140.842240681, \"mean_posterior_predictor\": 2966226.4096326367, \"Total_scaled\": 2270314.0, \"Week_nr\": 127}, {\"min_posterior_predictor\": 2817654.3006093204, \"max_posterior_predictor\": 3256443.6967424382, \"mean_posterior_predictor\": 3027594.9747730684, \"Total_scaled\": 2281544.0, \"Week_nr\": 128}, {\"min_posterior_predictor\": 2890445.385965062, \"max_posterior_predictor\": 3302060.5404640124, \"mean_posterior_predictor\": 3081182.1321915276, \"Total_scaled\": 2290966.0, \"Week_nr\": 129}, {\"min_posterior_predictor\": 2911986.3736888794, \"max_posterior_predictor\": 3358744.7867471385, \"mean_posterior_predictor\": 3128878.9658274325, \"Total_scaled\": 2308213.0, \"Week_nr\": 130}, {\"min_posterior_predictor\": 2968175.668050764, \"max_posterior_predictor\": 3403169.5789651405, \"mean_posterior_predictor\": 3171010.5933088246, \"Total_scaled\": 2332833.0, \"Week_nr\": 131}, {\"min_posterior_predictor\": 3006008.769764924, \"max_posterior_predictor\": 3467609.3009057245, \"mean_posterior_predictor\": 3208614.594683472, \"Total_scaled\": 2346868.0, \"Week_nr\": 132}, {\"min_posterior_predictor\": 3030993.8637850685, \"max_posterior_predictor\": 3484790.409740013, \"mean_posterior_predictor\": 3242797.157397348, \"Total_scaled\": 2359112.0, \"Week_nr\": 133}, {\"min_posterior_predictor\": 3062374.1834569513, \"max_posterior_predictor\": 3519579.4575792183, \"mean_posterior_predictor\": 3273677.643781491, \"Total_scaled\": 2368328.0, \"Week_nr\": 134}]}}, {\"mode\": \"vega-lite\"});\n",
       "</script>"
      ],
      "text/plain": [
       "alt.LayerChart(...)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 6;\n",
       "                var nbb_unformatted_code = \"with model_5:\\n    pm.set_data({\\\"covid_start\\\": 500})\\n\\nchart_without_covid = plot_fit_altair(model_5, trace_5, model_data)\\nchart_without_covid\";\n",
       "                var nbb_formatted_code = \"with model_5:\\n    pm.set_data({\\\"covid_start\\\": 500})\\n\\nchart_without_covid = plot_fit_altair(model_5, trace_5, model_data)\\nchart_without_covid\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with model_5:\n",
    "    pm.set_data({\"covid_start\": 500})\n",
    "\n",
    "chart_without_covid = plot_fit_altair(model_5, trace_5, model_data)\n",
    "chart_without_covid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "987db584",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<div id=\"altair-viz-80c2d094e32e45f9ae31ac3975e5179e\"></div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(spec, embedOpt){\n",
       "    let outputDiv = document.currentScript.previousElementSibling;\n",
       "    if (outputDiv.id !== \"altair-viz-80c2d094e32e45f9ae31ac3975e5179e\") {\n",
       "      outputDiv = document.getElementById(\"altair-viz-80c2d094e32e45f9ae31ac3975e5179e\");\n",
       "    }\n",
       "    const paths = {\n",
       "      \"vega\": \"https://cdn.jsdelivr.net/npm//vega@5?noext\",\n",
       "      \"vega-lib\": \"https://cdn.jsdelivr.net/npm//vega-lib?noext\",\n",
       "      \"vega-lite\": \"https://cdn.jsdelivr.net/npm//vega-lite@4.8.1?noext\",\n",
       "      \"vega-embed\": \"https://cdn.jsdelivr.net/npm//vega-embed@6?noext\",\n",
       "    };\n",
       "\n",
       "    function loadScript(lib) {\n",
       "      return new Promise(function(resolve, reject) {\n",
       "        var s = document.createElement('script');\n",
       "        s.src = paths[lib];\n",
       "        s.async = true;\n",
       "        s.onload = () => resolve(paths[lib]);\n",
       "        s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n",
       "        document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "      });\n",
       "    }\n",
       "\n",
       "    function showError(err) {\n",
       "      outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n",
       "      throw err;\n",
       "    }\n",
       "\n",
       "    function displayChart(vegaEmbed) {\n",
       "      vegaEmbed(outputDiv, spec, embedOpt)\n",
       "        .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n",
       "    }\n",
       "\n",
       "    if(typeof define === \"function\" && define.amd) {\n",
       "      requirejs.config({paths});\n",
       "      require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n",
       "    } else if (typeof vegaEmbed === \"function\") {\n",
       "      displayChart(vegaEmbed);\n",
       "    } else {\n",
       "      loadScript(\"vega\")\n",
       "        .then(() => loadScript(\"vega-lite\"))\n",
       "        .then(() => loadScript(\"vega-embed\"))\n",
       "        .catch(showError)\n",
       "        .then(() => displayChart(vegaEmbed));\n",
       "    }\n",
       "  })({\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}, \"hconcat\": [{\"layer\": [{\"mark\": {\"type\": \"area\", \"color\": \"#333333\", \"opacity\": 0.2}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"title\": \"Decks Registered\"}, \"y2\": {\"field\": \"max_posterior_predictor\"}}}, {\"mark\": {\"type\": \"line\", \"color\": \"#333333\", \"opacity\": 0.7}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\"}}}, {\"mark\": \"line\", \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"Total_scaled\"}}}], \"data\": {\"name\": \"data-51ec81421fdf52d08a40ffd238076c89\"}, \"title\": \"Final model with COVID-19\"}, {\"layer\": [{\"mark\": {\"type\": \"area\", \"color\": \"#333333\", \"opacity\": 0.2}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"title\": \"Decks Registered\"}, \"y2\": {\"field\": \"max_posterior_predictor\"}}}, {\"mark\": {\"type\": \"line\", \"color\": \"#333333\", \"opacity\": 0.7}, \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\"}}}, {\"mark\": \"line\", \"encoding\": {\"tooltip\": [{\"type\": \"quantitative\", \"field\": \"Total_scaled\", \"format\": \",.0f\", \"title\": \"Registered Decks\"}, {\"type\": \"quantitative\", \"field\": \"max_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Max\"}, {\"type\": \"quantitative\", \"field\": \"mean_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Mean\"}, {\"type\": \"quantitative\", \"field\": \"min_posterior_predictor\", \"format\": \",.0f\", \"title\": \"Model Min\"}], \"x\": {\"type\": \"quantitative\", \"field\": \"Week_nr\", \"scale\": {\"domain\": [1, 134], \"nice\": false, \"zero\": false}, \"title\": \"Week\"}, \"y\": {\"type\": \"quantitative\", \"field\": \"Total_scaled\"}}}], \"data\": {\"name\": \"data-ff6fa86c278375baa877de65c896c05b\"}, \"title\": \"Final model without COVID-19\"}], \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.8.1.json\", \"datasets\": {\"data-51ec81421fdf52d08a40ffd238076c89\": [{\"min_posterior_predictor\": 104666.15616113889, \"max_posterior_predictor\": 190108.7556722026, \"mean_posterior_predictor\": 149984.05748437843, \"Total_scaled\": 158016.0, \"Week_nr\": 1}, {\"min_posterior_predictor\": 178362.35432578533, \"max_posterior_predictor\": 260597.00672475962, \"mean_posterior_predictor\": 218785.53467140606, \"Total_scaled\": 218733.0, \"Week_nr\": 2}, {\"min_posterior_predictor\": 234283.77168562892, \"max_posterior_predictor\": 320224.62396073417, \"mean_posterior_predictor\": 278920.4613964359, \"Total_scaled\": 268026.0, \"Week_nr\": 3}, {\"min_posterior_predictor\": 283670.59217023745, \"max_posterior_predictor\": 374798.22444942687, \"mean_posterior_predictor\": 331183.84579008515, \"Total_scaled\": 311895.0, \"Week_nr\": 4}, {\"min_posterior_predictor\": 336403.4783524505, \"max_posterior_predictor\": 419085.2763523551, \"mean_posterior_predictor\": 377945.43287626584, \"Total_scaled\": 358098.0, \"Week_nr\": 5}, {\"min_posterior_predictor\": 374927.16715557163, \"max_posterior_predictor\": 458690.76189818245, \"mean_posterior_predictor\": 419210.15583788964, \"Total_scaled\": 410409.99999999994, \"Week_nr\": 6}, {\"min_posterior_predictor\": 415455.75026633864, \"max_posterior_predictor\": 491424.3873432235, \"mean_posterior_predictor\": 456102.27744870953, \"Total_scaled\": 449141.0, \"Week_nr\": 7}, {\"min_posterior_predictor\": 447301.75389585155, \"max_posterior_predictor\": 534683.3153239554, \"mean_posterior_predictor\": 489730.15524088865, \"Total_scaled\": 484733.0, \"Week_nr\": 8}, {\"min_posterior_predictor\": 480038.0544267347, \"max_posterior_predictor\": 567736.3761020893, \"mean_posterior_predictor\": 520390.0402738436, \"Total_scaled\": 514875.0, \"Week_nr\": 9}, {\"min_posterior_predictor\": 508077.9881785983, \"max_posterior_predictor\": 585594.8439224254, \"mean_posterior_predictor\": 548083.9282652714, \"Total_scaled\": 542482.0, \"Week_nr\": 10}, {\"min_posterior_predictor\": 536441.6174502382, \"max_posterior_predictor\": 625329.4340481593, \"mean_posterior_predictor\": 574246.741071835, \"Total_scaled\": 567390.0, \"Week_nr\": 11}, {\"min_posterior_predictor\": 555719.4399178977, \"max_posterior_predictor\": 641326.3586954128, \"mean_posterior_predictor\": 598359.3026859373, \"Total_scaled\": 588272.0, \"Week_nr\": 12}, {\"min_posterior_predictor\": 579476.3892169921, \"max_posterior_predictor\": 665135.2744320917, \"mean_posterior_predictor\": 621542.837390334, \"Total_scaled\": 612802.0, \"Week_nr\": 13}, {\"min_posterior_predictor\": 597394.3397399101, \"max_posterior_predictor\": 682541.8161211218, \"mean_posterior_predictor\": 643045.960927951, \"Total_scaled\": 637707.0, \"Week_nr\": 14}, {\"min_posterior_predictor\": 620520.4789406398, \"max_posterior_predictor\": 705833.990461125, \"mean_posterior_predictor\": 663571.9837353053, \"Total_scaled\": 661436.0000000001, \"Week_nr\": 15}, {\"min_posterior_predictor\": 643959.8276616201, \"max_posterior_predictor\": 724175.4701899706, \"mean_posterior_predictor\": 683481.3214383032, \"Total_scaled\": 682800.0, \"Week_nr\": 16}, {\"min_posterior_predictor\": 656420.6521850462, \"max_posterior_predictor\": 747108.8850805771, \"mean_posterior_predictor\": 702471.8361915195, \"Total_scaled\": 705082.0, \"Week_nr\": 17}, {\"min_posterior_predictor\": 672520.3039008162, \"max_posterior_predictor\": 766869.607724036, \"mean_posterior_predictor\": 721254.7505029652, \"Total_scaled\": 726628.9999999999, \"Week_nr\": 18}, {\"min_posterior_predictor\": 701430.6068929341, \"max_posterior_predictor\": 778261.9013525576, \"mean_posterior_predictor\": 739249.0366241361, \"Total_scaled\": 746798.0, \"Week_nr\": 19}, {\"min_posterior_predictor\": 712929.424652226, \"max_posterior_predictor\": 800516.0346760907, \"mean_posterior_predictor\": 756522.4020353089, \"Total_scaled\": 765487.0, \"Week_nr\": 20}, {\"min_posterior_predictor\": 730294.0682302167, \"max_posterior_predictor\": 812587.2092947421, \"mean_posterior_predictor\": 773872.2465805071, \"Total_scaled\": 781028.0, \"Week_nr\": 21}, {\"min_posterior_predictor\": 749752.570284891, \"max_posterior_predictor\": 835672.9840916974, \"mean_posterior_predictor\": 790568.0812821407, \"Total_scaled\": 796341.0, \"Week_nr\": 22}, {\"min_posterior_predictor\": 765277.0818554678, \"max_posterior_predictor\": 866534.4168446461, \"mean_posterior_predictor\": 807501.0998164337, \"Total_scaled\": 808626.0, \"Week_nr\": 23}, {\"min_posterior_predictor\": 777909.9359152935, \"max_posterior_predictor\": 864041.8771146807, \"mean_posterior_predictor\": 824234.1504931081, \"Total_scaled\": 820202.0, \"Week_nr\": 24}, {\"min_posterior_predictor\": 787175.2416669303, \"max_posterior_predictor\": 887689.3369091246, \"mean_posterior_predictor\": 840226.750203473, \"Total_scaled\": 831495.0, \"Week_nr\": 25}, {\"min_posterior_predictor\": 813653.4241558278, \"max_posterior_predictor\": 896205.8932485569, \"mean_posterior_predictor\": 856166.9705720684, \"Total_scaled\": 842115.0, \"Week_nr\": 26}, {\"min_posterior_predictor\": 825598.8920272778, \"max_posterior_predictor\": 913434.628199733, \"mean_posterior_predictor\": 872635.7037295572, \"Total_scaled\": 851958.0, \"Week_nr\": 27}, {\"min_posterior_predictor\": 839922.5937530337, \"max_posterior_predictor\": 942676.5159056602, \"mean_posterior_predictor\": 888556.9633322819, \"Total_scaled\": 907925.0, \"Week_nr\": 28}, {\"min_posterior_predictor\": 880037.239764938, \"max_posterior_predictor\": 969506.1474009933, \"mean_posterior_predictor\": 930856.7502003097, \"Total_scaled\": 960040.9999999999, \"Week_nr\": 29}, {\"min_posterior_predictor\": 922969.4735746711, \"max_posterior_predictor\": 1013483.9910175734, \"mean_posterior_predictor\": 968788.2768729327, \"Total_scaled\": 993650.0, \"Week_nr\": 30}, {\"min_posterior_predictor\": 959267.821041514, \"max_posterior_predictor\": 1044389.790835495, \"mean_posterior_predictor\": 1003192.5789989628, \"Total_scaled\": 1023340.0, \"Week_nr\": 31}, {\"min_posterior_predictor\": 990840.7366269333, \"max_posterior_predictor\": 1081766.62198874, \"mean_posterior_predictor\": 1033670.1967227319, \"Total_scaled\": 1048610.0, \"Week_nr\": 32}, {\"min_posterior_predictor\": 1023355.3486533015, \"max_posterior_predictor\": 1101093.1346153233, \"mean_posterior_predictor\": 1062405.533586654, \"Total_scaled\": 1070131.0, \"Week_nr\": 33}, {\"min_posterior_predictor\": 1048360.7375734226, \"max_posterior_predictor\": 1130572.5197037943, \"mean_posterior_predictor\": 1088965.8744577633, \"Total_scaled\": 1091245.0, \"Week_nr\": 34}, {\"min_posterior_predictor\": 1072276.1846709843, \"max_posterior_predictor\": 1157658.9826148737, \"mean_posterior_predictor\": 1113352.85242217, \"Total_scaled\": 1112175.0, \"Week_nr\": 35}, {\"min_posterior_predictor\": 1094990.2386845478, \"max_posterior_predictor\": 1179578.7404301474, \"mean_posterior_predictor\": 1136454.8995588468, \"Total_scaled\": 1133563.0, \"Week_nr\": 36}, {\"min_posterior_predictor\": 1113344.711647727, \"max_posterior_predictor\": 1204079.1341124396, \"mean_posterior_predictor\": 1158100.334696751, \"Total_scaled\": 1159949.0, \"Week_nr\": 37}, {\"min_posterior_predictor\": 1137663.7207418669, \"max_posterior_predictor\": 1220180.1784172636, \"mean_posterior_predictor\": 1179338.4028424246, \"Total_scaled\": 1184302.0, \"Week_nr\": 38}, {\"min_posterior_predictor\": 1155591.1060773148, \"max_posterior_predictor\": 1241134.189872769, \"mean_posterior_predictor\": 1198609.515539389, \"Total_scaled\": 1204366.0, \"Week_nr\": 39}, {\"min_posterior_predictor\": 1171530.9636943478, \"max_posterior_predictor\": 1263203.5303719544, \"mean_posterior_predictor\": 1218156.9951445328, \"Total_scaled\": 1223308.0, \"Week_nr\": 40}, {\"min_posterior_predictor\": 1193752.377825055, \"max_posterior_predictor\": 1283090.3938832826, \"mean_posterior_predictor\": 1236364.5967083178, \"Total_scaled\": 1241919.0, \"Week_nr\": 41}, {\"min_posterior_predictor\": 1211810.7463887013, \"max_posterior_predictor\": 1301021.1423891804, \"mean_posterior_predictor\": 1254727.4589451929, \"Total_scaled\": 1257431.0, \"Week_nr\": 42}, {\"min_posterior_predictor\": 1225235.2115950647, \"max_posterior_predictor\": 1318058.5316233183, \"mean_posterior_predictor\": 1272522.7595171176, \"Total_scaled\": 1271526.0, \"Week_nr\": 43}, {\"min_posterior_predictor\": 1242365.7299319475, \"max_posterior_predictor\": 1332430.9188527826, \"mean_posterior_predictor\": 1289855.9584917303, \"Total_scaled\": 1285085.0, \"Week_nr\": 44}, {\"min_posterior_predictor\": 1267002.0922453373, \"max_posterior_predictor\": 1348966.0953776257, \"mean_posterior_predictor\": 1306594.6777724, \"Total_scaled\": 1297746.0, \"Week_nr\": 45}, {\"min_posterior_predictor\": 1279717.0727383539, \"max_posterior_predictor\": 1367867.76080364, \"mean_posterior_predictor\": 1323423.1989775824, \"Total_scaled\": 1310925.0, \"Week_nr\": 46}, {\"min_posterior_predictor\": 1295569.9303033683, \"max_posterior_predictor\": 1388597.0706172714, \"mean_posterior_predictor\": 1340182.2592911161, \"Total_scaled\": 1323397.0, \"Week_nr\": 47}, {\"min_posterior_predictor\": 1313653.7451866462, \"max_posterior_predictor\": 1402321.426643729, \"mean_posterior_predictor\": 1356251.5497204328, \"Total_scaled\": 1335482.0, \"Week_nr\": 48}, {\"min_posterior_predictor\": 1328730.3424141454, \"max_posterior_predictor\": 1419375.7909777616, \"mean_posterior_predictor\": 1372823.9456586805, \"Total_scaled\": 1348462.0, \"Week_nr\": 49}, {\"min_posterior_predictor\": 1347825.715035837, \"max_posterior_predictor\": 1440403.5451137677, \"mean_posterior_predictor\": 1388509.9317804205, \"Total_scaled\": 1361276.0, \"Week_nr\": 50}, {\"min_posterior_predictor\": 1358325.0307597453, \"max_posterior_predictor\": 1452169.0416603906, \"mean_posterior_predictor\": 1404343.8304605137, \"Total_scaled\": 1403570.0, \"Week_nr\": 51}, {\"min_posterior_predictor\": 1391623.1513811648, \"max_posterior_predictor\": 1484055.4654179432, \"mean_posterior_predictor\": 1434838.1594996417, \"Total_scaled\": 1451393.0, \"Week_nr\": 52}, {\"min_posterior_predictor\": 1420831.2571188775, \"max_posterior_predictor\": 1506989.5240731977, \"mean_posterior_predictor\": 1463779.752321814, \"Total_scaled\": 1480745.0, \"Week_nr\": 53}, {\"min_posterior_predictor\": 1446473.24226022, \"max_posterior_predictor\": 1534008.5712086614, \"mean_posterior_predictor\": 1489694.031369968, \"Total_scaled\": 1502119.0000000002, \"Week_nr\": 54}, {\"min_posterior_predictor\": 1472614.644246285, \"max_posterior_predictor\": 1553806.1814641112, \"mean_posterior_predictor\": 1514042.3245079073, \"Total_scaled\": 1528834.0, \"Week_nr\": 55}, {\"min_posterior_predictor\": 1493253.7125254676, \"max_posterior_predictor\": 1584946.128279168, \"mean_posterior_predictor\": 1536925.1520482334, \"Total_scaled\": 1550982.0, \"Week_nr\": 56}, {\"min_posterior_predictor\": 1517543.0184985958, \"max_posterior_predictor\": 1609959.9561663559, \"mean_posterior_predictor\": 1558665.8541774105, \"Total_scaled\": 1570683.0, \"Week_nr\": 57}, {\"min_posterior_predictor\": 1538995.425337759, \"max_posterior_predictor\": 1623948.9376161413, \"mean_posterior_predictor\": 1579161.8323219055, \"Total_scaled\": 1595322.0, \"Week_nr\": 58}, {\"min_posterior_predictor\": 1545556.0205357554, \"max_posterior_predictor\": 1645510.5915856566, \"mean_posterior_predictor\": 1599403.5375837125, \"Total_scaled\": 1614194.0, \"Week_nr\": 59}, {\"min_posterior_predictor\": 1578017.1020097595, \"max_posterior_predictor\": 1660911.66169897, \"mean_posterior_predictor\": 1617926.8419041645, \"Total_scaled\": 1631960.0, \"Week_nr\": 60}, {\"min_posterior_predictor\": 1595985.0337170847, \"max_posterior_predictor\": 1683631.5498404044, \"mean_posterior_predictor\": 1636410.9089222879, \"Total_scaled\": 1648776.0, \"Week_nr\": 61}, {\"min_posterior_predictor\": 1600925.4682113435, \"max_posterior_predictor\": 1697332.228398052, \"mean_posterior_predictor\": 1655000.6713574869, \"Total_scaled\": 1664830.0, \"Week_nr\": 62}, {\"min_posterior_predictor\": 1630046.8575103085, \"max_posterior_predictor\": 1723159.7505602203, \"mean_posterior_predictor\": 1672152.065442119, \"Total_scaled\": 1681211.0000000002, \"Week_nr\": 63}, {\"min_posterior_predictor\": 1645404.2861809132, \"max_posterior_predictor\": 1741474.365617882, \"mean_posterior_predictor\": 1689378.1384038688, \"Total_scaled\": 1695693.0, \"Week_nr\": 64}, {\"min_posterior_predictor\": 1669249.2546786943, \"max_posterior_predictor\": 1747999.3703014557, \"mean_posterior_predictor\": 1706410.6811831868, \"Total_scaled\": 1713873.0, \"Week_nr\": 65}, {\"min_posterior_predictor\": 1679980.5988211313, \"max_posterior_predictor\": 1762572.402953804, \"mean_posterior_predictor\": 1723078.605468756, \"Total_scaled\": 1726447.0, \"Week_nr\": 66}, {\"min_posterior_predictor\": 1703438.4497595357, \"max_posterior_predictor\": 1782142.929039181, \"mean_posterior_predictor\": 1739418.119527992, \"Total_scaled\": 1738317.0000000002, \"Week_nr\": 67}, {\"min_posterior_predictor\": 1716575.9513407445, \"max_posterior_predictor\": 1802604.1802953437, \"mean_posterior_predictor\": 1756136.617694302, \"Total_scaled\": 1750507.0, \"Week_nr\": 68}, {\"min_posterior_predictor\": 1722051.5448732828, \"max_posterior_predictor\": 1808033.988403896, \"mean_posterior_predictor\": 1762717.509856957, \"Total_scaled\": 1760062.0, \"Week_nr\": 69}, {\"min_posterior_predictor\": 1728662.411204074, \"max_posterior_predictor\": 1809367.523123007, \"mean_posterior_predictor\": 1769336.7715302277, \"Total_scaled\": 1766831.0, \"Week_nr\": 70}, {\"min_posterior_predictor\": 1735281.845043194, \"max_posterior_predictor\": 1818158.1470918667, \"mean_posterior_predictor\": 1775559.3357614584, \"Total_scaled\": 1771677.0, \"Week_nr\": 71}, {\"min_posterior_predictor\": 1740832.4458079278, \"max_posterior_predictor\": 1826439.813639035, \"mean_posterior_predictor\": 1782151.2029116983, \"Total_scaled\": 1775828.0, \"Week_nr\": 72}, {\"min_posterior_predictor\": 1734911.77760558, \"max_posterior_predictor\": 1829364.2995137072, \"mean_posterior_predictor\": 1788491.8376774972, \"Total_scaled\": 1779788.0, \"Week_nr\": 73}, {\"min_posterior_predictor\": 1754232.8702086778, \"max_posterior_predictor\": 1836028.7992552582, \"mean_posterior_predictor\": 1794671.676912059, \"Total_scaled\": 1784016.0, \"Week_nr\": 74}, {\"min_posterior_predictor\": 1756933.1792985895, \"max_posterior_predictor\": 1845761.9689057532, \"mean_posterior_predictor\": 1800878.477126733, \"Total_scaled\": 1788030.0, \"Week_nr\": 75}, {\"min_posterior_predictor\": 1758534.5518152965, \"max_posterior_predictor\": 1851867.6931438113, \"mean_posterior_predictor\": 1807726.7858771426, \"Total_scaled\": 1791936.0, \"Week_nr\": 76}, {\"min_posterior_predictor\": 1772693.6911485598, \"max_posterior_predictor\": 1860670.3615220177, \"mean_posterior_predictor\": 1814087.95419153, \"Total_scaled\": 1795764.0, \"Week_nr\": 77}, {\"min_posterior_predictor\": 1774845.195704621, \"max_posterior_predictor\": 1862347.5694377185, \"mean_posterior_predictor\": 1820002.546619489, \"Total_scaled\": 1801047.0, \"Week_nr\": 78}, {\"min_posterior_predictor\": 1786408.622119492, \"max_posterior_predictor\": 1864614.680924626, \"mean_posterior_predictor\": 1826150.6801083556, \"Total_scaled\": 1805679.0, \"Week_nr\": 79}, {\"min_posterior_predictor\": 1791624.7602764384, \"max_posterior_predictor\": 1874461.348459405, \"mean_posterior_predictor\": 1832697.465224675, \"Total_scaled\": 1814821.0, \"Week_nr\": 80}, {\"min_posterior_predictor\": 1797344.0623312115, \"max_posterior_predictor\": 1879523.9788985606, \"mean_posterior_predictor\": 1839097.426139276, \"Total_scaled\": 1825832.0, \"Week_nr\": 81}, {\"min_posterior_predictor\": 1801447.7913055348, \"max_posterior_predictor\": 1890649.3465126103, \"mean_posterior_predictor\": 1845317.1957011053, \"Total_scaled\": 1833307.0, \"Week_nr\": 82}, {\"min_posterior_predictor\": 1797630.79333891, \"max_posterior_predictor\": 1897751.78401724, \"mean_posterior_predictor\": 1851618.2643678428, \"Total_scaled\": 1840314.0, \"Week_nr\": 83}, {\"min_posterior_predictor\": 1821221.1503062702, \"max_posterior_predictor\": 1899183.854831388, \"mean_posterior_predictor\": 1857893.0015933623, \"Total_scaled\": 1845603.9999999998, \"Week_nr\": 84}, {\"min_posterior_predictor\": 1811295.204062353, \"max_posterior_predictor\": 1911981.043789848, \"mean_posterior_predictor\": 1864617.9035755172, \"Total_scaled\": 1851568.0, \"Week_nr\": 85}, {\"min_posterior_predictor\": 1830454.1470574697, \"max_posterior_predictor\": 1915119.3835457528, \"mean_posterior_predictor\": 1870606.9198103244, \"Total_scaled\": 1882009.0, \"Week_nr\": 86}, {\"min_posterior_predictor\": 1854604.0329117796, \"max_posterior_predictor\": 1946813.48843113, \"mean_posterior_predictor\": 1896403.4360156907, \"Total_scaled\": 1918689.0, \"Week_nr\": 87}, {\"min_posterior_predictor\": 1878870.197409644, \"max_posterior_predictor\": 1958600.1745408555, \"mean_posterior_predictor\": 1918797.919260945, \"Total_scaled\": 1944323.0, \"Week_nr\": 88}, {\"min_posterior_predictor\": 1896358.1474168925, \"max_posterior_predictor\": 1979760.5242283854, \"mean_posterior_predictor\": 1938678.8925533094, \"Total_scaled\": 1962893.0, \"Week_nr\": 89}, {\"min_posterior_predictor\": 1914830.672666629, \"max_posterior_predictor\": 1998033.756073944, \"mean_posterior_predictor\": 1956414.3562241339, \"Total_scaled\": 1976710.0, \"Week_nr\": 90}, {\"min_posterior_predictor\": 1930170.812113751, \"max_posterior_predictor\": 2011805.4754955603, \"mean_posterior_predictor\": 1972066.9256804984, \"Total_scaled\": 1987082.0, \"Week_nr\": 91}, {\"min_posterior_predictor\": 1943700.093111932, \"max_posterior_predictor\": 2033730.135952783, \"mean_posterior_predictor\": 1986481.281728945, \"Total_scaled\": 1996842.0, \"Week_nr\": 92}, {\"min_posterior_predictor\": 1959129.0296620415, \"max_posterior_predictor\": 2042124.3238578702, \"mean_posterior_predictor\": 1999170.5621964906, \"Total_scaled\": 2005245.0, \"Week_nr\": 93}, {\"min_posterior_predictor\": 1960422.359435465, \"max_posterior_predictor\": 2061726.0297884045, \"mean_posterior_predictor\": 2011037.4073215094, \"Total_scaled\": 2014350.0, \"Week_nr\": 94}, {\"min_posterior_predictor\": 1979425.1906161415, \"max_posterior_predictor\": 2070447.623169771, \"mean_posterior_predictor\": 2021990.4558524117, \"Total_scaled\": 2022263.0, \"Week_nr\": 95}, {\"min_posterior_predictor\": 1989369.3901620572, \"max_posterior_predictor\": 2083440.3833343259, \"mean_posterior_predictor\": 2031996.4660309774, \"Total_scaled\": 2030916.0, \"Week_nr\": 96}, {\"min_posterior_predictor\": 2003667.580700594, \"max_posterior_predictor\": 2087789.164042231, \"mean_posterior_predictor\": 2041765.7662680212, \"Total_scaled\": 2038949.0, \"Week_nr\": 97}, {\"min_posterior_predictor\": 2010793.0078788255, \"max_posterior_predictor\": 2088562.2899906326, \"mean_posterior_predictor\": 2050737.7582791569, \"Total_scaled\": 2046823.0, \"Week_nr\": 98}, {\"min_posterior_predictor\": 2014784.0824615394, \"max_posterior_predictor\": 2100866.232714353, \"mean_posterior_predictor\": 2059072.353124368, \"Total_scaled\": 2054041.0, \"Week_nr\": 99}, {\"min_posterior_predictor\": 2020816.0057931207, \"max_posterior_predictor\": 2110744.6261640866, \"mean_posterior_predictor\": 2067146.5929339058, \"Total_scaled\": 2060177.0, \"Week_nr\": 100}, {\"min_posterior_predictor\": 2031783.6307320201, \"max_posterior_predictor\": 2116837.970595054, \"mean_posterior_predictor\": 2075312.2056655858, \"Total_scaled\": 2067619.0, \"Week_nr\": 101}, {\"min_posterior_predictor\": 2040956.2510052782, \"max_posterior_predictor\": 2135195.225028127, \"mean_posterior_predictor\": 2082663.127806167, \"Total_scaled\": 2076810.9999999998, \"Week_nr\": 102}, {\"min_posterior_predictor\": 2048377.2145812924, \"max_posterior_predictor\": 2130184.2338516936, \"mean_posterior_predictor\": 2089831.0648329386, \"Total_scaled\": 2083661.0, \"Week_nr\": 103}, {\"min_posterior_predictor\": 2054995.735059004, \"max_posterior_predictor\": 2144147.791908768, \"mean_posterior_predictor\": 2097220.2896447093, \"Total_scaled\": 2090011.0, \"Week_nr\": 104}, {\"min_posterior_predictor\": 2062561.0888971423, \"max_posterior_predictor\": 2156891.9424829273, \"mean_posterior_predictor\": 2104232.222387226, \"Total_scaled\": 2096236.0, \"Week_nr\": 105}, {\"min_posterior_predictor\": 2066785.9813565107, \"max_posterior_predictor\": 2154708.1804123344, \"mean_posterior_predictor\": 2110982.6320318235, \"Total_scaled\": 2103205.0, \"Week_nr\": 106}, {\"min_posterior_predictor\": 2079903.790979294, \"max_posterior_predictor\": 2165075.0166512555, \"mean_posterior_predictor\": 2118126.589855369, \"Total_scaled\": 2111082.0, \"Week_nr\": 107}, {\"min_posterior_predictor\": 2083919.4966015785, \"max_posterior_predictor\": 2163858.455164716, \"mean_posterior_predictor\": 2124571.3472337574, \"Total_scaled\": 2117072.0, \"Week_nr\": 108}, {\"min_posterior_predictor\": 2088071.1077737687, \"max_posterior_predictor\": 2182534.418084709, \"mean_posterior_predictor\": 2131047.2927002124, \"Total_scaled\": 2124173.0, \"Week_nr\": 109}, {\"min_posterior_predictor\": 2096683.853941902, \"max_posterior_predictor\": 2177834.0093912487, \"mean_posterior_predictor\": 2137911.0212898105, \"Total_scaled\": 2132964.0, \"Week_nr\": 110}, {\"min_posterior_predictor\": 2095222.917540989, \"max_posterior_predictor\": 2187530.6044368767, \"mean_posterior_predictor\": 2144356.0688301697, \"Total_scaled\": 2140180.0, \"Week_nr\": 111}, {\"min_posterior_predictor\": 2099654.9201119933, \"max_posterior_predictor\": 2198886.829214838, \"mean_posterior_predictor\": 2150828.2228295114, \"Total_scaled\": 2149788.0, \"Week_nr\": 112}, {\"min_posterior_predictor\": 2101215.8780273334, \"max_posterior_predictor\": 2204635.4337348198, \"mean_posterior_predictor\": 2156952.7548034093, \"Total_scaled\": 2156773.0, \"Week_nr\": 113}, {\"min_posterior_predictor\": 2120372.98877868, \"max_posterior_predictor\": 2206025.8566086995, \"mean_posterior_predictor\": 2163649.2635356965, \"Total_scaled\": 2162860.0, \"Week_nr\": 114}, {\"min_posterior_predictor\": 2122226.964033421, \"max_posterior_predictor\": 2208929.0151279178, \"mean_posterior_predictor\": 2170005.1003858605, \"Total_scaled\": 2169322.0, \"Week_nr\": 115}, {\"min_posterior_predictor\": 2133687.7630502335, \"max_posterior_predictor\": 2217498.1380911036, \"mean_posterior_predictor\": 2176616.006942026, \"Total_scaled\": 2176378.0, \"Week_nr\": 116}, {\"min_posterior_predictor\": 2145990.29032642, \"max_posterior_predictor\": 2223525.0294720014, \"mean_posterior_predictor\": 2182920.895681379, \"Total_scaled\": 2182344.0, \"Week_nr\": 117}, {\"min_posterior_predictor\": 2147441.0291195423, \"max_posterior_predictor\": 2236139.435051836, \"mean_posterior_predictor\": 2189068.3168171993, \"Total_scaled\": 2188012.0, \"Week_nr\": 118}, {\"min_posterior_predictor\": 2157425.0688361907, \"max_posterior_predictor\": 2234922.082900293, \"mean_posterior_predictor\": 2195398.5655920887, \"Total_scaled\": 2193073.0, \"Week_nr\": 119}, {\"min_posterior_predictor\": 2158650.816261443, \"max_posterior_predictor\": 2249298.2215740667, \"mean_posterior_predictor\": 2201618.9574214574, \"Total_scaled\": 2199799.0, \"Week_nr\": 120}, {\"min_posterior_predictor\": 2165091.535032807, \"max_posterior_predictor\": 2251526.9064032123, \"mean_posterior_predictor\": 2207864.269464728, \"Total_scaled\": 2206517.0, \"Week_nr\": 121}, {\"min_posterior_predictor\": 2174506.8903502775, \"max_posterior_predictor\": 2255295.7288273377, \"mean_posterior_predictor\": 2214415.1827751677, \"Total_scaled\": 2213017.0, \"Week_nr\": 122}, {\"min_posterior_predictor\": 2174123.8225230183, \"max_posterior_predictor\": 2274238.1874597906, \"mean_posterior_predictor\": 2220606.2654805607, \"Total_scaled\": 2220233.0, \"Week_nr\": 123}, {\"min_posterior_predictor\": 2182318.186497229, \"max_posterior_predictor\": 2268898.4292512806, \"mean_posterior_predictor\": 2226586.4918640694, \"Total_scaled\": 2226398.0, \"Week_nr\": 124}, {\"min_posterior_predictor\": 2190202.779751918, \"max_posterior_predictor\": 2277530.926927723, \"mean_posterior_predictor\": 2233073.083385716, \"Total_scaled\": 2233166.0, \"Week_nr\": 125}, {\"min_posterior_predictor\": 2192527.9166283417, \"max_posterior_predictor\": 2282433.4922874346, \"mean_posterior_predictor\": 2239744.790190526, \"Total_scaled\": 2256253.0, \"Week_nr\": 126}, {\"min_posterior_predictor\": 2199825.170936202, \"max_posterior_predictor\": 2286617.603740338, \"mean_posterior_predictor\": 2245837.016013884, \"Total_scaled\": 2270314.0, \"Week_nr\": 127}, {\"min_posterior_predictor\": 2232264.2805982153, \"max_posterior_predictor\": 2311652.072288743, \"mean_posterior_predictor\": 2270936.316577412, \"Total_scaled\": 2281544.0, \"Week_nr\": 128}, {\"min_posterior_predictor\": 2251508.762632616, \"max_posterior_predictor\": 2339469.4818152147, \"mean_posterior_predictor\": 2292252.997456121, \"Total_scaled\": 2290966.0, \"Week_nr\": 129}, {\"min_posterior_predictor\": 2271169.5928965155, \"max_posterior_predictor\": 2351601.4838867527, \"mean_posterior_predictor\": 2311544.2127617397, \"Total_scaled\": 2308213.0, \"Week_nr\": 130}, {\"min_posterior_predictor\": 2275250.225349306, \"max_posterior_predictor\": 2373243.9009931944, \"mean_posterior_predictor\": 2328564.116412976, \"Total_scaled\": 2332833.0, \"Week_nr\": 131}, {\"min_posterior_predictor\": 2297468.5913359155, \"max_posterior_predictor\": 2385420.734590713, \"mean_posterior_predictor\": 2343746.8397787246, \"Total_scaled\": 2346868.0, \"Week_nr\": 132}, {\"min_posterior_predictor\": 2312453.984724053, \"max_posterior_predictor\": 2408814.210845273, \"mean_posterior_predictor\": 2357785.5381497364, \"Total_scaled\": 2359112.0, \"Week_nr\": 133}, {\"min_posterior_predictor\": 2322939.9671402415, \"max_posterior_predictor\": 2416334.133202107, \"mean_posterior_predictor\": 2369973.4355881996, \"Total_scaled\": 2368328.0, \"Week_nr\": 134}], \"data-ff6fa86c278375baa877de65c896c05b\": [{\"min_posterior_predictor\": 111888.12728664982, \"max_posterior_predictor\": 194558.0758563198, \"mean_posterior_predictor\": 149959.4157371541, \"Total_scaled\": 158016.0, \"Week_nr\": 1}, {\"min_posterior_predictor\": 175355.00703044207, \"max_posterior_predictor\": 263120.9599323788, \"mean_posterior_predictor\": 218800.63666126688, \"Total_scaled\": 218733.0, \"Week_nr\": 2}, {\"min_posterior_predictor\": 237501.81550698346, \"max_posterior_predictor\": 325711.56671106396, \"mean_posterior_predictor\": 278440.122124775, \"Total_scaled\": 268026.0, \"Week_nr\": 3}, {\"min_posterior_predictor\": 284547.3275702865, \"max_posterior_predictor\": 373269.2244791804, \"mean_posterior_predictor\": 331333.3485021777, \"Total_scaled\": 311895.0, \"Week_nr\": 4}, {\"min_posterior_predictor\": 323079.63456078456, \"max_posterior_predictor\": 424539.0245828116, \"mean_posterior_predictor\": 377526.434156094, \"Total_scaled\": 358098.0, \"Week_nr\": 5}, {\"min_posterior_predictor\": 365890.5098152653, \"max_posterior_predictor\": 463596.58702044975, \"mean_posterior_predictor\": 419321.8051578593, \"Total_scaled\": 410409.99999999994, \"Week_nr\": 6}, {\"min_posterior_predictor\": 413368.85289014684, \"max_posterior_predictor\": 498127.30561848433, \"mean_posterior_predictor\": 456028.7330559689, \"Total_scaled\": 449141.0, \"Week_nr\": 7}, {\"min_posterior_predictor\": 442855.99652516545, \"max_posterior_predictor\": 538585.413087107, \"mean_posterior_predictor\": 489929.0194042656, \"Total_scaled\": 484733.0, \"Week_nr\": 8}, {\"min_posterior_predictor\": 471713.20226295094, \"max_posterior_predictor\": 563414.7327305455, \"mean_posterior_predictor\": 520212.7937898945, \"Total_scaled\": 514875.0, \"Week_nr\": 9}, {\"min_posterior_predictor\": 498514.2041765395, \"max_posterior_predictor\": 597186.9585485564, \"mean_posterior_predictor\": 548256.285070856, \"Total_scaled\": 542482.0, \"Week_nr\": 10}, {\"min_posterior_predictor\": 533787.1493753571, \"max_posterior_predictor\": 616534.3340102138, \"mean_posterior_predictor\": 574462.3874379104, \"Total_scaled\": 567390.0, \"Week_nr\": 11}, {\"min_posterior_predictor\": 554423.593251986, \"max_posterior_predictor\": 647119.3249897351, \"mean_posterior_predictor\": 598496.6217145021, \"Total_scaled\": 588272.0, \"Week_nr\": 12}, {\"min_posterior_predictor\": 578562.206663377, \"max_posterior_predictor\": 667354.7630007945, \"mean_posterior_predictor\": 621834.4457414801, \"Total_scaled\": 612802.0, \"Week_nr\": 13}, {\"min_posterior_predictor\": 602881.0061784867, \"max_posterior_predictor\": 686078.7692556988, \"mean_posterior_predictor\": 642851.7133481913, \"Total_scaled\": 637707.0, \"Week_nr\": 14}, {\"min_posterior_predictor\": 623248.9085893206, \"max_posterior_predictor\": 706981.024502685, \"mean_posterior_predictor\": 664051.359697224, \"Total_scaled\": 661436.0000000001, \"Week_nr\": 15}, {\"min_posterior_predictor\": 634827.0082111742, \"max_posterior_predictor\": 726615.362173644, \"mean_posterior_predictor\": 683413.3580608324, \"Total_scaled\": 682800.0, \"Week_nr\": 16}, {\"min_posterior_predictor\": 655720.0482299024, \"max_posterior_predictor\": 743710.3196338292, \"mean_posterior_predictor\": 702293.2995440837, \"Total_scaled\": 705082.0, \"Week_nr\": 17}, {\"min_posterior_predictor\": 677532.1645840956, \"max_posterior_predictor\": 762699.7497687802, \"mean_posterior_predictor\": 720762.9478556132, \"Total_scaled\": 726628.9999999999, \"Week_nr\": 18}, {\"min_posterior_predictor\": 697223.637321156, \"max_posterior_predictor\": 787313.431739292, \"mean_posterior_predictor\": 739138.3965278174, \"Total_scaled\": 746798.0, \"Week_nr\": 19}, {\"min_posterior_predictor\": 708254.7481793264, \"max_posterior_predictor\": 798808.9102769337, \"mean_posterior_predictor\": 756534.7245750903, \"Total_scaled\": 765487.0, \"Week_nr\": 20}, {\"min_posterior_predictor\": 727994.954963308, \"max_posterior_predictor\": 814029.4341181109, \"mean_posterior_predictor\": 773328.9064347498, \"Total_scaled\": 781028.0, \"Week_nr\": 21}, {\"min_posterior_predictor\": 749008.8635956977, \"max_posterior_predictor\": 836568.9100871474, \"mean_posterior_predictor\": 790832.8695704932, \"Total_scaled\": 796341.0, \"Week_nr\": 22}, {\"min_posterior_predictor\": 767249.57167367, \"max_posterior_predictor\": 846721.3580481303, \"mean_posterior_predictor\": 807423.1038213024, \"Total_scaled\": 808626.0, \"Week_nr\": 23}, {\"min_posterior_predictor\": 775596.3476136246, \"max_posterior_predictor\": 866308.5721697725, \"mean_posterior_predictor\": 824280.8748812341, \"Total_scaled\": 820202.0, \"Week_nr\": 24}, {\"min_posterior_predictor\": 800433.3333442508, \"max_posterior_predictor\": 884507.2610665855, \"mean_posterior_predictor\": 840174.3563474476, \"Total_scaled\": 831495.0, \"Week_nr\": 25}, {\"min_posterior_predictor\": 815543.489561617, \"max_posterior_predictor\": 899631.0995303144, \"mean_posterior_predictor\": 856012.9706142433, \"Total_scaled\": 842115.0, \"Week_nr\": 26}, {\"min_posterior_predictor\": 828995.927223741, \"max_posterior_predictor\": 917445.7980089609, \"mean_posterior_predictor\": 872597.2614611521, \"Total_scaled\": 851958.0, \"Week_nr\": 27}, {\"min_posterior_predictor\": 847598.5481633361, \"max_posterior_predictor\": 936656.1793401489, \"mean_posterior_predictor\": 888439.8461470054, \"Total_scaled\": 907925.0, \"Week_nr\": 28}, {\"min_posterior_predictor\": 878568.9912178401, \"max_posterior_predictor\": 980599.3693339636, \"mean_posterior_predictor\": 930675.3306945993, \"Total_scaled\": 960040.9999999999, \"Week_nr\": 29}, {\"min_posterior_predictor\": 919620.288883914, \"max_posterior_predictor\": 1014172.6664851015, \"mean_posterior_predictor\": 968664.8974796986, \"Total_scaled\": 993650.0, \"Week_nr\": 30}, {\"min_posterior_predictor\": 953239.0936754305, \"max_posterior_predictor\": 1040566.353063768, \"mean_posterior_predictor\": 1002666.9477840741, \"Total_scaled\": 1023340.0, \"Week_nr\": 31}, {\"min_posterior_predictor\": 991819.8203517655, \"max_posterior_predictor\": 1076375.4187094937, \"mean_posterior_predictor\": 1033747.0054784797, \"Total_scaled\": 1048610.0, \"Week_nr\": 32}, {\"min_posterior_predictor\": 1016770.1048235871, \"max_posterior_predictor\": 1103535.7507590132, \"mean_posterior_predictor\": 1062281.436759159, \"Total_scaled\": 1070131.0, \"Week_nr\": 33}, {\"min_posterior_predictor\": 1045130.9532484617, \"max_posterior_predictor\": 1129697.0921648326, \"mean_posterior_predictor\": 1088606.8239370666, \"Total_scaled\": 1091245.0, \"Week_nr\": 34}, {\"min_posterior_predictor\": 1071210.0202183644, \"max_posterior_predictor\": 1161838.8119149408, \"mean_posterior_predictor\": 1113440.0792806495, \"Total_scaled\": 1112175.0, \"Week_nr\": 35}, {\"min_posterior_predictor\": 1095702.1087138462, \"max_posterior_predictor\": 1181987.8871113674, \"mean_posterior_predictor\": 1136623.24259504, \"Total_scaled\": 1133563.0, \"Week_nr\": 36}, {\"min_posterior_predictor\": 1118406.3813584985, \"max_posterior_predictor\": 1199006.8921784782, \"mean_posterior_predictor\": 1158200.0678470603, \"Total_scaled\": 1159949.0, \"Week_nr\": 37}, {\"min_posterior_predictor\": 1139923.651365368, \"max_posterior_predictor\": 1221829.5490402507, \"mean_posterior_predictor\": 1178936.6868907707, \"Total_scaled\": 1184302.0, \"Week_nr\": 38}, {\"min_posterior_predictor\": 1149755.462695543, \"max_posterior_predictor\": 1239461.4751569582, \"mean_posterior_predictor\": 1198817.5240293564, \"Total_scaled\": 1204366.0, \"Week_nr\": 39}, {\"min_posterior_predictor\": 1171095.442053439, \"max_posterior_predictor\": 1259670.4013950746, \"mean_posterior_predictor\": 1217626.1865029621, \"Total_scaled\": 1223308.0, \"Week_nr\": 40}, {\"min_posterior_predictor\": 1194395.3811241824, \"max_posterior_predictor\": 1277255.7413164377, \"mean_posterior_predictor\": 1236841.825596114, \"Total_scaled\": 1241919.0, \"Week_nr\": 41}, {\"min_posterior_predictor\": 1211672.9791782333, \"max_posterior_predictor\": 1293539.7271400508, \"mean_posterior_predictor\": 1254610.8322137254, \"Total_scaled\": 1257431.0, \"Week_nr\": 42}, {\"min_posterior_predictor\": 1217821.0610854048, \"max_posterior_predictor\": 1316311.3656631873, \"mean_posterior_predictor\": 1272503.2819998811, \"Total_scaled\": 1271526.0, \"Week_nr\": 43}, {\"min_posterior_predictor\": 1250760.4521954905, \"max_posterior_predictor\": 1336159.1100568257, \"mean_posterior_predictor\": 1289825.2121273014, \"Total_scaled\": 1285085.0, \"Week_nr\": 44}, {\"min_posterior_predictor\": 1260301.3312361604, \"max_posterior_predictor\": 1351301.778931898, \"mean_posterior_predictor\": 1306738.0261811183, \"Total_scaled\": 1297746.0, \"Week_nr\": 45}, {\"min_posterior_predictor\": 1282143.6282196976, \"max_posterior_predictor\": 1364923.7894669194, \"mean_posterior_predictor\": 1323330.0650340845, \"Total_scaled\": 1310925.0, \"Week_nr\": 46}, {\"min_posterior_predictor\": 1299966.8225937367, \"max_posterior_predictor\": 1380695.0180436727, \"mean_posterior_predictor\": 1339745.793460503, \"Total_scaled\": 1323397.0, \"Week_nr\": 47}, {\"min_posterior_predictor\": 1311686.267421438, \"max_posterior_predictor\": 1409722.7487218918, \"mean_posterior_predictor\": 1356287.5093254251, \"Total_scaled\": 1335482.0, \"Week_nr\": 48}, {\"min_posterior_predictor\": 1326360.190889383, \"max_posterior_predictor\": 1418929.3699032257, \"mean_posterior_predictor\": 1372629.884692479, \"Total_scaled\": 1348462.0, \"Week_nr\": 49}, {\"min_posterior_predictor\": 1344258.621000911, \"max_posterior_predictor\": 1434696.4920087084, \"mean_posterior_predictor\": 1388746.217057874, \"Total_scaled\": 1361276.0, \"Week_nr\": 50}, {\"min_posterior_predictor\": 1352875.6240468635, \"max_posterior_predictor\": 1456304.019067344, \"mean_posterior_predictor\": 1404763.3954584345, \"Total_scaled\": 1403570.0, \"Week_nr\": 51}, {\"min_posterior_predictor\": 1397169.460414061, \"max_posterior_predictor\": 1475152.4777985986, \"mean_posterior_predictor\": 1435317.1240507553, \"Total_scaled\": 1451393.0, \"Week_nr\": 52}, {\"min_posterior_predictor\": 1416304.406921247, \"max_posterior_predictor\": 1504239.5642696011, \"mean_posterior_predictor\": 1463813.9751413094, \"Total_scaled\": 1480745.0, \"Week_nr\": 53}, {\"min_posterior_predictor\": 1446626.4946766105, \"max_posterior_predictor\": 1537132.457760504, \"mean_posterior_predictor\": 1489712.909043393, \"Total_scaled\": 1502119.0000000002, \"Week_nr\": 54}, {\"min_posterior_predictor\": 1464766.5673991072, \"max_posterior_predictor\": 1556188.080388227, \"mean_posterior_predictor\": 1513906.6262855334, \"Total_scaled\": 1528834.0, \"Week_nr\": 55}, {\"min_posterior_predictor\": 1489071.27268309, \"max_posterior_predictor\": 1588813.459016947, \"mean_posterior_predictor\": 1536595.493219822, \"Total_scaled\": 1550982.0, \"Week_nr\": 56}, {\"min_posterior_predictor\": 1515567.0546872718, \"max_posterior_predictor\": 1608493.319833829, \"mean_posterior_predictor\": 1558485.9502454503, \"Total_scaled\": 1570683.0, \"Week_nr\": 57}, {\"min_posterior_predictor\": 1535198.295705419, \"max_posterior_predictor\": 1620750.751273477, \"mean_posterior_predictor\": 1579429.7303502797, \"Total_scaled\": 1595322.0, \"Week_nr\": 58}, {\"min_posterior_predictor\": 1556068.2346094286, \"max_posterior_predictor\": 1652192.007144404, \"mean_posterior_predictor\": 1598800.9949713445, \"Total_scaled\": 1614194.0, \"Week_nr\": 59}, {\"min_posterior_predictor\": 1572830.9705489974, \"max_posterior_predictor\": 1668243.9369331757, \"mean_posterior_predictor\": 1618056.9131143636, \"Total_scaled\": 1631960.0, \"Week_nr\": 60}, {\"min_posterior_predictor\": 1586719.4810638996, \"max_posterior_predictor\": 1685940.3403713475, \"mean_posterior_predictor\": 1636464.7401266848, \"Total_scaled\": 1648776.0, \"Week_nr\": 61}, {\"min_posterior_predictor\": 1608045.554394537, \"max_posterior_predictor\": 1702107.7954517268, \"mean_posterior_predictor\": 1654484.236779788, \"Total_scaled\": 1664830.0, \"Week_nr\": 62}, {\"min_posterior_predictor\": 1628652.208353889, \"max_posterior_predictor\": 1711100.2238473522, \"mean_posterior_predictor\": 1672259.3286895228, \"Total_scaled\": 1681211.0000000002, \"Week_nr\": 63}, {\"min_posterior_predictor\": 1642251.5729336713, \"max_posterior_predictor\": 1728167.8803025964, \"mean_posterior_predictor\": 1689477.4176605956, \"Total_scaled\": 1695693.0, \"Week_nr\": 64}, {\"min_posterior_predictor\": 1660917.3682722726, \"max_posterior_predictor\": 1747987.1258975884, \"mean_posterior_predictor\": 1706254.1135381823, \"Total_scaled\": 1713873.0, \"Week_nr\": 65}, {\"min_posterior_predictor\": 1677754.820977974, \"max_posterior_predictor\": 1766477.917418339, \"mean_posterior_predictor\": 1723353.6235976964, \"Total_scaled\": 1726447.0, \"Week_nr\": 66}, {\"min_posterior_predictor\": 1699018.1062747964, \"max_posterior_predictor\": 1782950.1320905415, \"mean_posterior_predictor\": 1739833.7451248348, \"Total_scaled\": 1738317.0000000002, \"Week_nr\": 67}, {\"min_posterior_predictor\": 1713169.9239650515, \"max_posterior_predictor\": 1798451.1492183958, \"mean_posterior_predictor\": 1755925.3598580852, \"Total_scaled\": 1750507.0, \"Week_nr\": 68}, {\"min_posterior_predictor\": 1732510.0791754255, \"max_posterior_predictor\": 1817523.8903912725, \"mean_posterior_predictor\": 1772214.3458955374, \"Total_scaled\": 1760062.0, \"Week_nr\": 69}, {\"min_posterior_predictor\": 1738095.881745525, \"max_posterior_predictor\": 1827142.1830706876, \"mean_posterior_predictor\": 1788459.3023579859, \"Total_scaled\": 1766831.0, \"Week_nr\": 70}, {\"min_posterior_predictor\": 1762186.3086895915, \"max_posterior_predictor\": 1844043.369777806, \"mean_posterior_predictor\": 1804497.665497859, \"Total_scaled\": 1771677.0, \"Week_nr\": 71}, {\"min_posterior_predictor\": 1776930.1902068795, \"max_posterior_predictor\": 1861499.6367843626, \"mean_posterior_predictor\": 1820327.0830958223, \"Total_scaled\": 1775828.0, \"Week_nr\": 72}, {\"min_posterior_predictor\": 1789344.6125722355, \"max_posterior_predictor\": 1875937.9404660962, \"mean_posterior_predictor\": 1836010.9578540053, \"Total_scaled\": 1779788.0, \"Week_nr\": 73}, {\"min_posterior_predictor\": 1811137.6663866618, \"max_posterior_predictor\": 1899504.1056306001, \"mean_posterior_predictor\": 1851884.1869671454, \"Total_scaled\": 1784016.0, \"Week_nr\": 74}, {\"min_posterior_predictor\": 1817789.439481123, \"max_posterior_predictor\": 1910112.8972173736, \"mean_posterior_predictor\": 1867276.8325019942, \"Total_scaled\": 1788030.0, \"Week_nr\": 75}, {\"min_posterior_predictor\": 1842659.6534201768, \"max_posterior_predictor\": 1927785.6529284383, \"mean_posterior_predictor\": 1883296.7080890217, \"Total_scaled\": 1791936.0, \"Week_nr\": 76}, {\"min_posterior_predictor\": 1844760.68381235, \"max_posterior_predictor\": 1947005.0945206543, \"mean_posterior_predictor\": 1898486.5565178748, \"Total_scaled\": 1795764.0, \"Week_nr\": 77}, {\"min_posterior_predictor\": 1865262.7256324212, \"max_posterior_predictor\": 1961549.6113852544, \"mean_posterior_predictor\": 1914332.2735536876, \"Total_scaled\": 1801047.0, \"Week_nr\": 78}, {\"min_posterior_predictor\": 1883438.1819451891, \"max_posterior_predictor\": 1978656.265489211, \"mean_posterior_predictor\": 1930073.0998467072, \"Total_scaled\": 1805679.0, \"Week_nr\": 79}, {\"min_posterior_predictor\": 1900744.3232364405, \"max_posterior_predictor\": 1996193.5516233628, \"mean_posterior_predictor\": 1945381.9914715334, \"Total_scaled\": 1814821.0, \"Week_nr\": 80}, {\"min_posterior_predictor\": 1904610.006089611, \"max_posterior_predictor\": 2009785.1416060522, \"mean_posterior_predictor\": 1961047.2209154253, \"Total_scaled\": 1825832.0, \"Week_nr\": 81}, {\"min_posterior_predictor\": 1931056.9789228751, \"max_posterior_predictor\": 2022574.143928637, \"mean_posterior_predictor\": 1976862.8328499799, \"Total_scaled\": 1833307.0, \"Week_nr\": 82}, {\"min_posterior_predictor\": 1933098.5670293896, \"max_posterior_predictor\": 2048012.8050694445, \"mean_posterior_predictor\": 1991913.082431347, \"Total_scaled\": 1840314.0, \"Week_nr\": 83}, {\"min_posterior_predictor\": 1963303.4333034148, \"max_posterior_predictor\": 2054147.228362601, \"mean_posterior_predictor\": 2007998.6372326706, \"Total_scaled\": 1845603.9999999998, \"Week_nr\": 84}, {\"min_posterior_predictor\": 1968922.803943805, \"max_posterior_predictor\": 2080610.2730841297, \"mean_posterior_predictor\": 2023377.4367530684, \"Total_scaled\": 1851568.0, \"Week_nr\": 85}, {\"min_posterior_predictor\": 1981717.4875066278, \"max_posterior_predictor\": 2090432.8428163326, \"mean_posterior_predictor\": 2038772.449022256, \"Total_scaled\": 1882009.0, \"Week_nr\": 86}, {\"min_posterior_predictor\": 2043024.3029107878, \"max_posterior_predictor\": 2168543.593578983, \"mean_posterior_predictor\": 2102461.233275682, \"Total_scaled\": 1918689.0, \"Week_nr\": 87}, {\"min_posterior_predictor\": 2076665.080418568, \"max_posterior_predictor\": 2237523.4496375523, \"mean_posterior_predictor\": 2158378.363373503, \"Total_scaled\": 1944323.0, \"Week_nr\": 88}, {\"min_posterior_predictor\": 2113225.36045157, \"max_posterior_predictor\": 2288764.986060241, \"mean_posterior_predictor\": 2207400.4184012506, \"Total_scaled\": 1962893.0, \"Week_nr\": 89}, {\"min_posterior_predictor\": 2158805.719877829, \"max_posterior_predictor\": 2361533.438312886, \"mean_posterior_predictor\": 2251284.0065044183, \"Total_scaled\": 1976710.0, \"Week_nr\": 90}, {\"min_posterior_predictor\": 2182980.438567222, \"max_posterior_predictor\": 2411135.034463229, \"mean_posterior_predictor\": 2290122.79382253, \"Total_scaled\": 1987082.0, \"Week_nr\": 91}, {\"min_posterior_predictor\": 2201150.4202372474, \"max_posterior_predictor\": 2455458.416800467, \"mean_posterior_predictor\": 2325811.5751309334, \"Total_scaled\": 1996842.0, \"Week_nr\": 92}, {\"min_posterior_predictor\": 2254497.018185029, \"max_posterior_predictor\": 2483687.1670744787, \"mean_posterior_predictor\": 2357113.4787072917, \"Total_scaled\": 2005245.0, \"Week_nr\": 93}, {\"min_posterior_predictor\": 2267810.620284673, \"max_posterior_predictor\": 2510257.015968486, \"mean_posterior_predictor\": 2386165.4255390186, \"Total_scaled\": 2014350.0, \"Week_nr\": 94}, {\"min_posterior_predictor\": 2306355.3118375693, \"max_posterior_predictor\": 2542452.8967035017, \"mean_posterior_predictor\": 2413138.9223324982, \"Total_scaled\": 2022263.0, \"Week_nr\": 95}, {\"min_posterior_predictor\": 2326860.9614037005, \"max_posterior_predictor\": 2593054.7679045964, \"mean_posterior_predictor\": 2438242.5975296577, \"Total_scaled\": 2030916.0, \"Week_nr\": 96}, {\"min_posterior_predictor\": 2340993.3103182297, \"max_posterior_predictor\": 2607506.4691227283, \"mean_posterior_predictor\": 2461639.143724537, \"Total_scaled\": 2038949.0, \"Week_nr\": 97}, {\"min_posterior_predictor\": 2354211.9056386617, \"max_posterior_predictor\": 2640332.976256817, \"mean_posterior_predictor\": 2483708.559453426, \"Total_scaled\": 2046823.0, \"Week_nr\": 98}, {\"min_posterior_predictor\": 2374493.3736763187, \"max_posterior_predictor\": 2653752.9816120365, \"mean_posterior_predictor\": 2504706.6814522254, \"Total_scaled\": 2054041.0, \"Week_nr\": 99}, {\"min_posterior_predictor\": 2397534.1246330068, \"max_posterior_predictor\": 2686722.4832085883, \"mean_posterior_predictor\": 2525123.901284131, \"Total_scaled\": 2060177.0, \"Week_nr\": 100}, {\"min_posterior_predictor\": 2396829.7892662594, \"max_posterior_predictor\": 2722775.0390664386, \"mean_posterior_predictor\": 2544534.763669121, \"Total_scaled\": 2067619.0, \"Week_nr\": 101}, {\"min_posterior_predictor\": 2419440.007627516, \"max_posterior_predictor\": 2729364.6799060665, \"mean_posterior_predictor\": 2562954.725015992, \"Total_scaled\": 2076810.9999999998, \"Week_nr\": 102}, {\"min_posterior_predictor\": 2424070.6274710028, \"max_posterior_predictor\": 2750982.100318167, \"mean_posterior_predictor\": 2581030.318816427, \"Total_scaled\": 2083661.0, \"Week_nr\": 103}, {\"min_posterior_predictor\": 2467871.580906199, \"max_posterior_predictor\": 2765200.0138402632, \"mean_posterior_predictor\": 2599042.739810383, \"Total_scaled\": 2090011.0, \"Week_nr\": 104}, {\"min_posterior_predictor\": 2475668.339846499, \"max_posterior_predictor\": 2775079.6750266016, \"mean_posterior_predictor\": 2616504.4756371332, \"Total_scaled\": 2096236.0, \"Week_nr\": 105}, {\"min_posterior_predictor\": 2495267.7520255055, \"max_posterior_predictor\": 2808964.680505539, \"mean_posterior_predictor\": 2633365.409541868, \"Total_scaled\": 2103205.0, \"Week_nr\": 106}, {\"min_posterior_predictor\": 2505187.3769923015, \"max_posterior_predictor\": 2821156.34104504, \"mean_posterior_predictor\": 2649900.2637263094, \"Total_scaled\": 2111082.0, \"Week_nr\": 107}, {\"min_posterior_predictor\": 2520483.5988914385, \"max_posterior_predictor\": 2826853.3131181453, \"mean_posterior_predictor\": 2666699.349574901, \"Total_scaled\": 2117072.0, \"Week_nr\": 108}, {\"min_posterior_predictor\": 2553657.5346657624, \"max_posterior_predictor\": 2867487.8778005894, \"mean_posterior_predictor\": 2683196.2184700095, \"Total_scaled\": 2124173.0, \"Week_nr\": 109}, {\"min_posterior_predictor\": 2555390.320630015, \"max_posterior_predictor\": 2869137.06523635, \"mean_posterior_predictor\": 2699496.1380542247, \"Total_scaled\": 2132964.0, \"Week_nr\": 110}, {\"min_posterior_predictor\": 2574956.9894122565, \"max_posterior_predictor\": 2898672.822216637, \"mean_posterior_predictor\": 2715291.3369882596, \"Total_scaled\": 2140180.0, \"Week_nr\": 111}, {\"min_posterior_predictor\": 2573790.8113295026, \"max_posterior_predictor\": 2913623.1217935714, \"mean_posterior_predictor\": 2731737.53519287, \"Total_scaled\": 2149788.0, \"Week_nr\": 112}, {\"min_posterior_predictor\": 2596526.7714896197, \"max_posterior_predictor\": 2929732.239735322, \"mean_posterior_predictor\": 2747310.8500042143, \"Total_scaled\": 2156773.0, \"Week_nr\": 113}, {\"min_posterior_predictor\": 2605270.633325723, \"max_posterior_predictor\": 2947587.875537165, \"mean_posterior_predictor\": 2763338.015040337, \"Total_scaled\": 2162860.0, \"Week_nr\": 114}, {\"min_posterior_predictor\": 2627603.0406104545, \"max_posterior_predictor\": 2940319.3010895746, \"mean_posterior_predictor\": 2779054.6983877034, \"Total_scaled\": 2169322.0, \"Week_nr\": 115}, {\"min_posterior_predictor\": 2632288.143504364, \"max_posterior_predictor\": 2981974.503854359, \"mean_posterior_predictor\": 2794860.099667793, \"Total_scaled\": 2176378.0, \"Week_nr\": 116}, {\"min_posterior_predictor\": 2655583.8075013403, \"max_posterior_predictor\": 3000182.3229268035, \"mean_posterior_predictor\": 2810333.8371732235, \"Total_scaled\": 2182344.0, \"Week_nr\": 117}, {\"min_posterior_predictor\": 2673614.816292727, \"max_posterior_predictor\": 3032558.44245913, \"mean_posterior_predictor\": 2826207.35009162, \"Total_scaled\": 2188012.0, \"Week_nr\": 118}, {\"min_posterior_predictor\": 2696470.69225797, \"max_posterior_predictor\": 3026000.5810872167, \"mean_posterior_predictor\": 2841519.690664487, \"Total_scaled\": 2193073.0, \"Week_nr\": 119}, {\"min_posterior_predictor\": 2688174.472917463, \"max_posterior_predictor\": 3051401.073919742, \"mean_posterior_predictor\": 2857388.262691575, \"Total_scaled\": 2199799.0, \"Week_nr\": 120}, {\"min_posterior_predictor\": 2705826.2689996245, \"max_posterior_predictor\": 3074139.0565079474, \"mean_posterior_predictor\": 2872998.9295753785, \"Total_scaled\": 2206517.0, \"Week_nr\": 121}, {\"min_posterior_predictor\": 2725884.8770252857, \"max_posterior_predictor\": 3083307.70675146, \"mean_posterior_predictor\": 2888946.765936167, \"Total_scaled\": 2213017.0, \"Week_nr\": 122}, {\"min_posterior_predictor\": 2721695.418655563, \"max_posterior_predictor\": 3088667.6499731503, \"mean_posterior_predictor\": 2904110.1968231495, \"Total_scaled\": 2220233.0, \"Week_nr\": 123}, {\"min_posterior_predictor\": 2749162.548928665, \"max_posterior_predictor\": 3125939.3049658523, \"mean_posterior_predictor\": 2919590.6799051357, \"Total_scaled\": 2226398.0, \"Week_nr\": 124}, {\"min_posterior_predictor\": 2762924.588432091, \"max_posterior_predictor\": 3137830.1446252163, \"mean_posterior_predictor\": 2935136.9750305936, \"Total_scaled\": 2233166.0, \"Week_nr\": 125}, {\"min_posterior_predictor\": 2776259.9956857436, \"max_posterior_predictor\": 3159308.532519145, \"mean_posterior_predictor\": 2950868.309160983, \"Total_scaled\": 2256253.0, \"Week_nr\": 126}, {\"min_posterior_predictor\": 2787135.8898946256, \"max_posterior_predictor\": 3172140.842240681, \"mean_posterior_predictor\": 2966226.4096326367, \"Total_scaled\": 2270314.0, \"Week_nr\": 127}, {\"min_posterior_predictor\": 2817654.3006093204, \"max_posterior_predictor\": 3256443.6967424382, \"mean_posterior_predictor\": 3027594.9747730684, \"Total_scaled\": 2281544.0, \"Week_nr\": 128}, {\"min_posterior_predictor\": 2890445.385965062, \"max_posterior_predictor\": 3302060.5404640124, \"mean_posterior_predictor\": 3081182.1321915276, \"Total_scaled\": 2290966.0, \"Week_nr\": 129}, {\"min_posterior_predictor\": 2911986.3736888794, \"max_posterior_predictor\": 3358744.7867471385, \"mean_posterior_predictor\": 3128878.9658274325, \"Total_scaled\": 2308213.0, \"Week_nr\": 130}, {\"min_posterior_predictor\": 2968175.668050764, \"max_posterior_predictor\": 3403169.5789651405, \"mean_posterior_predictor\": 3171010.5933088246, \"Total_scaled\": 2332833.0, \"Week_nr\": 131}, {\"min_posterior_predictor\": 3006008.769764924, \"max_posterior_predictor\": 3467609.3009057245, \"mean_posterior_predictor\": 3208614.594683472, \"Total_scaled\": 2346868.0, \"Week_nr\": 132}, {\"min_posterior_predictor\": 3030993.8637850685, \"max_posterior_predictor\": 3484790.409740013, \"mean_posterior_predictor\": 3242797.157397348, \"Total_scaled\": 2359112.0, \"Week_nr\": 133}, {\"min_posterior_predictor\": 3062374.1834569513, \"max_posterior_predictor\": 3519579.4575792183, \"mean_posterior_predictor\": 3273677.643781491, \"Total_scaled\": 2368328.0, \"Week_nr\": 134}]}}, {\"mode\": \"vega-lite\"});\n",
       "</script>"
      ],
      "text/plain": [
       "alt.HConcatChart(...)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 7;\n",
       "                var nbb_unformatted_code = \"combined = chart_with_covid.properties(\\n    title=\\\"Final model with COVID-19\\\"\\n) | chart_without_covid.properties(title=\\\"Final model without COVID-19\\\")\\ncombined.save(\\\"./altair_output/covid_start_data.json\\\")\\ncombined\";\n",
       "                var nbb_formatted_code = \"combined = chart_with_covid.properties(\\n    title=\\\"Final model with COVID-19\\\"\\n) | chart_without_covid.properties(title=\\\"Final model without COVID-19\\\")\\ncombined.save(\\\"./altair_output/covid_start_data.json\\\")\\ncombined\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "combined = chart_with_covid.properties(\n",
    "    title=\"Final model with COVID-19\"\n",
    ") | chart_without_covid.properties(title=\"Final model without COVID-19\")\n",
    "combined.save(\"./altair_output/covid_start_data.json\")\n",
    "combined"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68bac03b",
   "metadata": {},
   "source": [
    "This is by far the best way to change a model, but it doesn't offer much flexibility. In this case it is very likely that releasing a new set during COVID will have a very different effect on sales than under normal circumstances. Hence the impact of the last two sets might be exagerated. This would be an optimistic model, though it would be nice to be able to model what would happen in case Mass Mutation and Dark Tidings performed as Worlds Collide (which had the lowest impact on sales). This requires another approach (I think let me know if there is an elegant solution to this).\n",
    "\n",
    "Another method is to create a new model, with priors based on the results from the previous one, excluding the COVID-19 factor. Rather than tracing it to get posteriors, we'll use the ```prior_predictive()``` to run the model with these parameters to see what comes out at the end. This allows for some additional flexibility the latter option didn't provide\n",
    "\n",
    "We'll use two versions here, an optimistic one, where the interest in Mass Mutation (mm_interest) and Dark Tidings (dt_interest) from model_5 is used. However, as these were released during COVID, it might not be an accurate representation how they would have impacted sales during normal times. Therefore a pessimistic model, where MM and DT performed the same as the worst previous set (Worlds Collide) is build as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3c35a833",
   "metadata": {},
   "outputs": [],
   "source": [
    "with pm.Model() as model_6:\n",
    "    # priors\n",
    "    sigma = pm.Normal(\"sigma\", mu=1.17, sigma=0.07)  # Sigma for likelihood function\n",
    "\n",
    "    weekly_registrations = pm.Normal(\"weekly_registrations\", mu=1.55, sigma=0.06)\n",
    "\n",
    "    # Model extra registrations due to shifting interest (like new sets being released)\n",
    "    # The interest factor is calculated on a weekly basis\n",
    "    decay_factor = pm.Normal(\"decay_factor\", mu=0.84, sigma=0.01)\n",
    "\n",
    "    cota_interest = pm.Normal(\"cota_interest\", mu=4.11, sigma=0.19)\n",
    "    aoa_interest = pm.Normal(\"aoa_interest\", mu=1.7, sigma=0.16)\n",
    "    wc_interest = pm.Normal(\"wc_interest\", mu=0.95, sigma=0.13)\n",
    "    mm_interest = pm.Normal(\"mm_interest\", mu=3.18, sigma=0.31)\n",
    "    dt_interest = pm.Normal(\"dt_interest\", mu=3.02, sigma=0.35)\n",
    "\n",
    "    interest_decayed = [cota_interest]\n",
    "\n",
    "    for i in range(len_observed - 1):\n",
    "        new_element = interest_decayed[i] * decay_factor\n",
    "        if i == 27:\n",
    "            new_element += aoa_interest\n",
    "        if i == 50:\n",
    "            new_element += wc_interest\n",
    "        if i == 85:\n",
    "            new_element += mm_interest\n",
    "        if i == 126:\n",
    "            new_element += dt_interest\n",
    "        interest_decayed.append(new_element)\n",
    "\n",
    "    # there were 150k decks registered the first week, that is the initial value\n",
    "    y0 = tt.zeros(len_observed)\n",
    "    y0 = tt.set_subtensor(y0[0], 15)\n",
    "\n",
    "    outputs, _ = theano.scan(\n",
    "        fn=lambda t, y, intfac: tt.set_subtensor(\n",
    "            y[t], (weekly_registrations * (1 + intfac[t])) + y[t - 1]\n",
    "        ),\n",
    "        sequences=[tt.arange(1, len_observed)],\n",
    "        outputs_info=y0,\n",
    "        non_sequences=[interest_decayed],\n",
    "        n_steps=len_observed - 1,\n",
    "    )\n",
    "\n",
    "    total_registrations = pm.Deterministic(\"total_registrations\", outputs[-1])\n",
    "\n",
    "    # Likelihood\n",
    "    likelihood = pm.Normal(\n",
    "        \"y\", mu=total_registrations, sigma=sigma, observed=model_data.Total_scaled\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f3b9ee25",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_prior_predictor(m, df):\n",
    "    with m:\n",
    "        prior_predictor = pm.sample_prior_predictive()\n",
    "\n",
    "    fig, (ax1) = plt.subplots(1, 1, figsize=(7.5, 8))\n",
    "    ax1.plot(prior_predictor[\"y\"].T, color=\"0.5\", alpha=0.1)\n",
    "    ax1.plot(df.Total_scaled, color=\"red\", alpha=1)\n",
    "    ax1.set(\n",
    "        xlabel=\"Weeks (since release)\",\n",
    "        ylabel=\"Registered Decks (x10 000)\",\n",
    "        title=\"Model Fit\",\n",
    "    )\n",
    "\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "plot_prior_predictor(model_6, model_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ad31862c",
   "metadata": {},
   "outputs": [],
   "source": [
    "from pymc3_altair import plot_prior_predictor_altair\n",
    "\n",
    "\n",
    "chart_prediction_1 = plot_prior_predictor_altair(model_6, model_data)\n",
    "chart_prediction_1.properties(width=\"container\").save(\n",
    "    \"./altair_output/prediction_1.json\"\n",
    ")\n",
    "chart_prediction_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "962abf93",
   "metadata": {},
   "outputs": [],
   "source": [
    "with pm.Model() as model_7:\n",
    "    # priors\n",
    "    sigma = pm.Normal(\"sigma\", mu=1.17, sigma=0.07)  # Sigma for likelihood function\n",
    "\n",
    "    weekly_registrations = pm.Normal(\"weekly_registrations\", mu=1.55, sigma=0.06)\n",
    "\n",
    "    # Model extra registrations due to shifting interest (like new sets being released)\n",
    "    # The interest factor is calculated on a weekly basis\n",
    "    decay_factor = pm.Normal(\"decay_factor\", mu=0.84, sigma=0.01)\n",
    "\n",
    "    cota_interest = pm.Normal(\"cota_interest\", mu=4.11, sigma=0.19)\n",
    "    aoa_interest = pm.Normal(\"aoa_interest\", mu=1.7, sigma=0.16)\n",
    "    wc_interest = pm.Normal(\"wc_interest\", mu=0.95, sigma=0.13)\n",
    "    mm_interest = pm.Normal(\n",
    "        \"mm_interest\", mu=0.95, sigma=0.13\n",
    "    )  # Maybe people's buying behaviour responds differently to\n",
    "    dt_interest = pm.Normal(\n",
    "        \"dt_interest\", mu=0.95, sigma=0.13\n",
    "    )  # the release of a new set, worst case scenario is setting these very low\n",
    "\n",
    "    interest_decayed = [cota_interest]\n",
    "\n",
    "    for i in range(len_observed - 1):\n",
    "        new_element = interest_decayed[i] * decay_factor\n",
    "        if i == 27:\n",
    "            new_element += aoa_interest\n",
    "        if i == 50:\n",
    "            new_element += wc_interest\n",
    "        if i == 85:\n",
    "            new_element += mm_interest\n",
    "        if i == 126:\n",
    "            new_element += dt_interest\n",
    "        interest_decayed.append(new_element)\n",
    "\n",
    "    # there were 150k decks registered the first week, that is the initial value\n",
    "    y0 = tt.zeros(len_observed)\n",
    "    y0 = tt.set_subtensor(y0[0], 15)\n",
    "\n",
    "    outputs, _ = theano.scan(\n",
    "        fn=lambda t, y, intfac: tt.set_subtensor(\n",
    "            y[t], (weekly_registrations * (1 + intfac[t])) + y[t - 1]\n",
    "        ),\n",
    "        sequences=[tt.arange(1, len_observed)],\n",
    "        outputs_info=y0,\n",
    "        non_sequences=[interest_decayed],\n",
    "        n_steps=len_observed - 1,\n",
    "    )\n",
    "\n",
    "    total_registrations = pm.Deterministic(\"total_registrations\", outputs[-1])\n",
    "\n",
    "    # Likelihood\n",
    "    likelihood = pm.Normal(\n",
    "        \"y\", mu=total_registrations, sigma=sigma, observed=model_data.Total_scaled\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eedcad89",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_prior_predictor_side_by_side(m, m2, df):\n",
    "    with m:\n",
    "        prior_predictor = pm.sample_prior_predictive()\n",
    "    with m2:\n",
    "        prior_predictor2 = pm.sample_prior_predictive()\n",
    "\n",
    "    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 8), sharey=True)\n",
    "    ax1.plot(prior_predictor[\"y\"].T, color=\"0.5\", alpha=0.1)\n",
    "    ax1.plot(df.Total_scaled, color=\"red\", alpha=1)\n",
    "    ax1.set(\n",
    "        xlabel=\"Weeks (since release)\",\n",
    "        ylabel=\"Registered Decks (x10 000)\",\n",
    "        title=\"No COVID-19 Model A (optimistic)\",\n",
    "    )\n",
    "\n",
    "    ax2.plot(prior_predictor2[\"y\"].T, color=\"0.5\", alpha=0.1)\n",
    "    ax2.plot(df.Total_scaled, color=\"red\", alpha=1)\n",
    "    ax2.set(\n",
    "        xlabel=\"Weeks (since release)\",\n",
    "        ylabel=\"Registered Decks (x10 000)\",\n",
    "        title=\"No COVID-19 Model B (pessimistic)\",\n",
    "    )\n",
    "\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "plot_prior_predictor_side_by_side(model_6, model_7, model_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5736df13",
   "metadata": {},
   "outputs": [],
   "source": [
    "chart_prediction_2 = plot_prior_predictor_altair(model_7, model_data)\n",
    "chart_prediction_2.properties(width=\"container\").save(\n",
    "    \"./altair_output/prediction_2.json\"\n",
    ")\n",
    "chart_prediction_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b423f98f",
   "metadata": {},
   "outputs": [],
   "source": [
    "combined = chart_prediction_1.properties(\n",
    "    title=\"No COVID-19 (Optimistic model)\"\n",
    ") | chart_prediction_2.properties(title=\"No COVID-19 (Pessimistic model)\")\n",
    "combined.save(\"./altair_output/combined_predictions.json\")\n",
    "combined"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd3a7d4b",
   "metadata": {},
   "source": [
    "So the optimistic model predicts that in a universe without COVID-19, there likely would have been over 3 million registered decks by now. Going as high up as 3.7 million, this would mean there would have been roughly 0.5 to 1.5 million more decks registered over the last 18 or so months.\n",
    "\n",
    "The pessimistic model is more modest about those numbers though the total number of registrations would still have been getting very close to 3 million, with roughly 0.5 to 1 million additional decks sold since the first lockdowns due to COVID.\n",
    "\n",
    "However, here we start the model from the very start. This isn't necessary as we know exactly how many decks were sold prior to the lockdown. So we don't have to include all the uncertainty before that point when forecasting sales in a COVID-19 free world."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "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.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}