{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Holt Winter's Method" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[![nbviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.org/github/gautamnaik1994/SalesForecasting_ML_CaseStudy/blob/main/notebooks/modelling/01.HoltWinterMethod.ipynb?flush_cache=true)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "import plotly.io as pio\n", "pio.renderers.default = \"colab+notebook_connected+vscode\"\n", "import pandas as pd\n", "import numpy as np\n", "import duckdb as db\n", "import matplotlib.pyplot as plt\n", "import plotly.express as px\n", "import plotly.graph_objects as go\n", "import optuna\n", "import warnings\n", "\n", "warnings.filterwarnings('ignore')\n", "\n", "# exponential smoothing\n", "from statsmodels.tsa.holtwinters import ExponentialSmoothing\n", "from statsmodels.tsa.exponential_smoothing.ets import ETSModel\n", "from IPython.display import display, Markdown\n", "# mape\n", "from sklearn.metrics import mean_absolute_percentage_error\n", "optuna.logging.set_verbosity(optuna.logging.ERROR)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "df = pd.read_parquet(\"../../data/processed/train_enhanced.parquet\")\n", "train_agg = pd.read_parquet(\"../../data/processed/train_agg.parquet\")\n", "train_region_code_agg = pd.read_parquet(\"../../data/processed/train_region_code_agg.parquet\")\n", "holiday_df= pd.read_csv(\"../../data/processed/holidays.csv\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def split_train_test(df, test_size=0.2):\n", " split_idx = int(len(df) * (1 - test_size))\n", " return df.iloc[:split_idx], df.iloc[split_idx:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Region 1" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Region_CodeTotal_SalesAvg_SalesTotal_OrdersAvg_OrdersNum_StoresHolidayTotal_Discounts
Date
2018-01-01R15094374410846509521241124
2018-01-02R17050675568609738791240124
2018-01-03R16851526552549473761240124
2018-01-04R173626485937610132821240124
2018-01-05R181536046575510883881240124
\n", "
" ], "text/plain": [ " Region_Code Total_Sales Avg_Sales Total_Orders Avg_Orders \\\n", "Date \n", "2018-01-01 R1 5094374 41084 6509 52 \n", "2018-01-02 R1 7050675 56860 9738 79 \n", "2018-01-03 R1 6851526 55254 9473 76 \n", "2018-01-04 R1 7362648 59376 10132 82 \n", "2018-01-05 R1 8153604 65755 10883 88 \n", "\n", " Num_Stores Holiday Total_Discounts \n", "Date \n", "2018-01-01 124 1 124 \n", "2018-01-02 124 0 124 \n", "2018-01-03 124 0 124 \n", "2018-01-04 124 0 124 \n", "2018-01-05 124 0 124 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_region_code_agg_R1 = train_region_code_agg[train_region_code_agg['Region_Code'] == 'R1'].set_index('Date')\n", "train_region_code_agg_R1.head()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((412, 8), (104, 8))" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_region_code_agg_R1_train, train_region_code_agg_R1_test = split_train_test(train_region_code_agg_R1)\n", "train_region_code_agg_R1_train.shape, train_region_code_agg_R1_test.shape" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 5094374, 7050675, 6851526, 7362648, 8153604, 5670336, 6457113, 5625087, 5277087, 5531445, 6046179, 5275521, 7339563, 7130456, 7079205, 6130263, 6718521, 4218219, 4748208, 5422140, 5402745, 5246729, 5031459, 3928485, 5340936, 2942018, 6562794, 9016356, 7558638, 4375266, 4254651, 4396632, 4410351, 5227101, 5235183, 4322556, 5497437, 5300097, 5755107, 6361470, 6148861, 5094183, 4449192, 4537047, 4401677, 4802826, 4971036, 5198505, 7579326, 7361228, 6328176, 7100499, 5563671, 5135013, 5786235, 5611161, 5127027, 4932927, 5194758, 5055553, 777422, 6761691, 7809558, 5182422, 5284722, 5527824, 4823013, 4728279, 5950602, 6392664, 5780604, 5751777, 5885160, 6883668, 6418437, 8082657, 7843504, 6194085, 6702648, 5013339, 4255914, 4423305, 5132823, 4973250, 4694271, 4845537, 5235591, 5089245, 4092929, 7006176, 6791009, 5276322, 4450869, 4723728, 4880793, 5346552, 7090230, 7814181, 6740964, 7042473, 7691961, 5523501, 4489839, 4352107, 3835713, 4482027, 4772934, 4592550, 5103648, 5475228, 6566004, 6983292, 6922710, 5215536, 4442283, 4498656, 4452483, 5286849, 5571141, 5398369, 5969559, 6314730, 6412329, 6808317, 9145614, 7527603, 5512377, 5265906, 5104314, 4786896, 4687806, 5914068, 6619785, 6100383, 6149550, 6128949, 6534258, 5829228, 5982003, 5940975, 5139939, 5046255, 5137293, 5377368, 5806653, 7168770, 7384956, 6814302, 7220967, 6463803, 6322875, 6260493, 7094481, 7304811, 6653382, 5149986, 4587810, 4731873, 4788180, 5595252, 6012015, 5315322, 5928960, 6033876, 5911314, 5747005, 3753750, 6654378, 5484150, 5680047, 6447279, 7410504, 6752373, 6432198, 6763815, 4931469, 5747901, 5982909, 5110707, 5249949, 8454369, 8674905, 6978732, 6685110, 7159422, 7291404, 7496133, 8853546, 7136397, 4953306, 5006946, 5098587, 5404815, 5733912, 5570435, 7769955, 7001349, 6295665, 6803457, 6925044, 6108891, 7221687, 7146855, 6011286, 6013116, 6256095, 5236917, 4958790, 5641305, 5449008, 4548555, 4751919, 4682715, 5134740, 5449428, 6642177, 6825579, 6085362, 5390664, 5780544, 5782473, 6483477, 7838856, 8238294, 6246522, 5004144, 2608577, 4577943, 4459183, 5481642, 6185679, 5558742, 5587587, 4807333, 6240906, 4911198, 4767885, 3518184, 4533369, 4532376, 4757499, 4801326, 5330814, 6516921, 6624891, 6430075, 6991851, 5744901, 5825328, 5921577, 7484136, 7167012, 5206527, 4722177, 4548363, 3634764, 4605240, 5684634, 5858001, 4909431, 5032182, 5273997, 5621649, 5472721, 5949081, 5640360, 4746528, 4770396, 4790604, 4867173, 5372742, 6223584, 6393192, 5507310, 4040793, 6133845, 5367756, 5231733, 5730582, 5683842, 4572642, 4925829, 5184624, 5123379, 5279337, 6542715, 6862731, 5956275, 5769257, 3701942, 3531979, 2820516, 5754219, 6044589, 5204589, 5161827, 5031007, 5458368, 5862777, 5699919, 6240882, 5686338, 6046155, 6026652, 6102480, 5968497, 6382797, 5633676, 4341825, 4220271, 654808, 825611, 805830, 5954388, 6597120, 5894796, 5700029, 6691968, 5270880, 4932111, 5629362, 4772037, 4993425, 5103060, 4960514, 4810398, 4663083, 4645900, 8444751, 7455078, 6224793, 5799762, 5568681, 4974720, 5661546, 5697738, 4932429, 5677032, 5959662, 6211677, 6222930, 6795618, 6512235, 5495112, 5695215, 5340999, 5213034, 5283357, 6379062, 8113467, 7516950, 7656159, 7334145, 7441728, 6755676, 7310670, 7766325, 7511159, 868272, 6023886, 6364371, 6737823, 8211690, 7580856, 6285297, 5105207, 5829720, 6222618, 6510597, 7591500, 7850646, 6559362, 6771750, 7337322, 7485735, 7439478, 9286080, 9028529, 6939654, 5650614, 5464338, 4877367, 4610268, 5360409, 5756328, 5417370, 5915703, 6340779, 6505320, 6699864, 3605495, 6993420, 5140419, 5028804, 4858083, 4851345, 5140977, 6294612, 6603336, 5605383, 6212037, 6506649, 5988708, 5279769, 5779188, 5603156, 4372326, 4644960, 4751202, 4994766, 5260713, 6426930 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 6858420, 5984856, 5798262, 4857582, 4671186, 4420497, 5323821, 5493486, 4885413, 5248197, 5750889, 5771115, 5595120, 6931311, 6817938, 6628427, 4833912, 4672971, 4640559, 4694700, 5416485, 5746698, 5437977, 5659689, 5983212, 6438261, 5452401, 5915115, 5635224, 4699617, 4723560, 4572766, 688497, 5213673, 6591909, 7055793, 6442158, 6967374, 5627739, 5473722, 5090721, 5377056, 5494809, 4632351, 4669851, 5054595, 5217201, 5588154, 5403469, 7589658, 5351370, 4825287, 4707480, 4562136, 4667214, 4529478, 4104026, 4177488, 5504346, 5353136, 6085410, 5899709, 6694443, 6520259, 5423253, 4710846, 5595717, 4940169, 5874231, 6505278, 7969521, 6437190, 6973515, 8687697, 8576163, 8307885, 10085175, 8458038, 6928992, 6725790, 6164760, 5982297, 6321375, 7418088, 7865874, 7040154, 7360215, 7461918, 7915407, 6981147, 6783694, 7555434, 5726031, 5649021, 5669412, 5618187, 6006141, 7286394, 7588914, 6501693, 6882549, 6162021, 6088491, 5900798 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215, 5056905.967501052, 5558994.925841757, 5770473.491633171, 5710507.089942753, 6204009.649681145, 6082649.814170097, 5436799.4977590535, 5476203.66206594, 5250235.393090019, 5095129.155488704, 4356177.088163652, 4855548.941730215 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ses = ExponentialSmoothing(train_region_code_agg_R1_train['Total_Sales'], seasonal='add', seasonal_periods=12, freq='D').fit()\n", "ses.summary()\n", "\n", "fig = go.Figure()\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_train.index, y=train_region_code_agg_R1_train['Total_Sales'], mode='lines', name='Train'))\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_test.index, y=train_region_code_agg_R1_test['Total_Sales'], mode='lines', name='Test'))\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_test.index, y=ses.forecast(len(train_region_code_agg_R1_test)), mode='lines', name='Forecast'))\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.19351601851390085" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mape = mean_absolute_percentage_error(train_region_code_agg_R1_test['Total_Sales'], ses.forecast(len(train_region_code_agg_R1_test)))\n", "mape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hyperparameter Tuning" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "def objective(trial):\n", " seasonal = trial.suggest_categorical('seasonal', ['add', 'mul', 'additive', 'multiplicative'])\n", " seasonal_periods = trial.suggest_int('seasonal_periods', 7, 100)\n", " model = ExponentialSmoothing(train_region_code_agg_R1_train['Total_Sales'], seasonal=seasonal, seasonal_periods=seasonal_periods, freq='D').fit()\n", " forecast = model.forecast(len(train_region_code_agg_R1_test))\n", " mape = mean_absolute_percentage_error(train_region_code_agg_R1_test['Total_Sales'], forecast)\n", " return mape\n", "\n", "study = optuna.create_study(direction='minimize', study_name='ses')\n", "study.optimize(objective, n_trials=300)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'seasonal': 'multiplicative', 'seasonal_periods': 12}" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "study.best_params" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 5094374, 7050675, 6851526, 7362648, 8153604, 5670336, 6457113, 5625087, 5277087, 5531445, 6046179, 5275521, 7339563, 7130456, 7079205, 6130263, 6718521, 4218219, 4748208, 5422140, 5402745, 5246729, 5031459, 3928485, 5340936, 2942018, 6562794, 9016356, 7558638, 4375266, 4254651, 4396632, 4410351, 5227101, 5235183, 4322556, 5497437, 5300097, 5755107, 6361470, 6148861, 5094183, 4449192, 4537047, 4401677, 4802826, 4971036, 5198505, 7579326, 7361228, 6328176, 7100499, 5563671, 5135013, 5786235, 5611161, 5127027, 4932927, 5194758, 5055553, 777422, 6761691, 7809558, 5182422, 5284722, 5527824, 4823013, 4728279, 5950602, 6392664, 5780604, 5751777, 5885160, 6883668, 6418437, 8082657, 7843504, 6194085, 6702648, 5013339, 4255914, 4423305, 5132823, 4973250, 4694271, 4845537, 5235591, 5089245, 4092929, 7006176, 6791009, 5276322, 4450869, 4723728, 4880793, 5346552, 7090230, 7814181, 6740964, 7042473, 7691961, 5523501, 4489839, 4352107, 3835713, 4482027, 4772934, 4592550, 5103648, 5475228, 6566004, 6983292, 6922710, 5215536, 4442283, 4498656, 4452483, 5286849, 5571141, 5398369, 5969559, 6314730, 6412329, 6808317, 9145614, 7527603, 5512377, 5265906, 5104314, 4786896, 4687806, 5914068, 6619785, 6100383, 6149550, 6128949, 6534258, 5829228, 5982003, 5940975, 5139939, 5046255, 5137293, 5377368, 5806653, 7168770, 7384956, 6814302, 7220967, 6463803, 6322875, 6260493, 7094481, 7304811, 6653382, 5149986, 4587810, 4731873, 4788180, 5595252, 6012015, 5315322, 5928960, 6033876, 5911314, 5747005, 3753750, 6654378, 5484150, 5680047, 6447279, 7410504, 6752373, 6432198, 6763815, 4931469, 5747901, 5982909, 5110707, 5249949, 8454369, 8674905, 6978732, 6685110, 7159422, 7291404, 7496133, 8853546, 7136397, 4953306, 5006946, 5098587, 5404815, 5733912, 5570435, 7769955, 7001349, 6295665, 6803457, 6925044, 6108891, 7221687, 7146855, 6011286, 6013116, 6256095, 5236917, 4958790, 5641305, 5449008, 4548555, 4751919, 4682715, 5134740, 5449428, 6642177, 6825579, 6085362, 5390664, 5780544, 5782473, 6483477, 7838856, 8238294, 6246522, 5004144, 2608577, 4577943, 4459183, 5481642, 6185679, 5558742, 5587587, 4807333, 6240906, 4911198, 4767885, 3518184, 4533369, 4532376, 4757499, 4801326, 5330814, 6516921, 6624891, 6430075, 6991851, 5744901, 5825328, 5921577, 7484136, 7167012, 5206527, 4722177, 4548363, 3634764, 4605240, 5684634, 5858001, 4909431, 5032182, 5273997, 5621649, 5472721, 5949081, 5640360, 4746528, 4770396, 4790604, 4867173, 5372742, 6223584, 6393192, 5507310, 4040793, 6133845, 5367756, 5231733, 5730582, 5683842, 4572642, 4925829, 5184624, 5123379, 5279337, 6542715, 6862731, 5956275, 5769257, 3701942, 3531979, 2820516, 5754219, 6044589, 5204589, 5161827, 5031007, 5458368, 5862777, 5699919, 6240882, 5686338, 6046155, 6026652, 6102480, 5968497, 6382797, 5633676, 4341825, 4220271, 654808, 825611, 805830, 5954388, 6597120, 5894796, 5700029, 6691968, 5270880, 4932111, 5629362, 4772037, 4993425, 5103060, 4960514, 4810398, 4663083, 4645900, 8444751, 7455078, 6224793, 5799762, 5568681, 4974720, 5661546, 5697738, 4932429, 5677032, 5959662, 6211677, 6222930, 6795618, 6512235, 5495112, 5695215, 5340999, 5213034, 5283357, 6379062, 8113467, 7516950, 7656159, 7334145, 7441728, 6755676, 7310670, 7766325, 7511159, 868272, 6023886, 6364371, 6737823, 8211690, 7580856, 6285297, 5105207, 5829720, 6222618, 6510597, 7591500, 7850646, 6559362, 6771750, 7337322, 7485735, 7439478, 9286080, 9028529, 6939654, 5650614, 5464338, 4877367, 4610268, 5360409, 5756328, 5417370, 5915703, 6340779, 6505320, 6699864, 3605495, 6993420, 5140419, 5028804, 4858083, 4851345, 5140977, 6294612, 6603336, 5605383, 6212037, 6506649, 5988708, 5279769, 5779188, 5603156, 4372326, 4644960, 4751202, 4994766, 5260713, 6426930 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 6858420, 5984856, 5798262, 4857582, 4671186, 4420497, 5323821, 5493486, 4885413, 5248197, 5750889, 5771115, 5595120, 6931311, 6817938, 6628427, 4833912, 4672971, 4640559, 4694700, 5416485, 5746698, 5437977, 5659689, 5983212, 6438261, 5452401, 5915115, 5635224, 4699617, 4723560, 4572766, 688497, 5213673, 6591909, 7055793, 6442158, 6967374, 5627739, 5473722, 5090721, 5377056, 5494809, 4632351, 4669851, 5054595, 5217201, 5588154, 5403469, 7589658, 5351370, 4825287, 4707480, 4562136, 4667214, 4529478, 4104026, 4177488, 5504346, 5353136, 6085410, 5899709, 6694443, 6520259, 5423253, 4710846, 5595717, 4940169, 5874231, 6505278, 7969521, 6437190, 6973515, 8687697, 8576163, 8307885, 10085175, 8458038, 6928992, 6725790, 6164760, 5982297, 6321375, 7418088, 7865874, 7040154, 7360215, 7461918, 7915407, 6981147, 6783694, 7555434, 5726031, 5649021, 5669412, 5618187, 6006141, 7286394, 7588914, 6501693, 6882549, 6162021, 6088491, 5900798 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094, 4946296.30920072, 5676958.964154103, 5803140.34550514, 5631874.587280999, 6113130.448906928, 6028345.347145747, 5384670.566822676, 5496693.060044075, 5270865.026799322, 5125219.212123177, 4437702.470359172, 4811075.67676094 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ses = ExponentialSmoothing(train_region_code_agg_R1_train['Total_Sales'], seasonal = 'multiplicative', seasonal_periods=12, freq='D').fit()\n", "\n", "fig = go.Figure()\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_train.index, y=train_region_code_agg_R1_train['Total_Sales'], mode='lines', name='Train'))\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_test.index, y=train_region_code_agg_R1_test['Total_Sales'], mode='lines', name='Test'))\n", "fig.add_trace(go.Scatter(x=train_region_code_agg_R1_test.index, y=ses.forecast(len(train_region_code_agg_R1_test)), mode='lines', name='Forecast'))\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.19180792258357673" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mape = mean_absolute_percentage_error(train_region_code_agg_R1_test['Total_Sales'], ses.forecast(len(train_region_code_agg_R1_test)))\n", "mape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Generalizing the process" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def plot_forecast(model, train, test):\n", " fig = go.Figure()\n", " fig.add_trace(go.Scatter(x=train.index, y=train['Total_Sales'], mode='lines', name='Train'))\n", " fig.add_trace(go.Scatter(x=test.index, y=test['Total_Sales'], mode='lines', name='Test'))\n", " fig.add_trace(go.Scatter(x=test.index, y=model.forecast(len(test)), mode='lines', name='Forecast'))\n", " fig.show()\n", "\n", "def tune_parameters(train, test):\n", " def objective(trial):\n", " seasonal = trial.suggest_categorical('seasonal', ['add', 'mul', 'additive', 'multiplicative'])\n", " seasonal_periods = trial.suggest_int('seasonal_periods', 7, 100)\n", " model = ExponentialSmoothing(train['Total_Sales'], seasonal=seasonal, seasonal_periods=seasonal_periods, freq='D').fit()\n", " forecast = model.forecast(len(test))\n", " mape = mean_absolute_percentage_error(test['Total_Sales'], forecast)\n", " return mape\n", "\n", " study = optuna.create_study(direction='minimize')\n", " study.optimize(objective, n_trials=500)\n", " return study.best_params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Region R2" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'seasonal': 'multiplicative', 'seasonal_periods': 12}\n" ] } ], "source": [ "train = train_region_code_agg[train_region_code_agg['Region_Code'] == 'R2'].set_index('Date')\n", "train_train, train_test = split_train_test(train)\n", "params = tune_parameters(train_train, train_test)\n", "print(params)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 4436859, 5373945, 5110836, 5535810, 6390951, 4651749, 5014911, 4259538, 3814833, 3985548, 4571061, 4048299, 5775249, 5614960, 5144973, 4520460, 5151861, 3216339, 3604677, 4138917, 4067898, 3946567, 3734409, 3131301, 4098948, 2368563, 4759092, 6578997, 5728422, 3410238, 3316460, 3276042, 3240408, 3838821, 4051674, 3264870, 4304808, 4065234, 4235589, 4709478, 4560274, 3988383, 3358089, 3352059, 3247981, 3536655, 3731448, 3897471, 5769621, 5573704, 4577970, 5173182, 4212903, 3880683, 4313010, 4222392, 3872493, 3786135, 4071483, 3933545, 597057, 5073147, 5851212, 3942225, 4056861, 4088223, 3494349, 3519753, 4475151, 4730307, 4211478, 4181025, 4292991, 5071251, 4747023, 6102837, 5920971, 4418409, 5005752, 3852624, 3265959, 3265062, 3816993, 3716935, 3436695, 3625212, 3981591, 3858910, 3013078, 5153052, 5011792, 3963162, 3313890, 3365985, 3491304, 3865257, 5254914, 5906796, 4973973, 5146557, 5828697, 4179612, 3626073, 3533629, 2857512, 3249822, 3531561, 3515751, 3906054, 4005525, 4738770, 5038830, 5092515, 3982581, 3495840, 3466995, 3273624, 3878487, 4116882, 3997630, 4518660, 4590693, 4630443, 4983585, 6534099, 5500692, 4129635, 3907455, 3784708, 3562464, 3584742, 4500624, 5101722, 4448703, 4469259, 4233093, 5097990, 4375512, 4661382, 4470972, 3713445, 3669603, 3738081, 4051959, 4414938, 5226657, 5334957, 4830135, 5225733, 4651941, 4718289, 4550316, 5272974, 5207460, 5166177, 4013160, 3554289, 3528204, 3490455, 4012386, 4467789, 3868698, 4468821, 4481742, 4375833, 4258082, 2740602, 5010789, 4395435, 4489926, 4942011, 5616621, 4808790, 4725420, 6199506, 3736857, 4197486, 4227210, 3735255, 3803529, 5820045, 5795862, 4995330, 4785969, 4962255, 5160708, 4778820, 5965293, 4763229, 3583164, 3793341, 3781890, 4065897, 4142106, 4017574, 5564535, 5205027, 4272411, 4757718, 4776852, 3939294, 4874691, 4893897, 4329909, 4059180, 4430724, 3865530, 3986286, 4119990, 4033359, 3243495, 3405183, 3268995, 3743478, 3969729, 4926228, 4885650, 4298811, 3945648, 4508526, 4047327, 4827408, 5677464, 5838123, 4681416, 3636978, 1809053, 3211953, 3120196, 3890640, 4667925, 4331667, 4208964, 3602180, 4761540, 3546342, 3436656, 2701867, 3336567, 3202596, 3418014, 3453987, 4121265, 4807329, 4738467, 4605601, 5306364, 3840750, 4095207, 3929334, 4864926, 4840842, 3591378, 3498588, 3601806, 2862846, 3495114, 4311204, 4579551, 3631827, 3590514, 3538980, 3667461, 3558351, 4231203, 4184151, 3663480, 3596829, 3657525, 3661470, 4218576, 4547457, 4622775, 3726009, 2690283, 4017777, 3717492, 3855558, 4470027, 4197459, 3503790, 3728070, 3976698, 3639636, 3798342, 4329774, 4420266, 3982503, 3877956, 2571998, 2589171, 2199478, 4263927, 4619511, 4032534, 3736212, 3623397, 3571113, 3707481, 3600062, 4027332, 3833355, 4192356, 4105704, 4256796, 4318221, 5072859, 4266798, 3302592, 3205408, 474569, 583327, 562363, 4393248, 4961016, 4198071, 4080034, 5253108, 3785214, 3620478, 4134288, 3640656, 3906972, 3647163, 3540725, 3451098, 3356971, 3733601, 5954193, 5350971, 4804497, 4617780, 4819401, 3734754, 4204476, 4127169, 3386175, 3947631, 4194027, 4278756, 4480410, 5280006, 4813005, 4221018, 4502793, 4013877, 3931449, 3633546, 4470480, 5385288, 5010819, 5248644, 5274816, 5045811, 5047203, 5690259, 6123720, 5948325, 611175, 4183356, 4306629, 4441137, 5646459, 5503452, 4697886, 3773155, 4361844, 4726287, 5205174, 5604978, 5701278, 4603716, 4559835, 4794135, 4999833, 5086857, 6083997, 5898437, 4693899, 4021729, 3917073, 3526101, 3295092, 3684936, 3919290, 3597813, 3989979, 4492401, 4369305, 4710630, 2612023, 5332332, 3632268, 3859857, 3494661, 3360618, 3641985, 4361211, 4887192, 3905643, 4057290, 4483368, 4539630, 3655698, 4182672, 4051988, 3082476, 3355695, 3325719, 3537471, 3927366, 4485144 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 4888986, 4338960, 4196712, 3471027, 3361284, 3204660, 3705813, 3780348, 3356895, 3462837, 3978252, 3972579, 3838965, 4865523, 5384793, 5216090, 3562197, 3344001, 3173766, 3342708, 3819012, 3911232, 4058694, 4096827, 4156776, 4703610, 4105599, 4155258, 4148598, 3427947, 3299667, 3202182, 502291, 3865443, 4682310, 5103027, 4563060, 5031471, 4163898, 3838983, 3600843, 3985221, 3902538, 3433209, 3283890, 3750321, 3820227, 4004733, 3890484, 5632242, 4034985, 3621459, 3421581, 3263853, 3256335, 3144820, 2968849, 2879009, 3911115, 3792848, 4251612, 4121389, 4590174, 4441210, 3758352, 3338709, 3715944, 3608448, 3820113, 4788360, 5242530, 4375296, 4602384, 5707956, 5424927, 5384715, 6370362, 5527086, 4497282, 4451406, 4127544, 4007140, 4359534, 4893138, 5407560, 4960011, 5029878, 5234073, 5468412, 4931757, 4776824, 5178720, 4076256, 4014678, 3992808, 3932055, 4255899, 5259135, 5383512, 4539042, 4878090, 4544673, 4478286, 4351299 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623, 3510848.6723129083, 3883586.074029704, 4153727.621961871, 4115303.930875758, 4361967.186443526, 4388400.441170192, 4095510.24060572, 4070952.5725263287, 3955010.5694165276, 3777622.6452659117, 3216114.71883544, 3408885.4694311623 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "MAPE: 0.17683126754833497\n" ] } ], "source": [ "ses = ExponentialSmoothing(train_train['Total_Sales'], seasonal = params['seasonal'], seasonal_periods=params[\"seasonal_periods\"], freq='D').fit()\n", "plot_forecast(ses, train_train, train_test)\n", "print(\"MAPE: \",mean_absolute_percentage_error(train_test['Total_Sales'], ses.forecast(len(train_test))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Region R3" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'seasonal': 'mul', 'seasonal_periods': 12}\n" ] } ], "source": [ "train = train_region_code_agg[train_region_code_agg['Region_Code'] == 'R3'].set_index('Date')\n", "train_train, train_test = split_train_test(train)\n", "params = tune_parameters(train_train, train_test)\n", "print(params)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 3527439, 4622676, 4306149, 4566798, 5375703, 3630585, 4237938, 3626886, 3216840, 3336492, 3787968, 3301104, 4950039, 4791039, 4384500, 3814950, 4439874, 2620095, 3161409, 3565434, 3511614, 3385555, 3194709, 2595132, 3595452, 2063499, 4130403, 5620620, 4874775, 2741562, 2650150, 2818629, 2769846, 3240330, 3343017, 2669418, 3714876, 3541389, 3588699, 3982848, 3866658, 3204954, 2988159, 2925282, 2848020, 2966964, 3182364, 3225231, 4974717, 4817180, 3971610, 4507428, 3646701, 3403404, 3833925, 3581031, 3233112, 3123411, 3326913, 3234150, 506961, 4279341, 4852866, 3337041, 3378081, 3683826, 3163554, 2904735, 3658398, 4125660, 3708336, 3666885, 3661392, 4263396, 3993900, 5145159, 5000398, 3966882, 4195350, 3332193, 2724390, 2835765, 3192465, 3089036, 2793717, 2865504, 3452133, 3351765, 2699828, 4255758, 4137095, 3462702, 2826951, 2903010, 2914479, 3239328, 4506792, 5226372, 4451460, 4503330, 5095818, 3649551, 2986116, 2904500, 2536136, 2731635, 2906208, 2911914, 3361473, 3480258, 4010616, 4146099, 4215294, 3355713, 2920320, 2964933, 2813796, 3335703, 3532527, 3407413, 3828324, 4095486, 3986649, 4140549, 5718411, 4748028, 3560964, 3499512, 3389401, 2994687, 2945007, 3605406, 4236660, 3962340, 3850938, 3782145, 4144365, 3720600, 4013823, 3839904, 3286035, 3133296, 3199383, 3205719, 3727374, 4716960, 4570521, 4018713, 4432134, 4004547, 3972714, 4140261, 4554594, 4585125, 4245873, 3351792, 3087120, 3091005, 2964570, 3515499, 3683172, 3165603, 3802590, 3982095, 3734988, 3616597, 2298120, 4203942, 3690690, 3806370, 4101522, 4581837, 4775667, 3952914, 4443213, 2845125, 3802272, 4047930, 3343320, 3248031, 6100476, 6226245, 4380129, 4414656, 4771026, 4556712, 4823478, 6117816, 4338339, 3222711, 3234165, 3086640, 3325164, 3357291, 3262845, 5004423, 4432653, 3865620, 4204743, 4606746, 3704880, 4760661, 4672563, 3752193, 3811698, 4094928, 3098271, 3085089, 3583524, 3446424, 2833341, 2978835, 2771142, 3452706, 3499551, 4073700, 4177164, 3845796, 3030879, 3739680, 3729732, 3939132, 4799253, 5509503, 3792828, 3368670, 1747184, 2802141, 2715293, 3096957, 3970434, 3554727, 3342561, 2846797, 3908136, 2795871, 2712298, 2277209, 2743068, 2722977, 2827179, 2679456, 3428505, 4165317, 4112688, 3973043, 4347714, 3317757, 3921669, 3673698, 4905825, 4771872, 2904051, 2925732, 2870550, 2303001, 2748630, 3353517, 3273018, 3268467, 3391008, 3334089, 3517392, 3418635, 3383079, 3560130, 3010803, 2908560, 2919435, 2881578, 2889714, 3978915, 4151379, 3564789, 2593363, 4166946, 3062763, 3335286, 3565662, 3405441, 2742798, 2990172, 2829771, 3258489, 3436800, 4148874, 4254495, 4028082, 3903218, 2100731, 2223546, 1767309, 3422253, 3653421, 2848794, 3315915, 3217983, 3285273, 3515319, 3396570, 3508083, 3619095, 3998082, 3773907, 3852144, 4014900, 3571164, 3541305, 2930667, 2841048, 409091, 519251, 514304, 3828120, 4231800, 3626835, 3519313, 4215933, 2939697, 3127086, 3617553, 3152643, 2949150, 3087402, 2987782, 3220581, 3120440, 2961717, 4844619, 5156517, 3534381, 3524205, 3240096, 2901444, 3393660, 3513501, 2772096, 3746142, 3842913, 3809661, 4004625, 4317216, 3708318, 3329763, 3371586, 3221043, 3107085, 3274248, 4231863, 5149197, 4631970, 4999119, 4515324, 4293273, 4482141, 4599477, 4573185, 4411507, 512412, 3968982, 3927189, 4120524, 5264841, 4685226, 3579696, 2876251, 3495954, 3555813, 3688050, 4446606, 4765044, 4282986, 4309368, 4514958, 4783275, 4461261, 5528973, 5374514, 4552083, 3501315, 3472143, 2831910, 2843727, 3213630, 3462144, 3305937, 3677472, 4030605, 4220295, 4537293, 2484237, 3801642, 3136389, 3055266, 2858007, 2855790, 2921847, 3672252, 4138143, 3452109, 3584124, 4118028, 3681960, 2971983, 3637128, 3520838, 2754639, 2862822, 2791980, 2973789, 3300873, 3960552 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 4253736, 3948027, 3835805, 2850006, 2887029, 2700117, 3189252, 3261126, 2722782, 3086859, 3539406, 3546663, 3439145, 4531494, 4371303, 4230079, 3008616, 2917881, 2750904, 2782701, 3189798, 3441903, 3415947, 3458814, 3590676, 4031190, 3415857, 3528360, 3555654, 2879889, 2800764, 2729325, 409530, 3149601, 4196535, 4327218, 3969465, 4321053, 3647253, 3227064, 3161757, 3375225, 3300378, 2812272, 2630127, 2972982, 3256908, 3421281, 3322796, 4742589, 3447045, 2807892, 2940318, 2725287, 2759769, 2684386, 2435978, 2436225, 3456981, 3340681, 3892680, 3768048, 3880377, 3760952, 3272553, 2558955, 3528375, 3107334, 3417336, 3746907, 5665506, 4241388, 4496088, 5585490, 5347101, 5481333, 7071288, 5066016, 3917703, 3891327, 3620157, 3502395, 3664032, 4044960, 4489608, 4412079, 4536141, 4767174, 5363772, 4253274, 4120551, 4480566, 3474702, 3387630, 3471249, 3269580, 3648375, 4612095, 4640877, 4112661, 4572561, 3458106, 3549042, 3440408 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024, 2971462.091768056, 3477201.5016135955, 3631079.356796586, 3448977.274283114, 3644708.5957219196, 3689810.7872894257, 3200876.8488025567, 3236339.6585810613, 3216064.4783859104, 3122205.9207715234, 2699856.9836749, 2970245.1274957024 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "MAPE: 0.20489387241933427\n" ] } ], "source": [ "ses = ExponentialSmoothing(train_train['Total_Sales'], seasonal = params['seasonal'], seasonal_periods=12, freq='D').fit()\n", "plot_forecast(ses, train_train, train_test)\n", "print(\"MAPE: \",mean_absolute_percentage_error(train_test['Total_Sales'], ses.forecast(len(train_test))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Region R4" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'seasonal': 'multiplicative', 'seasonal_periods': 12}\n" ] } ], "source": [ "train = train_region_code_agg[train_region_code_agg['Region_Code'] == 'R4'].set_index('Date')\n", "train_train, train_test = split_train_test(train)\n", "params = tune_parameters(train_train, train_test)\n", "print(params)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 2286812, 2545119, 2384016, 2491011, 2982393, 2399286, 2509287, 2129772, 1888314, 1858623, 2160579, 2112846, 2792997, 2715806, 2357886, 2022621, 2375211, 1632435, 1735878, 1991874, 1920687, 1871625, 1727235, 1627641, 2035848, 1170557, 2224617, 2854644, 2558445, 1690575, 1638890, 1532418, 1491933, 1769184, 1881081, 1710486, 2060607, 1980507, 1949670, 2081385, 2016300, 2015265, 1637754, 1598526, 1552259, 1631472, 1755207, 1989576, 2857752, 2780357, 2082312, 2445762, 2031018, 1922691, 2039538, 1888632, 1836084, 1862475, 1950501, 1897386, 284018, 2334387, 2722797, 1819536, 2095092, 2057724, 1584333, 1584681, 2276127, 2322222, 1983675, 1925883, 1926252, 2353941, 2252895, 2993526, 2904098, 2111778, 2291382, 1809582, 1606056, 1537992, 1741107, 1693751, 1579068, 1757973, 2022357, 1965506, 1459133, 2295735, 2227026, 1867443, 1617597, 1583484, 1526841, 1783044, 2771880, 2936439, 2333907, 2464755, 2684205, 1877154, 1729422, 1667082, 1365564, 1465494, 1564029, 1703115, 1889901, 1934583, 2157669, 2276442, 2269902, 1859169, 1691721, 1596171, 1486998, 1741974, 1833633, 1778389, 2178819, 2179974, 2136714, 2274339, 3043356, 2572728, 2012415, 1810368, 1751863, 1633437, 1613262, 2211597, 2488092, 2142324, 2090220, 2024817, 2237253, 2123655, 2332191, 2083182, 1779261, 1741242, 1719228, 1930500, 2163768, 2461245, 2450418, 2167512, 2345613, 2180622, 2249673, 2126670, 2471619, 2468403, 2264925, 1879035, 1800003, 1693998, 1643037, 1796532, 2047209, 1860729, 2153202, 2105766, 1954125, 1891250, 1185698, 2409873, 2147499, 2164341, 2295885, 2633433, 2516877, 2370381, 2594505, 1729353, 2147109, 2113254, 1863513, 1947117, 3353625, 3248346, 2536203, 2491476, 2480946, 2529465, 2462238, 3118653, 2412528, 1794900, 1805169, 1798887, 1808412, 1916694, 1860213, 2770551, 2331840, 2024613, 2180226, 2413281, 2022438, 2512518, 2406690, 2008020, 1914303, 2118624, 1770168, 1793712, 1976001, 1917264, 1501086, 1601535, 1623975, 1867242, 1872774, 2171811, 2238783, 2061225, 1797402, 2147616, 1953933, 2159277, 2653746, 2841324, 2160231, 1770327, 879435, 1461852, 1424259, 1894332, 2306526, 2014347, 1911657, 1646192, 2165442, 1678119, 1620662, 1290328, 1434516, 1452801, 1576656, 1634970, 1895772, 2228910, 2102025, 2027492, 2365893, 1924464, 2051691, 1946058, 2379852, 2392734, 1649808, 1664823, 1609161, 1291054, 1527984, 1898031, 2061291, 1846434, 1796919, 1740885, 1761093, 1710113, 1978344, 1971843, 1682298, 1615551, 1562538, 1626309, 1829244, 2254086, 2250735, 1848009, 1360001, 2023641, 1737996, 1772865, 1960977, 1830372, 1496001, 1599063, 1742754, 1778496, 1830093, 2152893, 2177814, 2042991, 1976949, 1249421, 1255388, 1041138, 1865277, 2030343, 1746699, 1829202, 1769682, 1754919, 1797579, 1740948, 1972974, 1968927, 2092197, 1985313, 1925634, 2045397, 2180157, 1990578, 1573662, 1524439, 223669, 271589, 280369, 2173092, 2343177, 1974978, 1904161, 2284968, 1747332, 1688448, 1922532, 1654299, 1698156, 1699437, 1647684, 1771341, 1723478, 1759000, 2613348, 2665170, 2073741, 1963125, 1927467, 1581099, 1869627, 1912311, 1646775, 2078586, 2155050, 2049099, 2173479, 2365842, 2183331, 1796886, 1904379, 1845426, 1804803, 1842345, 2230917, 2723700, 2364420, 2584845, 2427150, 2394480, 2367480, 2533329, 2512149, 2440480, 290874, 2113746, 2111472, 2166789, 2671770, 2635338, 2127924, 1705680, 1938726, 1947429, 2204265, 2629548, 2811378, 2268522, 2191554, 2340756, 2481435, 2481495, 3140613, 3044212, 2330051, 1850118, 1766523, 1627251, 1484592, 1718061, 1941207, 1873530, 2137572, 2185533, 2160336, 2185428, 1215297, 2244570, 1623459, 1715568, 1573065, 1527906, 1686336, 2181603, 2263539, 1805124, 1867935, 2080983, 1981977, 1656153, 1823412, 1767408, 1438764, 1521018, 1588755, 1795812, 1817685, 2120472 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 2341383, 2047260, 1985386, 1621479, 1464195, 1418691, 1668372, 1672170, 1553781, 1796202, 1928472, 1899138, 1842077, 2378886, 2419878, 2360433, 1571994, 1519665, 1443543, 1438113, 1835121, 2036196, 1928592, 1910319, 1994811, 2147688, 1822743, 2009442, 1841421, 1526991, 1497795, 1455052, 222144, 1921227, 2227881, 2315238, 2149071, 2304513, 1911555, 1780872, 1565880, 1741146, 1713036, 1471905, 1555104, 1853355, 1853094, 1886412, 1829390, 2621829, 1835622, 1619007, 1531902, 1403358, 1476666, 1431253, 1299637, 1421256, 1927974, 1866454, 2042685, 1979666, 2288433, 2228688, 1760196, 1521057, 1871265, 1757889, 2048289, 2207805, 2999004, 2499006, 2447595, 2942922, 2854839, 2699937, 3343992, 2704344, 2020203, 1990218, 1927791, 1870636, 1973202, 2334951, 2529516, 2371398, 2427477, 2497491, 2698122, 2289900, 2228092, 2294418, 1822851, 1756260, 1825128, 1901544, 2037741, 2538726, 2556363, 2043627, 2318865, 2048697, 1966320, 1909319 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125, 1669902.1862364574, 1916902.3310836907, 1949622.7560306261, 1905348.3921728297, 1980034.2351603396, 1965493.3959945906, 1814853.8969427808, 1791325.0279630136, 1719715.88010981, 1674468.8304466673, 1466584.3074646275, 1588726.117963125 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "MAPE: 0.198372394232825\n" ] } ], "source": [ "ses = ExponentialSmoothing(train_train['Total_Sales'], seasonal = params['seasonal'], seasonal_periods=12, freq='D').fit()\n", "plot_forecast(ses, train_train, train_test)\n", "print(\"MAPE: \",mean_absolute_percentage_error(train_test['Total_Sales'], ses.forecast(len(train_test))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Global" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateTotal_SalesAvg_SalesTotal_OrdersAvg_OrdersHolidayTotal_Discounts
02018-01-01153454844204219666541365
12018-01-02195924155367825326690365
22018-01-03186525275110324047660365
32018-01-04199562675467525584700364
42018-01-05229026516274728436780364
........................
5112019-05-27171970234711525447700321
5122019-05-28186520655110227184740319
5132019-05-29162134974442124047660193
5142019-05-3016082139440612431867076
5152019-05-3115601825427452360265139
\n", "

516 rows × 7 columns

\n", "
" ], "text/plain": [ " Date Total_Sales Avg_Sales Total_Orders Avg_Orders Holiday \\\n", "0 2018-01-01 15345484 42042 19666 54 1 \n", "1 2018-01-02 19592415 53678 25326 69 0 \n", "2 2018-01-03 18652527 51103 24047 66 0 \n", "3 2018-01-04 19956267 54675 25584 70 0 \n", "4 2018-01-05 22902651 62747 28436 78 0 \n", ".. ... ... ... ... ... ... \n", "511 2019-05-27 17197023 47115 25447 70 0 \n", "512 2019-05-28 18652065 51102 27184 74 0 \n", "513 2019-05-29 16213497 44421 24047 66 0 \n", "514 2019-05-30 16082139 44061 24318 67 0 \n", "515 2019-05-31 15601825 42745 23602 65 1 \n", "\n", " Total_Discounts \n", "0 365 \n", "1 365 \n", "2 365 \n", "3 364 \n", "4 364 \n", ".. ... \n", "511 321 \n", "512 319 \n", "513 193 \n", "514 76 \n", "515 39 \n", "\n", "[516 rows x 7 columns]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_agg" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'seasonal': 'multiplicative', 'seasonal_periods': 63}\n" ] } ], "source": [ "train = train_agg.set_index('Date')\n", "train_train, train_test = split_train_test(train)\n", "params = tune_parameters(train_train, train_test)\n", "print(params)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines", "name": "Train", "type": "scatter", "x": [ "2018-01-01T00:00:00", "2018-01-02T00:00:00", "2018-01-03T00:00:00", "2018-01-04T00:00:00", "2018-01-05T00:00:00", "2018-01-06T00:00:00", "2018-01-07T00:00:00", "2018-01-08T00:00:00", "2018-01-09T00:00:00", "2018-01-10T00:00:00", "2018-01-11T00:00:00", "2018-01-12T00:00:00", "2018-01-13T00:00:00", "2018-01-14T00:00:00", "2018-01-15T00:00:00", "2018-01-16T00:00:00", "2018-01-17T00:00:00", "2018-01-18T00:00:00", "2018-01-19T00:00:00", "2018-01-20T00:00:00", "2018-01-21T00:00:00", "2018-01-22T00:00:00", "2018-01-23T00:00:00", "2018-01-24T00:00:00", "2018-01-25T00:00:00", "2018-01-26T00:00:00", "2018-01-27T00:00:00", "2018-01-28T00:00:00", "2018-01-29T00:00:00", "2018-01-30T00:00:00", "2018-01-31T00:00:00", "2018-02-01T00:00:00", "2018-02-02T00:00:00", "2018-02-03T00:00:00", "2018-02-04T00:00:00", "2018-02-05T00:00:00", "2018-02-06T00:00:00", "2018-02-07T00:00:00", "2018-02-08T00:00:00", "2018-02-09T00:00:00", "2018-02-10T00:00:00", "2018-02-11T00:00:00", "2018-02-12T00:00:00", "2018-02-13T00:00:00", "2018-02-14T00:00:00", "2018-02-15T00:00:00", "2018-02-16T00:00:00", "2018-02-17T00:00:00", "2018-02-18T00:00:00", "2018-02-19T00:00:00", "2018-02-20T00:00:00", "2018-02-21T00:00:00", "2018-02-22T00:00:00", "2018-02-23T00:00:00", "2018-02-24T00:00:00", "2018-02-25T00:00:00", "2018-02-26T00:00:00", "2018-02-27T00:00:00", "2018-02-28T00:00:00", "2018-03-01T00:00:00", "2018-03-02T00:00:00", "2018-03-03T00:00:00", "2018-03-04T00:00:00", "2018-03-05T00:00:00", "2018-03-06T00:00:00", "2018-03-07T00:00:00", "2018-03-08T00:00:00", "2018-03-09T00:00:00", "2018-03-10T00:00:00", "2018-03-11T00:00:00", "2018-03-12T00:00:00", "2018-03-13T00:00:00", "2018-03-14T00:00:00", "2018-03-15T00:00:00", "2018-03-16T00:00:00", "2018-03-17T00:00:00", "2018-03-18T00:00:00", "2018-03-19T00:00:00", "2018-03-20T00:00:00", "2018-03-21T00:00:00", "2018-03-22T00:00:00", "2018-03-23T00:00:00", "2018-03-24T00:00:00", "2018-03-25T00:00:00", "2018-03-26T00:00:00", "2018-03-27T00:00:00", "2018-03-28T00:00:00", "2018-03-29T00:00:00", "2018-03-30T00:00:00", "2018-03-31T00:00:00", "2018-04-01T00:00:00", "2018-04-02T00:00:00", "2018-04-03T00:00:00", "2018-04-04T00:00:00", "2018-04-05T00:00:00", "2018-04-06T00:00:00", "2018-04-07T00:00:00", "2018-04-08T00:00:00", "2018-04-09T00:00:00", "2018-04-10T00:00:00", "2018-04-11T00:00:00", "2018-04-12T00:00:00", "2018-04-13T00:00:00", "2018-04-14T00:00:00", "2018-04-15T00:00:00", "2018-04-16T00:00:00", "2018-04-17T00:00:00", "2018-04-18T00:00:00", "2018-04-19T00:00:00", "2018-04-20T00:00:00", "2018-04-21T00:00:00", "2018-04-22T00:00:00", "2018-04-23T00:00:00", "2018-04-24T00:00:00", "2018-04-25T00:00:00", "2018-04-26T00:00:00", "2018-04-27T00:00:00", "2018-04-28T00:00:00", "2018-04-29T00:00:00", "2018-04-30T00:00:00", "2018-05-01T00:00:00", "2018-05-02T00:00:00", "2018-05-03T00:00:00", "2018-05-04T00:00:00", "2018-05-05T00:00:00", "2018-05-06T00:00:00", "2018-05-07T00:00:00", "2018-05-08T00:00:00", "2018-05-09T00:00:00", "2018-05-10T00:00:00", "2018-05-11T00:00:00", "2018-05-12T00:00:00", "2018-05-13T00:00:00", "2018-05-14T00:00:00", "2018-05-15T00:00:00", "2018-05-16T00:00:00", "2018-05-17T00:00:00", "2018-05-18T00:00:00", "2018-05-19T00:00:00", "2018-05-20T00:00:00", "2018-05-21T00:00:00", "2018-05-22T00:00:00", "2018-05-23T00:00:00", "2018-05-24T00:00:00", "2018-05-25T00:00:00", "2018-05-26T00:00:00", "2018-05-27T00:00:00", "2018-05-28T00:00:00", "2018-05-29T00:00:00", "2018-05-30T00:00:00", "2018-05-31T00:00:00", "2018-06-01T00:00:00", "2018-06-02T00:00:00", "2018-06-03T00:00:00", "2018-06-04T00:00:00", "2018-06-05T00:00:00", "2018-06-06T00:00:00", "2018-06-07T00:00:00", "2018-06-08T00:00:00", "2018-06-09T00:00:00", "2018-06-10T00:00:00", "2018-06-11T00:00:00", "2018-06-12T00:00:00", "2018-06-13T00:00:00", "2018-06-14T00:00:00", "2018-06-15T00:00:00", "2018-06-16T00:00:00", "2018-06-17T00:00:00", "2018-06-18T00:00:00", "2018-06-19T00:00:00", "2018-06-20T00:00:00", "2018-06-21T00:00:00", "2018-06-22T00:00:00", "2018-06-23T00:00:00", "2018-06-24T00:00:00", "2018-06-25T00:00:00", "2018-06-26T00:00:00", "2018-06-27T00:00:00", "2018-06-28T00:00:00", "2018-06-29T00:00:00", "2018-06-30T00:00:00", "2018-07-01T00:00:00", "2018-07-02T00:00:00", "2018-07-03T00:00:00", "2018-07-04T00:00:00", "2018-07-05T00:00:00", "2018-07-06T00:00:00", "2018-07-07T00:00:00", "2018-07-08T00:00:00", "2018-07-09T00:00:00", "2018-07-10T00:00:00", "2018-07-11T00:00:00", "2018-07-12T00:00:00", "2018-07-13T00:00:00", "2018-07-14T00:00:00", "2018-07-15T00:00:00", "2018-07-16T00:00:00", "2018-07-17T00:00:00", "2018-07-18T00:00:00", "2018-07-19T00:00:00", "2018-07-20T00:00:00", "2018-07-21T00:00:00", "2018-07-22T00:00:00", "2018-07-23T00:00:00", "2018-07-24T00:00:00", "2018-07-25T00:00:00", "2018-07-26T00:00:00", "2018-07-27T00:00:00", "2018-07-28T00:00:00", "2018-07-29T00:00:00", "2018-07-30T00:00:00", "2018-07-31T00:00:00", "2018-08-01T00:00:00", "2018-08-02T00:00:00", "2018-08-03T00:00:00", "2018-08-04T00:00:00", "2018-08-05T00:00:00", "2018-08-06T00:00:00", "2018-08-07T00:00:00", "2018-08-08T00:00:00", "2018-08-09T00:00:00", "2018-08-10T00:00:00", "2018-08-11T00:00:00", "2018-08-12T00:00:00", "2018-08-13T00:00:00", "2018-08-14T00:00:00", "2018-08-15T00:00:00", "2018-08-16T00:00:00", "2018-08-17T00:00:00", "2018-08-18T00:00:00", "2018-08-19T00:00:00", "2018-08-20T00:00:00", "2018-08-21T00:00:00", "2018-08-22T00:00:00", "2018-08-23T00:00:00", "2018-08-24T00:00:00", "2018-08-25T00:00:00", "2018-08-26T00:00:00", "2018-08-27T00:00:00", "2018-08-28T00:00:00", "2018-08-29T00:00:00", "2018-08-30T00:00:00", "2018-08-31T00:00:00", "2018-09-01T00:00:00", "2018-09-02T00:00:00", "2018-09-03T00:00:00", "2018-09-04T00:00:00", "2018-09-05T00:00:00", "2018-09-06T00:00:00", "2018-09-07T00:00:00", "2018-09-08T00:00:00", "2018-09-09T00:00:00", "2018-09-10T00:00:00", "2018-09-11T00:00:00", "2018-09-12T00:00:00", "2018-09-13T00:00:00", "2018-09-14T00:00:00", "2018-09-15T00:00:00", "2018-09-16T00:00:00", "2018-09-17T00:00:00", "2018-09-18T00:00:00", "2018-09-19T00:00:00", "2018-09-20T00:00:00", "2018-09-21T00:00:00", "2018-09-22T00:00:00", "2018-09-23T00:00:00", "2018-09-24T00:00:00", "2018-09-25T00:00:00", "2018-09-26T00:00:00", "2018-09-27T00:00:00", "2018-09-28T00:00:00", "2018-09-29T00:00:00", "2018-09-30T00:00:00", "2018-10-01T00:00:00", "2018-10-02T00:00:00", "2018-10-03T00:00:00", "2018-10-04T00:00:00", "2018-10-05T00:00:00", "2018-10-06T00:00:00", "2018-10-07T00:00:00", "2018-10-08T00:00:00", "2018-10-09T00:00:00", "2018-10-10T00:00:00", "2018-10-11T00:00:00", "2018-10-12T00:00:00", "2018-10-13T00:00:00", "2018-10-14T00:00:00", "2018-10-15T00:00:00", "2018-10-16T00:00:00", "2018-10-17T00:00:00", "2018-10-18T00:00:00", "2018-10-19T00:00:00", "2018-10-20T00:00:00", "2018-10-21T00:00:00", "2018-10-22T00:00:00", "2018-10-23T00:00:00", "2018-10-24T00:00:00", "2018-10-25T00:00:00", "2018-10-26T00:00:00", "2018-10-27T00:00:00", "2018-10-28T00:00:00", "2018-10-29T00:00:00", "2018-10-30T00:00:00", "2018-10-31T00:00:00", "2018-11-01T00:00:00", "2018-11-02T00:00:00", "2018-11-03T00:00:00", "2018-11-04T00:00:00", "2018-11-05T00:00:00", "2018-11-06T00:00:00", "2018-11-07T00:00:00", "2018-11-08T00:00:00", "2018-11-09T00:00:00", "2018-11-10T00:00:00", "2018-11-11T00:00:00", "2018-11-12T00:00:00", "2018-11-13T00:00:00", "2018-11-14T00:00:00", "2018-11-15T00:00:00", "2018-11-16T00:00:00", "2018-11-17T00:00:00", "2018-11-18T00:00:00", "2018-11-19T00:00:00", "2018-11-20T00:00:00", "2018-11-21T00:00:00", "2018-11-22T00:00:00", "2018-11-23T00:00:00", "2018-11-24T00:00:00", "2018-11-25T00:00:00", "2018-11-26T00:00:00", "2018-11-27T00:00:00", "2018-11-28T00:00:00", "2018-11-29T00:00:00", "2018-11-30T00:00:00", "2018-12-01T00:00:00", "2018-12-02T00:00:00", "2018-12-03T00:00:00", "2018-12-04T00:00:00", "2018-12-05T00:00:00", "2018-12-06T00:00:00", "2018-12-07T00:00:00", "2018-12-08T00:00:00", "2018-12-09T00:00:00", "2018-12-10T00:00:00", "2018-12-11T00:00:00", "2018-12-12T00:00:00", "2018-12-13T00:00:00", "2018-12-14T00:00:00", "2018-12-15T00:00:00", "2018-12-16T00:00:00", "2018-12-17T00:00:00", "2018-12-18T00:00:00", "2018-12-19T00:00:00", "2018-12-20T00:00:00", "2018-12-21T00:00:00", "2018-12-22T00:00:00", "2018-12-23T00:00:00", "2018-12-24T00:00:00", "2018-12-25T00:00:00", "2018-12-26T00:00:00", "2018-12-27T00:00:00", "2018-12-28T00:00:00", "2018-12-29T00:00:00", "2018-12-30T00:00:00", "2018-12-31T00:00:00", "2019-01-01T00:00:00", "2019-01-02T00:00:00", "2019-01-03T00:00:00", "2019-01-04T00:00:00", "2019-01-05T00:00:00", "2019-01-06T00:00:00", "2019-01-07T00:00:00", "2019-01-08T00:00:00", "2019-01-09T00:00:00", "2019-01-10T00:00:00", "2019-01-11T00:00:00", "2019-01-12T00:00:00", "2019-01-13T00:00:00", "2019-01-14T00:00:00", "2019-01-15T00:00:00", "2019-01-16T00:00:00", "2019-01-17T00:00:00", "2019-01-18T00:00:00", "2019-01-19T00:00:00", "2019-01-20T00:00:00", "2019-01-21T00:00:00", "2019-01-22T00:00:00", "2019-01-23T00:00:00", "2019-01-24T00:00:00", "2019-01-25T00:00:00", "2019-01-26T00:00:00", "2019-01-27T00:00:00", "2019-01-28T00:00:00", "2019-01-29T00:00:00", "2019-01-30T00:00:00", "2019-01-31T00:00:00", "2019-02-01T00:00:00", "2019-02-02T00:00:00", "2019-02-03T00:00:00", "2019-02-04T00:00:00", "2019-02-05T00:00:00", "2019-02-06T00:00:00", "2019-02-07T00:00:00", "2019-02-08T00:00:00", "2019-02-09T00:00:00", "2019-02-10T00:00:00", "2019-02-11T00:00:00", "2019-02-12T00:00:00", "2019-02-13T00:00:00", "2019-02-14T00:00:00", "2019-02-15T00:00:00", "2019-02-16T00:00:00" ], "y": [ 15345484, 19592415, 18652527, 19956267, 22902651, 16351956, 18219249, 15641283, 14197074, 14712108, 16565787, 14737770, 20857848, 20252261, 18966564, 16488294, 18685467, 11687088, 13250172, 15118365, 14902944, 14450476, 13687812, 11282559, 15071184, 8544637, 17676906, 24070617, 20720280, 12217641, 11860151, 12023721, 11912538, 14075436, 14510955, 11967330, 15577728, 14887227, 15529065, 17135181, 16592093, 14302785, 12433194, 12412914, 12049937, 12937917, 13640055, 14310783, 21181416, 20532469, 16960068, 19226871, 15454293, 14341791, 15972708, 15303216, 14068716, 13704948, 14543655, 14120634, 2165458, 18448566, 21236433, 14281224, 14814756, 15357597, 13065249, 12737448, 16360278, 17570853, 15684093, 15525570, 15765795, 18572256, 17412255, 22324179, 21668971, 16691154, 18195132, 14007738, 11852319, 12062124, 13883388, 13472972, 12503751, 13094226, 14691672, 14265427, 11264968, 18710721, 18166923, 14569629, 12209307, 12576207, 12813417, 14234181, 19623816, 21883788, 18500304, 19157115, 21300681, 15229818, 12831450, 12457318, 10594926, 11928978, 12774732, 12723330, 14261076, 14895594, 17473059, 18444663, 18500421, 14412999, 12550164, 12526755, 12026901, 14243013, 15054183, 14581801, 16495362, 17180883, 17166135, 18206790, 24441480, 20349051, 15215391, 14483241, 14030287, 12977484, 12830817, 16231695, 18446259, 16653750, 16559967, 16169004, 18013866, 16048995, 16989399, 16335033, 13918680, 13590396, 13793985, 14565546, 16112733, 19573632, 19740852, 17830662, 19224447, 17300913, 17263551, 17077740, 19393668, 19565799, 18330357, 14393973, 13029222, 13045080, 12886242, 14919669, 16210185, 14210352, 16353573, 16603479, 15976260, 15512933, 9978170, 18278982, 15717774, 16140684, 17786697, 20242395, 18853707, 17480913, 20001039, 13242804, 15894768, 16371303, 14052795, 14248626, 23728515, 23945358, 18890394, 18377211, 19373649, 19538289, 19560669, 24055308, 18650493, 13554081, 13839621, 13766004, 14604288, 15150003, 14711067, 21109464, 18970869, 16458309, 17946144, 18721923, 15775503, 19369557, 19120005, 16101408, 15798297, 16900371, 13970886, 13823877, 15320820, 14846055, 12126477, 12737472, 12346827, 14198166, 14791482, 17813916, 18127176, 16291194, 14164593, 16176366, 15513465, 17409294, 20969319, 22427244, 16880997, 13780119, 7044249, 12053889, 11718931, 14363571, 17130564, 15459483, 15050769, 12902503, 17076024, 12931530, 12537501, 9787588, 12047520, 11910750, 12579348, 12569739, 14776356, 17718477, 17578071, 17036211, 19011822, 14827872, 15893895, 15470667, 19634739, 19172460, 13351764, 12811320, 12629880, 10091665, 12376968, 15247386, 15771861, 13656159, 13810623, 13887951, 14567595, 14159820, 15541707, 15356484, 13103109, 12891336, 12930102, 13036530, 14310276, 17004042, 17418081, 14646117, 10684440, 16342209, 13886007, 14195442, 15727248, 15117114, 12315231, 13243134, 13733847, 13800000, 14344572, 17174256, 17715306, 16009851, 15527380, 9624091, 9600084, 7828440, 15305676, 16347864, 13832616, 14043156, 13642069, 14069673, 14883156, 14437499, 15749271, 15107715, 16328790, 15891576, 16137054, 16347015, 17206977, 15432357, 12148746, 11791165, 1762138, 2199778, 2162866, 16348848, 18133113, 15694680, 15203537, 18445977, 13743123, 13368123, 15303735, 13219635, 13547703, 13537062, 13136706, 13253418, 12863971, 13100218, 21856911, 20627736, 16637412, 15904872, 15555645, 13192017, 15129309, 15250719, 12737475, 15449391, 16151652, 16349193, 16881444, 18758682, 17216889, 14842779, 15473973, 14421345, 14056371, 14033496, 17312322, 21371652, 19524159, 20488767, 19551435, 19175292, 18652500, 20133735, 20975379, 20311471, 2282733, 16289970, 16709661, 17466273, 21794760, 20404872, 16690803, 13460294, 15626244, 16452147, 17608086, 20272632, 21128346, 17714586, 17832507, 18987171, 19750278, 19469091, 24039663, 23345691, 18515687, 15023776, 14620077, 12862629, 12233679, 13977036, 15078969, 14194650, 15720726, 17049318, 17255256, 18133215, 9917052, 18371964, 13532535, 13659495, 12783816, 12595659, 13391145, 16509678, 17892210, 14768259, 15721386, 17189028, 16192275, 13563603, 15422400, 14943389, 11648205, 12384495, 12457656, 13301838, 14306637, 16993098 ] }, { "mode": "lines", "name": "Test", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 18342525, 16319103, 15816166, 12800094, 12383694, 11743965, 13887258, 14207130, 12518871, 13594095, 15197019, 15189495, 14715308, 18707214, 18993912, 18435030, 12976719, 12454518, 12008772, 12258222, 14260416, 15136029, 14841210, 15125649, 15725475, 17320749, 14796600, 15608175, 15180897, 12534444, 12321786, 11959325, 1822462, 14149944, 17698635, 18801276, 17123754, 18624411, 15350445, 14320641, 13419201, 14478648, 14410761, 12349737, 12138972, 13631253, 14147430, 14900580, 14446139, 20586318, 14669022, 12873645, 12601281, 11954634, 12159984, 11789938, 10808490, 10913978, 14800416, 14353118, 16272387, 15768811, 17453427, 16951109, 14214354, 12129567, 14711301, 13413840, 15159969, 17248350, 21876561, 17552880, 18519582, 22924065, 22203030, 21873870, 26870817, 21755484, 17364180, 17058741, 15840252, 15362468, 16318143, 18691137, 20292558, 18783642, 19353711, 19960656, 21445713, 18456078, 17909161, 19509138, 15099840, 14807589, 14958597, 14721366, 15948156, 19696350, 20169666, 17197023, 18652065, 16213497, 16082139, 15601825 ] }, { "mode": "lines", "name": "Forecast", "type": "scatter", "x": [ "2019-02-17T00:00:00", "2019-02-18T00:00:00", "2019-02-19T00:00:00", "2019-02-20T00:00:00", "2019-02-21T00:00:00", "2019-02-22T00:00:00", "2019-02-23T00:00:00", "2019-02-24T00:00:00", "2019-02-25T00:00:00", "2019-02-26T00:00:00", "2019-02-27T00:00:00", "2019-02-28T00:00:00", "2019-03-01T00:00:00", "2019-03-02T00:00:00", "2019-03-03T00:00:00", "2019-03-04T00:00:00", "2019-03-05T00:00:00", "2019-03-06T00:00:00", "2019-03-07T00:00:00", "2019-03-08T00:00:00", "2019-03-09T00:00:00", "2019-03-10T00:00:00", "2019-03-11T00:00:00", "2019-03-12T00:00:00", "2019-03-13T00:00:00", "2019-03-14T00:00:00", "2019-03-15T00:00:00", "2019-03-16T00:00:00", "2019-03-17T00:00:00", "2019-03-18T00:00:00", "2019-03-19T00:00:00", "2019-03-20T00:00:00", "2019-03-21T00:00:00", "2019-03-22T00:00:00", "2019-03-23T00:00:00", "2019-03-24T00:00:00", "2019-03-25T00:00:00", "2019-03-26T00:00:00", "2019-03-27T00:00:00", "2019-03-28T00:00:00", "2019-03-29T00:00:00", "2019-03-30T00:00:00", "2019-03-31T00:00:00", "2019-04-01T00:00:00", "2019-04-02T00:00:00", "2019-04-03T00:00:00", "2019-04-04T00:00:00", "2019-04-05T00:00:00", "2019-04-06T00:00:00", "2019-04-07T00:00:00", "2019-04-08T00:00:00", "2019-04-09T00:00:00", "2019-04-10T00:00:00", "2019-04-11T00:00:00", "2019-04-12T00:00:00", "2019-04-13T00:00:00", "2019-04-14T00:00:00", "2019-04-15T00:00:00", "2019-04-16T00:00:00", "2019-04-17T00:00:00", "2019-04-18T00:00:00", "2019-04-19T00:00:00", "2019-04-20T00:00:00", "2019-04-21T00:00:00", "2019-04-22T00:00:00", "2019-04-23T00:00:00", "2019-04-24T00:00:00", "2019-04-25T00:00:00", "2019-04-26T00:00:00", "2019-04-27T00:00:00", "2019-04-28T00:00:00", "2019-04-29T00:00:00", "2019-04-30T00:00:00", "2019-05-01T00:00:00", "2019-05-02T00:00:00", "2019-05-03T00:00:00", "2019-05-04T00:00:00", "2019-05-05T00:00:00", "2019-05-06T00:00:00", "2019-05-07T00:00:00", "2019-05-08T00:00:00", "2019-05-09T00:00:00", "2019-05-10T00:00:00", "2019-05-11T00:00:00", "2019-05-12T00:00:00", "2019-05-13T00:00:00", "2019-05-14T00:00:00", "2019-05-15T00:00:00", "2019-05-16T00:00:00", "2019-05-17T00:00:00", "2019-05-18T00:00:00", "2019-05-19T00:00:00", "2019-05-20T00:00:00", "2019-05-21T00:00:00", "2019-05-22T00:00:00", "2019-05-23T00:00:00", "2019-05-24T00:00:00", "2019-05-25T00:00:00", "2019-05-26T00:00:00", "2019-05-27T00:00:00", "2019-05-28T00:00:00", "2019-05-29T00:00:00", "2019-05-30T00:00:00", "2019-05-31T00:00:00" ], "y": [ 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178, 13056438.724053558, 14910022.33970102, 15496961.065006627, 15126286.206494268, 16126217.946405707, 16049791.643583033, 14525624.760841772, 14558614.338265533, 14074727.176307578, 13605402.990287943, 11798578.063419666, 12710734.006007178 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "MAPE: 0.19000567422948877\n" ] } ], "source": [ "ses = ExponentialSmoothing(train_train['Total_Sales'], seasonal = params['seasonal'], seasonal_periods=12, freq='D').fit()\n", "plot_forecast(ses, train_train, train_test)\n", "print(\"MAPE: \",mean_absolute_percentage_error(train_test['Total_Sales'], ses.forecast(len(train_test))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "https://stats.stackexchange.com/questions/412276/how-to-handle-many-times-series-simultaneously \n", "https://stackoverflow.com/questions/61717970/is-there-a-way-to-forecast-sales-for-multiple-products-across-multiple-stores" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "┌──────────┬────────────┬─────────────────────┐\n", "│ Store_id │ t_sales │ pct_sales │\n", "│ int64 │ double │ double │\n", "├──────────┼────────────┼─────────────────────┤\n", "│ 298 │ 32572688.0 │ 0.9229065277013243 │\n", "│ 346 │ 29651962.0 │ 0.8401514188664002 │\n", "│ 39 │ 29234458.0 │ 0.8283219444027082 │\n", "│ 49 │ 28886187.0 │ 0.8184541324856239 │\n", "│ 278 │ 28776251.0 │ 0.8153392263539905 │\n", "│ 195 │ 28151748.0 │ 0.7976447046967527 │\n", "│ 357 │ 28143722.0 │ 0.7974173050680229 │\n", "│ 201 │ 28051720.0 │ 0.7948105364863556 │\n", "│ 97 │ 27748247.0 │ 0.7862120033783618 │\n", "│ 18 │ 27613532.0 │ 0.7823950225152212 │\n", "│ · │ · │ · │\n", "│ · │ · │ · │\n", "│ · │ · │ · │\n", "│ 51 │ 17388121.0 │ 0.49267074395857163 │\n", "│ 177 │ 17261487.0 │ 0.489082734397513 │\n", "│ 187 │ 17158548.0 │ 0.48616608946166706 │\n", "│ 238 │ 17059578.0 │ 0.48336188674650066 │\n", "│ 148 │ 16884632.0 │ 0.47840502024680814 │\n", "│ 46 │ 16698801.0 │ 0.4731397190143569 │\n", "│ 360 │ 16221385.0 │ 0.4596127378789156 │\n", "│ 159 │ 15963333.0 │ 0.4523011680927709 │\n", "│ 142 │ 15932457.0 │ 0.4514263299943258 │\n", "│ 365 │ 15867221.0 │ 0.44957795203091344 │\n", "├──────────┴────────────┴─────────────────────┤\n", "│ 165 rows (20 shown) 3 columns │\n", "└─────────────────────────────────────────────┘" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.sql(\"\"\" \n", "select Store_id, round(sum(Sales),0) t_sales, \n", " round(sum(Sales)*100,0)/(select sum(Sales) from df where Location_Type = 'L1' ) as pct_sales,\n", " \n", " from df where Location_Type = 'L1' group by Store_id order by pct_sales desc\n", "\"\"\")" ] } ], "metadata": { "kernelspec": { "display_name": "base", "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.12.2" } }, "nbformat": 4, "nbformat_minor": 2 }