{"cells":[{"metadata":{},"cell_type":"markdown","source":"# CISC 351 Group 3 - Google Analytics Customer Revenue Prediction"},{"metadata":{"_kg_hide-input":false},"cell_type":"markdown","source":"In order to perform this regression task, the overall process followed is shown in the contents below. This process started off with the importation of relevant libraries and a prelimary assesment of the data. Afterwards, tasks such as exploratory analysis and the preprocessing of data was conducted. Lastly, the 2 baseline models were built, implemented, and evaluated. Detailed discussion can be found in the report handed in.\n\n1. [Preliminary Data Assesment](#1)\n2. [Preprocessing Data](#2)\n    1. [JSon Parser Function](#2.1)\n    2. [Function to load in a Random 1% Sample of Data](#2.2)\n    3. [Exploratory Analysis](#2.3)   \n    4. [Feature Engineering](#2.4)    \n3. [Building 2 Baseline Models](#3)\n    1. [Separate Features, Target,and Construct Validation Set](#3.1)   \n    2. [LGBM](#3.2)\n    3. [XGBoost](#3.3)\n    4. [Summary and Comparison of the Two Models](#3.4)    "},{"metadata":{},"cell_type":"markdown","source":"<a id=\"1\"></a>\n\n## Preliminary Data Assesment"},{"metadata":{},"cell_type":"markdown","source":"With any machine learning task, the team started off with importing the necessary libraries to perform the regression task. A portion of the data was read in and assessed. In addition, the sizes of the training and test sets was analyzed. This analysis found two difficulties in dealing with the dataset. First, the data was parsed in JSon queries. Second, the dataset size was very large, with the training data having over a million rows and the testing data having over several hundred thousand rows. Discussions on how the team dealt with this issue take place in the following sections."},{"metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","trusted":true},"cell_type":"code","source":"import os\nimport json\nimport numpy as np\nimport pandas as pd\nfrom pandas.io.json import json_normalize\nimport random\nimport matplotlib.pyplot as plt\nimport multiprocessing as mp\nimport datetime as dt\nimport xgboost as xgb\nimport sklearn\nimport lightgbm as lgb\nfrom scipy.stats import randint as sp_randint\nfrom scipy.stats import uniform as sp_uniform\nfrom sklearn.model_selection import RandomizedSearchCV, GridSearchCV\nimport time\nimport sklearn.metrics\nimport plotly.plotly as py\nimport plotly.graph_objs as go\nfrom plotly import tools\nfrom plotly.offline import init_notebook_mode, iplot","execution_count":37,"outputs":[]},{"metadata":{"_uuid":"4f8c7056484b0ddc504c588b27292f24a93c1451","trusted":true},"cell_type":"code","source":"#Determine Sizes of Training and Testing Sets\ntraining_size = int(sum(1 for line in open('../input/train_v2.csv')))\ntesting_size = int(sum(1 for line in open('../input/test_v2.csv')))\nprint('Size of training set is: ', training_size, 'rows. Size of testing set is: ', testing_size, 'rows.')","execution_count":38,"outputs":[{"output_type":"stream","text":"Size of training set is:  1708338 rows. Size of testing set is:  401590 rows.\n","name":"stdout"}]},{"metadata":{"_uuid":"6b3ec34eca8a79337bf45ae9ac597727ed6f4f1e","scrolled":true,"trusted":true},"cell_type":"code","source":"#Load portion of training data to assess the data\nJSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']\ndf2 = pd.read_csv('../input/train_v2.csv', nrows=1000)\ndf2.head()","execution_count":39,"outputs":[{"output_type":"execute_result","execution_count":39,"data":{"text/plain":"  channelGrouping      ...       visitStartTime\n0  Organic Search      ...           1508198450\n1        Referral      ...           1508176307\n2          Direct      ...           1508201613\n3  Organic Search      ...           1508169851\n4  Organic Search      ...           1508190552\n\n[5 rows x 13 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>customDimensions</th>\n      <th>date</th>\n      <th>device</th>\n      <th>fullVisitorId</th>\n      <th>geoNetwork</th>\n      <th>hits</th>\n      <th>socialEngagementType</th>\n      <th>totals</th>\n      <th>trafficSource</th>\n      <th>visitId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'EMEA'}]</td>\n      <td>20171016</td>\n      <td>{\"browser\": \"Firefox\", \"browserVersion\": \"not ...</td>\n      <td>3162355547410993243</td>\n      <td>{\"continent\": \"Europe\", \"subContinent\": \"Weste...</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '17',...</td>\n      <td>Not Socially Engaged</td>\n      <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n      <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n      <td>1508198450</td>\n      <td>1</td>\n      <td>1508198450</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Referral</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n      <td>8934116514970143966</td>\n      <td>{\"continent\": \"Americas\", \"subContinent\": \"Nor...</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '10',...</td>\n      <td>Not Socially Engaged</td>\n      <td>{\"visits\": \"1\", \"hits\": \"2\", \"pageviews\": \"2\",...</td>\n      <td>{\"referralPath\": \"/a/google.com/transportation...</td>\n      <td>1508176307</td>\n      <td>6</td>\n      <td>1508176307</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Direct</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n      <td>7992466427990357681</td>\n      <td>{\"continent\": \"Americas\", \"subContinent\": \"Nor...</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '17',...</td>\n      <td>Not Socially Engaged</td>\n      <td>{\"visits\": \"1\", \"hits\": \"2\", \"pageviews\": \"2\",...</td>\n      <td>{\"campaign\": \"(not set)\", \"source\": \"(direct)\"...</td>\n      <td>1508201613</td>\n      <td>1</td>\n      <td>1508201613</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'EMEA'}]</td>\n      <td>20171016</td>\n      <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n      <td>9075655783635761930</td>\n      <td>{\"continent\": \"Asia\", \"subContinent\": \"Western...</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '9', ...</td>\n      <td>Not Socially Engaged</td>\n      <td>{\"visits\": \"1\", \"hits\": \"2\", \"pageviews\": \"2\",...</td>\n      <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n      <td>1508169851</td>\n      <td>1</td>\n      <td>1508169851</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'Central America'}]</td>\n      <td>20171016</td>\n      <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n      <td>6960673291025684308</td>\n      <td>{\"continent\": \"Americas\", \"subContinent\": \"Cen...</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '14',...</td>\n      <td>Not Socially Engaged</td>\n      <td>{\"visits\": \"1\", \"hits\": \"2\", \"pageviews\": \"2\",...</td>\n      <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n      <td>1508190552</td>\n      <td>1</td>\n      <td>1508190552</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"2\"></a>\n## Preprocessing Data"},{"metadata":{},"cell_type":"markdown","source":"<a id=\"2.1\"></a>\n### JSon Parser Function"},{"metadata":{},"cell_type":"markdown","source":"As described above, one of the first issues encountered with the dataset was that it was parsed in JSon queries. After trial and error, the the following function was defined succesfully to parse the JSon queries in Pandas dataframes.  "},{"metadata":{"_uuid":"ca110b71b299e13fb9859ba41b2ed4e320d1b36c","trusted":true},"cell_type":"code","source":"#Define function to parse the JSON entries\ndef Parser (df):\n    'This function takes a Pandas dataframe as an input, parses the JSON columns in the dataframe, and produces a parsed Pandas dataframe'\n    JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']\n    for column in JSON_COLUMNS:\n        column_as_df = json_normalize(df[column])\n        column_as_df.columns = [f\"{column}.{subcolumn}\" for subcolumn in column_as_df.columns]\n        df = df.drop(column, axis=1).merge(column_as_df, right_index=True, left_index=True)\n    return df","execution_count":40,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"2.2\"></a>\n### Function to load in a Random 1% Sample of Data"},{"metadata":{},"cell_type":"markdown","source":"As described in the preliminary data assesment, there were two approaches taken to dealing with the massive size of the dataset. The first approach taken was to load and preprocess the data in batches with a function called the dataPipeline function that can be found commented out further down in the code. The idea with this function was to load the data in 1% batches, preprocess each batch thereby reducing the dataframe size signficantly enough that once all the 1% batches were concatenated together, the dataframe would be able to fit into memory. The function ran and produced an dataframe output, but the result was not to expectation. Due to a time constraint on the project, the team decided to use the function defined below called load_DF that generates a random 1% sample of the training and test set. This function is initialized with a random generator with random.seed(25) to produce the same random dataframe everytime. As this function produces a completely random dataframe, the dataframe distribution should be representative of the entire dataframe."},{"metadata":{"_uuid":"749dae84b9f202c9d1bec45cc7a31e1683fb0ab3","trusted":true},"cell_type":"code","source":"# Define function to randomly load in 1% of train/test data\ndef load_DF(filename):\n    'This function takes a csv file as an input, and outputs 1% of that files rows randomly selected '\n    JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource'] #JSon Columns in the training set\n    num_lines = int(sum(1 for line in open(filename))) # Read number of file lines in the training dataset\n    print('The number of rows in the file is ',num_lines) \n    n = int(num_lines-1) #number of records in file (excludes header)\n    s = int(0.01*n) #Desired sample of 10 Percent of Dataset\n    random.seed(25)\n    skip = sorted(random.sample(range(1,n+1),n-s)) #the 0-indexed header will not be included in the skip list\n    DF=pd.read_csv(filename, converters={column: json.loads for column in JSON_COLUMNS}, \n                        dtype={'fullVisitorId': 'str'},skiprows=skip)\n    \n    DF = Parser(DF)\n    return DF","execution_count":41,"outputs":[]},{"metadata":{"_uuid":"5aecf331192c206658bc1227e0ab0d8d9392f97d","trusted":true},"cell_type":"code","source":"#Unparse Randomly chosen training data for feature engineering\ntrainingData = load_DF('../input/train_v2.csv')\n#Unparse Randomly chosen testing data for feature engineering\ntestingData = load_DF('../input/test_v2.csv')","execution_count":42,"outputs":[{"output_type":"stream","text":"The number of rows in the file is  1708338\nThe number of rows in the file is  401590\n","name":"stdout"}]},{"metadata":{"_uuid":"a5cbd22b749d3916e3fd9a75bd59c031cd7cd0a2","trusted":true},"cell_type":"code","source":"print(trainingData.shape)\ntrainingData.head()","execution_count":43,"outputs":[{"output_type":"stream","text":"(17083, 59)\n","name":"stdout"},{"output_type":"execute_result","execution_count":43,"data":{"text/plain":"  channelGrouping         ...          trafficSource.source\n0          Direct         ...                      (direct)\n1  Organic Search         ...                        google\n2      Affiliates         ...                      Partners\n3  Organic Search         ...                          bing\n4  Organic Search         ...                        google\n\n[5 rows x 59 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>customDimensions</th>\n      <th>date</th>\n      <th>fullVisitorId</th>\n      <th>hits</th>\n      <th>socialEngagementType</th>\n      <th>visitId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n      <th>device.browser</th>\n      <th>device.browserSize</th>\n      <th>device.browserVersion</th>\n      <th>device.deviceCategory</th>\n      <th>device.flashVersion</th>\n      <th>device.isMobile</th>\n      <th>device.language</th>\n      <th>device.mobileDeviceBranding</th>\n      <th>device.mobileDeviceInfo</th>\n      <th>device.mobileDeviceMarketingName</th>\n      <th>device.mobileDeviceModel</th>\n      <th>device.mobileInputSelector</th>\n      <th>device.operatingSystem</th>\n      <th>device.operatingSystemVersion</th>\n      <th>device.screenColors</th>\n      <th>device.screenResolution</th>\n      <th>geoNetwork.city</th>\n      <th>geoNetwork.cityId</th>\n      <th>geoNetwork.continent</th>\n      <th>geoNetwork.country</th>\n      <th>geoNetwork.latitude</th>\n      <th>geoNetwork.longitude</th>\n      <th>geoNetwork.metro</th>\n      <th>geoNetwork.networkDomain</th>\n      <th>geoNetwork.networkLocation</th>\n      <th>geoNetwork.region</th>\n      <th>geoNetwork.subContinent</th>\n      <th>totals.bounces</th>\n      <th>totals.hits</th>\n      <th>totals.newVisits</th>\n      <th>totals.pageviews</th>\n      <th>totals.sessionQualityDim</th>\n      <th>totals.timeOnSite</th>\n      <th>totals.totalTransactionRevenue</th>\n      <th>totals.transactionRevenue</th>\n      <th>totals.transactions</th>\n      <th>totals.visits</th>\n      <th>trafficSource.adContent</th>\n      <th>trafficSource.adwordsClickInfo.adNetworkType</th>\n      <th>trafficSource.adwordsClickInfo.criteriaParameters</th>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n      <th>trafficSource.adwordsClickInfo.page</th>\n      <th>trafficSource.adwordsClickInfo.slot</th>\n      <th>trafficSource.campaign</th>\n      <th>trafficSource.isTrueDirect</th>\n      <th>trafficSource.keyword</th>\n      <th>trafficSource.medium</th>\n      <th>trafficSource.referralPath</th>\n      <th>trafficSource.source</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Direct</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>4447569759370230345</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '18',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508203279</td>\n      <td>1</td>\n      <td>1508203279</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>mobile</td>\n      <td>not available in demo dataset</td>\n      <td>True</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Android</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>psu.edu</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>4</td>\n      <td>1</td>\n      <td>4</td>\n      <td>1</td>\n      <td>66</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>True</td>\n      <td>NaN</td>\n      <td>(none)</td>\n      <td>NaN</td>\n      <td>(direct)</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>8449727979333841797</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '15',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508192597</td>\n      <td>1</td>\n      <td>1508192597</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Linux</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Sunnyvale</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Francisco-Oakland-San Jose CA</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>California</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>6</td>\n      <td>1</td>\n      <td>6</td>\n      <td>2</td>\n      <td>40</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>(not provided)</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>google</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Affiliates</td>\n      <td>[{'index': '4', 'value': 'EMEA'}]</td>\n      <td>20171016</td>\n      <td>0258560966793548223</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '7', ...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508163755</td>\n      <td>1</td>\n      <td>1508163755</td>\n      <td>Internet Explorer</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Windows</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Europe</td>\n      <td>Netherlands</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>kpn.net</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Western Europe</td>\n      <td>NaN</td>\n      <td>7</td>\n      <td>1</td>\n      <td>7</td>\n      <td>1</td>\n      <td>243</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>Data Share Promo</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>affiliate</td>\n      <td>NaN</td>\n      <td>Partners</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'Central America'}]</td>\n      <td>20171016</td>\n      <td>2120129608233101123</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '11',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508177261</td>\n      <td>1</td>\n      <td>1508177261</td>\n      <td>Internet Explorer</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Windows</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>Mexico</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>unknown.unknown</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Central America</td>\n      <td>NaN</td>\n      <td>8</td>\n      <td>1</td>\n      <td>8</td>\n      <td>1</td>\n      <td>111</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>google online merchandise</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>bing</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>3848523864758719206</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '14',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508188995</td>\n      <td>1</td>\n      <td>1508188995</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Chrome OS</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>9</td>\n      <td>1</td>\n      <td>7</td>\n      <td>6</td>\n      <td>250</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>(not provided)</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>google</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"trainingData.info()","execution_count":44,"outputs":[{"output_type":"stream","text":"<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 17083 entries, 0 to 17082\nData columns (total 59 columns):\nchannelGrouping                                      17083 non-null object\ncustomDimensions                                     17083 non-null object\ndate                                                 17083 non-null int64\nfullVisitorId                                        17083 non-null object\nhits                                                 17083 non-null object\nsocialEngagementType                                 17083 non-null object\nvisitId                                              17083 non-null int64\nvisitNumber                                          17083 non-null int64\nvisitStartTime                                       17083 non-null int64\ndevice.browser                                       17083 non-null object\ndevice.browserSize                                   17083 non-null object\ndevice.browserVersion                                17083 non-null object\ndevice.deviceCategory                                17083 non-null object\ndevice.flashVersion                                  17083 non-null object\ndevice.isMobile                                      17083 non-null bool\ndevice.language                                      17083 non-null object\ndevice.mobileDeviceBranding                          17083 non-null object\ndevice.mobileDeviceInfo                              17083 non-null object\ndevice.mobileDeviceMarketingName                     17083 non-null object\ndevice.mobileDeviceModel                             17083 non-null object\ndevice.mobileInputSelector                           17083 non-null object\ndevice.operatingSystem                               17083 non-null object\ndevice.operatingSystemVersion                        17083 non-null object\ndevice.screenColors                                  17083 non-null object\ndevice.screenResolution                              17083 non-null object\ngeoNetwork.city                                      17083 non-null object\ngeoNetwork.cityId                                    17083 non-null object\ngeoNetwork.continent                                 17083 non-null object\ngeoNetwork.country                                   17083 non-null object\ngeoNetwork.latitude                                  17083 non-null object\ngeoNetwork.longitude                                 17083 non-null object\ngeoNetwork.metro                                     17083 non-null object\ngeoNetwork.networkDomain                             17083 non-null object\ngeoNetwork.networkLocation                           17083 non-null object\ngeoNetwork.region                                    17083 non-null object\ngeoNetwork.subContinent                              17083 non-null object\ntotals.bounces                                       8793 non-null object\ntotals.hits                                          17083 non-null object\ntotals.newVisits                                     13110 non-null object\ntotals.pageviews                                     17079 non-null object\ntotals.sessionQualityDim                             8774 non-null object\ntotals.timeOnSite                                    8254 non-null object\ntotals.totalTransactionRevenue                       153 non-null object\ntotals.transactionRevenue                            153 non-null object\ntotals.transactions                                  154 non-null object\ntotals.visits                                        17083 non-null object\ntrafficSource.adContent                              646 non-null object\ntrafficSource.adwordsClickInfo.adNetworkType         750 non-null object\ntrafficSource.adwordsClickInfo.criteriaParameters    17083 non-null object\ntrafficSource.adwordsClickInfo.gclId                 751 non-null object\ntrafficSource.adwordsClickInfo.isVideoAd             750 non-null object\ntrafficSource.adwordsClickInfo.page                  750 non-null object\ntrafficSource.adwordsClickInfo.slot                  750 non-null object\ntrafficSource.campaign                               17083 non-null object\ntrafficSource.isTrueDirect                           5415 non-null object\ntrafficSource.keyword                                6541 non-null object\ntrafficSource.medium                                 17083 non-null object\ntrafficSource.referralPath                           5623 non-null object\ntrafficSource.source                                 17083 non-null object\ndtypes: bool(1), int64(4), object(54)\nmemory usage: 7.6+ MB\n","name":"stdout"}]},{"metadata":{"_uuid":"fd8d9837f0a332d34c3e06252ea9372bf8b8c71d","trusted":true},"cell_type":"code","source":"print(testingData.shape)\ntestingData.head()","execution_count":45,"outputs":[{"output_type":"stream","text":"(4015, 59)\n","name":"stdout"},{"output_type":"execute_result","execution_count":45,"data":{"text/plain":"  channelGrouping         ...          trafficSource.source\n0        Referral         ...                      (direct)\n1        Referral         ...                      (direct)\n2  Organic Search         ...                        google\n3  Organic Search         ...                        google\n4          Direct         ...                      (direct)\n\n[5 rows x 59 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>customDimensions</th>\n      <th>date</th>\n      <th>fullVisitorId</th>\n      <th>hits</th>\n      <th>socialEngagementType</th>\n      <th>visitId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n      <th>device.browser</th>\n      <th>device.browserSize</th>\n      <th>device.browserVersion</th>\n      <th>device.deviceCategory</th>\n      <th>device.flashVersion</th>\n      <th>device.isMobile</th>\n      <th>device.language</th>\n      <th>device.mobileDeviceBranding</th>\n      <th>device.mobileDeviceInfo</th>\n      <th>device.mobileDeviceMarketingName</th>\n      <th>device.mobileDeviceModel</th>\n      <th>device.mobileInputSelector</th>\n      <th>device.operatingSystem</th>\n      <th>device.operatingSystemVersion</th>\n      <th>device.screenColors</th>\n      <th>device.screenResolution</th>\n      <th>geoNetwork.city</th>\n      <th>geoNetwork.cityId</th>\n      <th>geoNetwork.continent</th>\n      <th>geoNetwork.country</th>\n      <th>geoNetwork.latitude</th>\n      <th>geoNetwork.longitude</th>\n      <th>geoNetwork.metro</th>\n      <th>geoNetwork.networkDomain</th>\n      <th>geoNetwork.networkLocation</th>\n      <th>geoNetwork.region</th>\n      <th>geoNetwork.subContinent</th>\n      <th>totals.bounces</th>\n      <th>totals.hits</th>\n      <th>totals.newVisits</th>\n      <th>totals.pageviews</th>\n      <th>totals.sessionQualityDim</th>\n      <th>totals.timeOnSite</th>\n      <th>totals.totalTransactionRevenue</th>\n      <th>totals.transactionRevenue</th>\n      <th>totals.transactions</th>\n      <th>totals.visits</th>\n      <th>trafficSource.adContent</th>\n      <th>trafficSource.adwordsClickInfo.adNetworkType</th>\n      <th>trafficSource.adwordsClickInfo.criteriaParameters</th>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n      <th>trafficSource.adwordsClickInfo.page</th>\n      <th>trafficSource.adwordsClickInfo.slot</th>\n      <th>trafficSource.campaign</th>\n      <th>trafficSource.isTrueDirect</th>\n      <th>trafficSource.keyword</th>\n      <th>trafficSource.medium</th>\n      <th>trafficSource.referralPath</th>\n      <th>trafficSource.source</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Referral</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20180511</td>\n      <td>5299820794845174508</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '18',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1526087937</td>\n      <td>2</td>\n      <td>1526087937</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Linux</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Kirkland</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Seattle-Tacoma WA</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>Washington</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>5</td>\n      <td>NaN</td>\n      <td>3</td>\n      <td>1</td>\n      <td>28</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(none)</td>\n      <td>/</td>\n      <td>(direct)</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Referral</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20180511</td>\n      <td>3326540121689239742</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '12',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1526068491</td>\n      <td>1</td>\n      <td>1526068491</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Linux</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Ann Arbor</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Detroit MI</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>Michigan</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>5</td>\n      <td>1</td>\n      <td>4</td>\n      <td>1</td>\n      <td>42</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(none)</td>\n      <td>/</td>\n      <td>(direct)</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20180511</td>\n      <td>0121413971533176085</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '21',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1526097868</td>\n      <td>1</td>\n      <td>1526097868</td>\n      <td>Safari</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>mobile</td>\n      <td>not available in demo dataset</td>\n      <td>True</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>iOS</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Fremont</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Francisco-Oakland-San Jose CA</td>\n      <td>comcast.net</td>\n      <td>not available in demo dataset</td>\n      <td>California</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>6</td>\n      <td>1</td>\n      <td>4</td>\n      <td>1</td>\n      <td>60</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>(not provided)</td>\n      <td>organic</td>\n      <td>(not set)</td>\n      <td>google</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20180511</td>\n      <td>8816603995507550690</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '15',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1526077583</td>\n      <td>2</td>\n      <td>1526077583</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Chrome OS</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Jose</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Francisco-Oakland-San Jose CA</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>California</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>6</td>\n      <td>NaN</td>\n      <td>5</td>\n      <td>8</td>\n      <td>258</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>True</td>\n      <td>NaN</td>\n      <td>organic</td>\n      <td>(not set)</td>\n      <td>google</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Direct</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20180511</td>\n      <td>6216204101074901430</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '7', ...</td>\n      <td>Not Socially Engaged</td>\n      <td>1526049571</td>\n      <td>1</td>\n      <td>1526049571</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Macintosh</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Jose</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Francisco-Oakland-San Jose CA</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>California</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>14</td>\n      <td>1</td>\n      <td>12</td>\n      <td>52</td>\n      <td>387</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>True</td>\n      <td>(not set)</td>\n      <td>(none)</td>\n      <td>(not set)</td>\n      <td>(direct)</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"2.3\"></a>\n### Exploratory Analysis\n"},{"metadata":{},"cell_type":"markdown","source":"#### Constant Columns & Missing Values Analysis\n\nAfter loading in the random 1% sample of the training and testing data, the team explored the data and determined the number of columns with constant values and performed a missing values analysis on the two dataframes with the missing_values function. This analysis determined that both the training and testing datasets had a large number of columns with constant values and a large amount of missing values. These will be discussed further in the analysis of the Feature Engineering function."},{"metadata":{"trusted":true},"cell_type":"code","source":"# Determine the number of columns in dataset with constant values \ncolumns_constant = [i for i in trainingData.columns if trainingData[i].nunique(dropna=False)==1 ]\ncolumns_constant","execution_count":46,"outputs":[{"output_type":"execute_result","execution_count":46,"data":{"text/plain":"['socialEngagementType',\n 'device.browserSize',\n 'device.browserVersion',\n 'device.flashVersion',\n 'device.language',\n 'device.mobileDeviceBranding',\n 'device.mobileDeviceInfo',\n 'device.mobileDeviceMarketingName',\n 'device.mobileDeviceModel',\n 'device.mobileInputSelector',\n 'device.operatingSystemVersion',\n 'device.screenColors',\n 'device.screenResolution',\n 'geoNetwork.cityId',\n 'geoNetwork.latitude',\n 'geoNetwork.longitude',\n 'geoNetwork.networkLocation',\n 'totals.visits',\n 'trafficSource.adwordsClickInfo.criteriaParameters']"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Analyze the missing values in the dataset \ndef missing_values(data):\n    'Input: Dataframe, Output: Dataframe. Function analyzes the missing values in a dataframe and returns the percentage missing.'\n    #Count up all the null values \n    missing = data.isnull().sum().sort_values(ascending = False) \n    # Get Count of total values  \n    Count= data.count().sort_values(ascending=False)\n    #Express Missing values as a percent of total values \n    Percent = (missing/(Count+missing)*100).sort_values(ascending=False)\n    df = pd.concat([missing, Count, Percent], axis=1, keys=['Missing', 'Count', 'Percent'])\n    print (df[~(df['Percent'] == 0)]) # Returning values of nulls different of 0    \n    return df","execution_count":47,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"missing_values(trainingData)","execution_count":48,"outputs":[{"output_type":"stream","text":"                                              Missing    ...        Percent\ntotals.bounces                                   8290    ...      48.527776\ntotals.newVisits                                 3973    ...      23.257039\ntotals.pageviews                                    4    ...       0.023415\ntotals.sessionQualityDim                         8309    ...      48.638998\ntotals.timeOnSite                                8829    ...      51.682960\ntotals.totalTransactionRevenue                  16930    ...      99.104373\ntotals.transactionRevenue                       16930    ...      99.104373\ntotals.transactions                             16929    ...      99.098519\ntrafficSource.adContent                         16437    ...      96.218463\ntrafficSource.adwordsClickInfo.adNetworkType    16333    ...      95.609670\ntrafficSource.adwordsClickInfo.gclId            16332    ...      95.603817\ntrafficSource.adwordsClickInfo.isVideoAd        16333    ...      95.609670\ntrafficSource.adwordsClickInfo.page             16333    ...      95.609670\ntrafficSource.adwordsClickInfo.slot             16333    ...      95.609670\ntrafficSource.isTrueDirect                      11668    ...      68.301821\ntrafficSource.keyword                           10542    ...      61.710472\ntrafficSource.referralPath                      11460    ...      67.084236\n\n[17 rows x 3 columns]\n","name":"stdout"},{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:10: FutureWarning:\n\nSorting because non-concatenation axis is not aligned. A future version\nof pandas will change to not sort by default.\n\nTo accept the future behavior, pass 'sort=False'.\n\nTo retain the current behavior and silence the warning, pass 'sort=True'.\n\n\n","name":"stderr"},{"output_type":"execute_result","execution_count":48,"data":{"text/plain":"                                                   Missing    ...        Percent\nchannelGrouping                                          0    ...       0.000000\ncustomDimensions                                         0    ...       0.000000\ndate                                                     0    ...       0.000000\ndevice.browser                                           0    ...       0.000000\ndevice.browserSize                                       0    ...       0.000000\ndevice.browserVersion                                    0    ...       0.000000\ndevice.deviceCategory                                    0    ...       0.000000\ndevice.flashVersion                                      0    ...       0.000000\ndevice.isMobile                                          0    ...       0.000000\ndevice.language                                          0    ...       0.000000\ndevice.mobileDeviceBranding                              0    ...       0.000000\ndevice.mobileDeviceInfo                                  0    ...       0.000000\ndevice.mobileDeviceMarketingName                         0    ...       0.000000\ndevice.mobileDeviceModel                                 0    ...       0.000000\ndevice.mobileInputSelector                               0    ...       0.000000\ndevice.operatingSystem                                   0    ...       0.000000\ndevice.operatingSystemVersion                            0    ...       0.000000\ndevice.screenColors                                      0    ...       0.000000\ndevice.screenResolution                                  0    ...       0.000000\nfullVisitorId                                            0    ...       0.000000\ngeoNetwork.city                                          0    ...       0.000000\ngeoNetwork.cityId                                        0    ...       0.000000\ngeoNetwork.continent                                     0    ...       0.000000\ngeoNetwork.country                                       0    ...       0.000000\ngeoNetwork.latitude                                      0    ...       0.000000\ngeoNetwork.longitude                                     0    ...       0.000000\ngeoNetwork.metro                                         0    ...       0.000000\ngeoNetwork.networkDomain                                 0    ...       0.000000\ngeoNetwork.networkLocation                               0    ...       0.000000\ngeoNetwork.region                                        0    ...       0.000000\ngeoNetwork.subContinent                                  0    ...       0.000000\nhits                                                     0    ...       0.000000\nsocialEngagementType                                     0    ...       0.000000\ntotals.bounces                                        8290    ...      48.527776\ntotals.hits                                              0    ...       0.000000\ntotals.newVisits                                      3973    ...      23.257039\ntotals.pageviews                                         4    ...       0.023415\ntotals.sessionQualityDim                              8309    ...      48.638998\ntotals.timeOnSite                                     8829    ...      51.682960\ntotals.totalTransactionRevenue                       16930    ...      99.104373\ntotals.transactionRevenue                            16930    ...      99.104373\ntotals.transactions                                  16929    ...      99.098519\ntotals.visits                                            0    ...       0.000000\ntrafficSource.adContent                              16437    ...      96.218463\ntrafficSource.adwordsClickInfo.adNetworkType         16333    ...      95.609670\ntrafficSource.adwordsClickInfo.criteriaParameters        0    ...       0.000000\ntrafficSource.adwordsClickInfo.gclId                 16332    ...      95.603817\ntrafficSource.adwordsClickInfo.isVideoAd             16333    ...      95.609670\ntrafficSource.adwordsClickInfo.page                  16333    ...      95.609670\ntrafficSource.adwordsClickInfo.slot                  16333    ...      95.609670\ntrafficSource.campaign                                   0    ...       0.000000\ntrafficSource.isTrueDirect                           11668    ...      68.301821\ntrafficSource.keyword                                10542    ...      61.710472\ntrafficSource.medium                                     0    ...       0.000000\ntrafficSource.referralPath                           11460    ...      67.084236\ntrafficSource.source                                     0    ...       0.000000\nvisitId                                                  0    ...       0.000000\nvisitNumber                                              0    ...       0.000000\nvisitStartTime                                           0    ...       0.000000\n\n[59 rows x 3 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Missing</th>\n      <th>Count</th>\n      <th>Percent</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>channelGrouping</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>customDimensions</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>date</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browser</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browserSize</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browserVersion</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.deviceCategory</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.flashVersion</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.isMobile</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.language</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceBranding</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceInfo</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceMarketingName</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceModel</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileInputSelector</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.operatingSystem</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.operatingSystemVersion</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.screenColors</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.screenResolution</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>fullVisitorId</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.city</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.cityId</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.continent</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.country</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.latitude</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.longitude</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.metro</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.networkDomain</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.networkLocation</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.region</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.subContinent</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>hits</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>socialEngagementType</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>totals.bounces</th>\n      <td>8290</td>\n      <td>8793</td>\n      <td>48.527776</td>\n    </tr>\n    <tr>\n      <th>totals.hits</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>totals.newVisits</th>\n      <td>3973</td>\n      <td>13110</td>\n      <td>23.257039</td>\n    </tr>\n    <tr>\n      <th>totals.pageviews</th>\n      <td>4</td>\n      <td>17079</td>\n      <td>0.023415</td>\n    </tr>\n    <tr>\n      <th>totals.sessionQualityDim</th>\n      <td>8309</td>\n      <td>8774</td>\n      <td>48.638998</td>\n    </tr>\n    <tr>\n      <th>totals.timeOnSite</th>\n      <td>8829</td>\n      <td>8254</td>\n      <td>51.682960</td>\n    </tr>\n    <tr>\n      <th>totals.totalTransactionRevenue</th>\n      <td>16930</td>\n      <td>153</td>\n      <td>99.104373</td>\n    </tr>\n    <tr>\n      <th>totals.transactionRevenue</th>\n      <td>16930</td>\n      <td>153</td>\n      <td>99.104373</td>\n    </tr>\n    <tr>\n      <th>totals.transactions</th>\n      <td>16929</td>\n      <td>154</td>\n      <td>99.098519</td>\n    </tr>\n    <tr>\n      <th>totals.visits</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adContent</th>\n      <td>16437</td>\n      <td>646</td>\n      <td>96.218463</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.adNetworkType</th>\n      <td>16333</td>\n      <td>750</td>\n      <td>95.609670</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.criteriaParameters</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <td>16332</td>\n      <td>751</td>\n      <td>95.603817</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n      <td>16333</td>\n      <td>750</td>\n      <td>95.609670</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.page</th>\n      <td>16333</td>\n      <td>750</td>\n      <td>95.609670</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.slot</th>\n      <td>16333</td>\n      <td>750</td>\n      <td>95.609670</td>\n    </tr>\n    <tr>\n      <th>trafficSource.campaign</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.isTrueDirect</th>\n      <td>11668</td>\n      <td>5415</td>\n      <td>68.301821</td>\n    </tr>\n    <tr>\n      <th>trafficSource.keyword</th>\n      <td>10542</td>\n      <td>6541</td>\n      <td>61.710472</td>\n    </tr>\n    <tr>\n      <th>trafficSource.medium</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.referralPath</th>\n      <td>11460</td>\n      <td>5623</td>\n      <td>67.084236</td>\n    </tr>\n    <tr>\n      <th>trafficSource.source</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitId</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitNumber</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitStartTime</th>\n      <td>0</td>\n      <td>17083</td>\n      <td>0.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"missing_values(testingData)","execution_count":49,"outputs":[{"output_type":"stream","text":"                                              Missing    ...        Percent\ntotals.bounces                                   2177    ...      54.221669\ntotals.newVisits                                 1134    ...      28.244085\ntotals.pageviews                                    2    ...       0.049813\ntotals.timeOnSite                                1853    ...      46.151930\ntotals.totalTransactionRevenue                   3960    ...      98.630137\ntotals.transactionRevenue                        3960    ...      98.630137\ntotals.transactions                              3941    ...      98.156912\ntrafficSource.adwordsClickInfo.adNetworkType     3908    ...      97.334994\ntrafficSource.adwordsClickInfo.gclId             3908    ...      97.334994\ntrafficSource.adwordsClickInfo.isVideoAd         3908    ...      97.334994\ntrafficSource.adwordsClickInfo.page              3908    ...      97.334994\ntrafficSource.adwordsClickInfo.slot              3908    ...      97.334994\ntrafficSource.isTrueDirect                       2546    ...      63.412204\ntrafficSource.keyword                             400    ...       9.962640\n\n[14 rows x 3 columns]\n","name":"stdout"},{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:10: FutureWarning:\n\nSorting because non-concatenation axis is not aligned. A future version\nof pandas will change to not sort by default.\n\nTo accept the future behavior, pass 'sort=False'.\n\nTo retain the current behavior and silence the warning, pass 'sort=True'.\n\n\n","name":"stderr"},{"output_type":"execute_result","execution_count":49,"data":{"text/plain":"                                                   Missing    ...        Percent\nchannelGrouping                                          0    ...       0.000000\ncustomDimensions                                         0    ...       0.000000\ndate                                                     0    ...       0.000000\ndevice.browser                                           0    ...       0.000000\ndevice.browserSize                                       0    ...       0.000000\ndevice.browserVersion                                    0    ...       0.000000\ndevice.deviceCategory                                    0    ...       0.000000\ndevice.flashVersion                                      0    ...       0.000000\ndevice.isMobile                                          0    ...       0.000000\ndevice.language                                          0    ...       0.000000\ndevice.mobileDeviceBranding                              0    ...       0.000000\ndevice.mobileDeviceInfo                                  0    ...       0.000000\ndevice.mobileDeviceMarketingName                         0    ...       0.000000\ndevice.mobileDeviceModel                                 0    ...       0.000000\ndevice.mobileInputSelector                               0    ...       0.000000\ndevice.operatingSystem                                   0    ...       0.000000\ndevice.operatingSystemVersion                            0    ...       0.000000\ndevice.screenColors                                      0    ...       0.000000\ndevice.screenResolution                                  0    ...       0.000000\nfullVisitorId                                            0    ...       0.000000\ngeoNetwork.city                                          0    ...       0.000000\ngeoNetwork.cityId                                        0    ...       0.000000\ngeoNetwork.continent                                     0    ...       0.000000\ngeoNetwork.country                                       0    ...       0.000000\ngeoNetwork.latitude                                      0    ...       0.000000\ngeoNetwork.longitude                                     0    ...       0.000000\ngeoNetwork.metro                                         0    ...       0.000000\ngeoNetwork.networkDomain                                 0    ...       0.000000\ngeoNetwork.networkLocation                               0    ...       0.000000\ngeoNetwork.region                                        0    ...       0.000000\ngeoNetwork.subContinent                                  0    ...       0.000000\nhits                                                     0    ...       0.000000\nsocialEngagementType                                     0    ...       0.000000\ntotals.bounces                                        2177    ...      54.221669\ntotals.hits                                              0    ...       0.000000\ntotals.newVisits                                      1134    ...      28.244085\ntotals.pageviews                                         2    ...       0.049813\ntotals.sessionQualityDim                                 0    ...       0.000000\ntotals.timeOnSite                                     1853    ...      46.151930\ntotals.totalTransactionRevenue                        3960    ...      98.630137\ntotals.transactionRevenue                             3960    ...      98.630137\ntotals.transactions                                   3941    ...      98.156912\ntotals.visits                                            0    ...       0.000000\ntrafficSource.adContent                                  0    ...       0.000000\ntrafficSource.adwordsClickInfo.adNetworkType          3908    ...      97.334994\ntrafficSource.adwordsClickInfo.criteriaParameters        0    ...       0.000000\ntrafficSource.adwordsClickInfo.gclId                  3908    ...      97.334994\ntrafficSource.adwordsClickInfo.isVideoAd              3908    ...      97.334994\ntrafficSource.adwordsClickInfo.page                   3908    ...      97.334994\ntrafficSource.adwordsClickInfo.slot                   3908    ...      97.334994\ntrafficSource.campaign                                   0    ...       0.000000\ntrafficSource.isTrueDirect                            2546    ...      63.412204\ntrafficSource.keyword                                  400    ...       9.962640\ntrafficSource.medium                                     0    ...       0.000000\ntrafficSource.referralPath                               0    ...       0.000000\ntrafficSource.source                                     0    ...       0.000000\nvisitId                                                  0    ...       0.000000\nvisitNumber                                              0    ...       0.000000\nvisitStartTime                                           0    ...       0.000000\n\n[59 rows x 3 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Missing</th>\n      <th>Count</th>\n      <th>Percent</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>channelGrouping</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>customDimensions</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>date</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browser</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browserSize</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.browserVersion</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.deviceCategory</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.flashVersion</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.isMobile</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.language</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceBranding</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceInfo</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceMarketingName</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileDeviceModel</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.mobileInputSelector</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.operatingSystem</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.operatingSystemVersion</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.screenColors</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>device.screenResolution</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>fullVisitorId</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.city</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.cityId</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.continent</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.country</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.latitude</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.longitude</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.metro</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.networkDomain</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.networkLocation</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.region</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>geoNetwork.subContinent</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>hits</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>socialEngagementType</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>totals.bounces</th>\n      <td>2177</td>\n      <td>1838</td>\n      <td>54.221669</td>\n    </tr>\n    <tr>\n      <th>totals.hits</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>totals.newVisits</th>\n      <td>1134</td>\n      <td>2881</td>\n      <td>28.244085</td>\n    </tr>\n    <tr>\n      <th>totals.pageviews</th>\n      <td>2</td>\n      <td>4013</td>\n      <td>0.049813</td>\n    </tr>\n    <tr>\n      <th>totals.sessionQualityDim</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>totals.timeOnSite</th>\n      <td>1853</td>\n      <td>2162</td>\n      <td>46.151930</td>\n    </tr>\n    <tr>\n      <th>totals.totalTransactionRevenue</th>\n      <td>3960</td>\n      <td>55</td>\n      <td>98.630137</td>\n    </tr>\n    <tr>\n      <th>totals.transactionRevenue</th>\n      <td>3960</td>\n      <td>55</td>\n      <td>98.630137</td>\n    </tr>\n    <tr>\n      <th>totals.transactions</th>\n      <td>3941</td>\n      <td>74</td>\n      <td>98.156912</td>\n    </tr>\n    <tr>\n      <th>totals.visits</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adContent</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.adNetworkType</th>\n      <td>3908</td>\n      <td>107</td>\n      <td>97.334994</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.criteriaParameters</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <td>3908</td>\n      <td>107</td>\n      <td>97.334994</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n      <td>3908</td>\n      <td>107</td>\n      <td>97.334994</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.page</th>\n      <td>3908</td>\n      <td>107</td>\n      <td>97.334994</td>\n    </tr>\n    <tr>\n      <th>trafficSource.adwordsClickInfo.slot</th>\n      <td>3908</td>\n      <td>107</td>\n      <td>97.334994</td>\n    </tr>\n    <tr>\n      <th>trafficSource.campaign</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.isTrueDirect</th>\n      <td>2546</td>\n      <td>1469</td>\n      <td>63.412204</td>\n    </tr>\n    <tr>\n      <th>trafficSource.keyword</th>\n      <td>400</td>\n      <td>3615</td>\n      <td>9.962640</td>\n    </tr>\n    <tr>\n      <th>trafficSource.medium</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.referralPath</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>trafficSource.source</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitId</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitNumber</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n    <tr>\n      <th>visitStartTime</th>\n      <td>0</td>\n      <td>4015</td>\n      <td>0.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"#### Trend Analysis\n\nThe features were plotted to gain a visual understanding of where the trends lied with respect to customer revenue. This provides a basis to understand the features prior to modelling. Each set of visualizations explores a particular set of the features (location, date, device, user experience). The plots show interesting findings for each category of features. \n\nDate - Visits and revenue peak just before the new year\n\nLocation - American customers are the most profitable\n\nDevice - The majority of paying customers access the website using their desktop via Chrome\n\nUser experience - As can be expected, higher session quality and increased page visits correlate to higher revenue per customer\n\nThey were plotted in sets of increasingly detailed columns (i.e. continent, subcontinent, network).\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"datavis = trainingData.copy()\ndatavis.head()","execution_count":50,"outputs":[{"output_type":"execute_result","execution_count":50,"data":{"text/plain":"  channelGrouping         ...          trafficSource.source\n0          Direct         ...                      (direct)\n1  Organic Search         ...                        google\n2      Affiliates         ...                      Partners\n3  Organic Search         ...                          bing\n4  Organic Search         ...                        google\n\n[5 rows x 59 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>customDimensions</th>\n      <th>date</th>\n      <th>fullVisitorId</th>\n      <th>hits</th>\n      <th>socialEngagementType</th>\n      <th>visitId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n      <th>device.browser</th>\n      <th>device.browserSize</th>\n      <th>device.browserVersion</th>\n      <th>device.deviceCategory</th>\n      <th>device.flashVersion</th>\n      <th>device.isMobile</th>\n      <th>device.language</th>\n      <th>device.mobileDeviceBranding</th>\n      <th>device.mobileDeviceInfo</th>\n      <th>device.mobileDeviceMarketingName</th>\n      <th>device.mobileDeviceModel</th>\n      <th>device.mobileInputSelector</th>\n      <th>device.operatingSystem</th>\n      <th>device.operatingSystemVersion</th>\n      <th>device.screenColors</th>\n      <th>device.screenResolution</th>\n      <th>geoNetwork.city</th>\n      <th>geoNetwork.cityId</th>\n      <th>geoNetwork.continent</th>\n      <th>geoNetwork.country</th>\n      <th>geoNetwork.latitude</th>\n      <th>geoNetwork.longitude</th>\n      <th>geoNetwork.metro</th>\n      <th>geoNetwork.networkDomain</th>\n      <th>geoNetwork.networkLocation</th>\n      <th>geoNetwork.region</th>\n      <th>geoNetwork.subContinent</th>\n      <th>totals.bounces</th>\n      <th>totals.hits</th>\n      <th>totals.newVisits</th>\n      <th>totals.pageviews</th>\n      <th>totals.sessionQualityDim</th>\n      <th>totals.timeOnSite</th>\n      <th>totals.totalTransactionRevenue</th>\n      <th>totals.transactionRevenue</th>\n      <th>totals.transactions</th>\n      <th>totals.visits</th>\n      <th>trafficSource.adContent</th>\n      <th>trafficSource.adwordsClickInfo.adNetworkType</th>\n      <th>trafficSource.adwordsClickInfo.criteriaParameters</th>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n      <th>trafficSource.adwordsClickInfo.page</th>\n      <th>trafficSource.adwordsClickInfo.slot</th>\n      <th>trafficSource.campaign</th>\n      <th>trafficSource.isTrueDirect</th>\n      <th>trafficSource.keyword</th>\n      <th>trafficSource.medium</th>\n      <th>trafficSource.referralPath</th>\n      <th>trafficSource.source</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Direct</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>4447569759370230345</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '18',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508203279</td>\n      <td>1</td>\n      <td>1508203279</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>mobile</td>\n      <td>not available in demo dataset</td>\n      <td>True</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Android</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>psu.edu</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>4</td>\n      <td>1</td>\n      <td>4</td>\n      <td>1</td>\n      <td>66</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>True</td>\n      <td>NaN</td>\n      <td>(none)</td>\n      <td>NaN</td>\n      <td>(direct)</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>8449727979333841797</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '15',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508192597</td>\n      <td>1</td>\n      <td>1508192597</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Linux</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Sunnyvale</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>San Francisco-Oakland-San Jose CA</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>California</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>6</td>\n      <td>1</td>\n      <td>6</td>\n      <td>2</td>\n      <td>40</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>(not provided)</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>google</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Affiliates</td>\n      <td>[{'index': '4', 'value': 'EMEA'}]</td>\n      <td>20171016</td>\n      <td>0258560966793548223</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '7', ...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508163755</td>\n      <td>1</td>\n      <td>1508163755</td>\n      <td>Internet Explorer</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Windows</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Europe</td>\n      <td>Netherlands</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>kpn.net</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Western Europe</td>\n      <td>NaN</td>\n      <td>7</td>\n      <td>1</td>\n      <td>7</td>\n      <td>1</td>\n      <td>243</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>Data Share Promo</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>affiliate</td>\n      <td>NaN</td>\n      <td>Partners</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'Central America'}]</td>\n      <td>20171016</td>\n      <td>2120129608233101123</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '11',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508177261</td>\n      <td>1</td>\n      <td>1508177261</td>\n      <td>Internet Explorer</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Windows</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>Mexico</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>unknown.unknown</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Central America</td>\n      <td>NaN</td>\n      <td>8</td>\n      <td>1</td>\n      <td>8</td>\n      <td>1</td>\n      <td>111</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>google online merchandise</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>bing</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Organic Search</td>\n      <td>[{'index': '4', 'value': 'North America'}]</td>\n      <td>20171016</td>\n      <td>3848523864758719206</td>\n      <td>[{'hitNumber': '1', 'time': '0', 'hour': '14',...</td>\n      <td>Not Socially Engaged</td>\n      <td>1508188995</td>\n      <td>1</td>\n      <td>1508188995</td>\n      <td>Chrome</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>desktop</td>\n      <td>not available in demo dataset</td>\n      <td>False</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Chrome OS</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Americas</td>\n      <td>United States</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>(not set)</td>\n      <td>not available in demo dataset</td>\n      <td>not available in demo dataset</td>\n      <td>Northern America</td>\n      <td>NaN</td>\n      <td>9</td>\n      <td>1</td>\n      <td>7</td>\n      <td>6</td>\n      <td>250</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>1</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>not available in demo dataset</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>(not set)</td>\n      <td>NaN</td>\n      <td>(not provided)</td>\n      <td>organic</td>\n      <td>NaN</td>\n      <td>google</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"datavis.info()","execution_count":51,"outputs":[{"output_type":"stream","text":"<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 17083 entries, 0 to 17082\nData columns (total 59 columns):\nchannelGrouping                                      17083 non-null object\ncustomDimensions                                     17083 non-null object\ndate                                                 17083 non-null int64\nfullVisitorId                                        17083 non-null object\nhits                                                 17083 non-null object\nsocialEngagementType                                 17083 non-null object\nvisitId                                              17083 non-null int64\nvisitNumber                                          17083 non-null int64\nvisitStartTime                                       17083 non-null int64\ndevice.browser                                       17083 non-null object\ndevice.browserSize                                   17083 non-null object\ndevice.browserVersion                                17083 non-null object\ndevice.deviceCategory                                17083 non-null object\ndevice.flashVersion                                  17083 non-null object\ndevice.isMobile                                      17083 non-null bool\ndevice.language                                      17083 non-null object\ndevice.mobileDeviceBranding                          17083 non-null object\ndevice.mobileDeviceInfo                              17083 non-null object\ndevice.mobileDeviceMarketingName                     17083 non-null object\ndevice.mobileDeviceModel                             17083 non-null object\ndevice.mobileInputSelector                           17083 non-null object\ndevice.operatingSystem                               17083 non-null object\ndevice.operatingSystemVersion                        17083 non-null object\ndevice.screenColors                                  17083 non-null object\ndevice.screenResolution                              17083 non-null object\ngeoNetwork.city                                      17083 non-null object\ngeoNetwork.cityId                                    17083 non-null object\ngeoNetwork.continent                                 17083 non-null object\ngeoNetwork.country                                   17083 non-null object\ngeoNetwork.latitude                                  17083 non-null object\ngeoNetwork.longitude                                 17083 non-null object\ngeoNetwork.metro                                     17083 non-null object\ngeoNetwork.networkDomain                             17083 non-null object\ngeoNetwork.networkLocation                           17083 non-null object\ngeoNetwork.region                                    17083 non-null object\ngeoNetwork.subContinent                              17083 non-null object\ntotals.bounces                                       8793 non-null object\ntotals.hits                                          17083 non-null object\ntotals.newVisits                                     13110 non-null object\ntotals.pageviews                                     17079 non-null object\ntotals.sessionQualityDim                             8774 non-null object\ntotals.timeOnSite                                    8254 non-null object\ntotals.totalTransactionRevenue                       153 non-null object\ntotals.transactionRevenue                            153 non-null object\ntotals.transactions                                  154 non-null object\ntotals.visits                                        17083 non-null object\ntrafficSource.adContent                              646 non-null object\ntrafficSource.adwordsClickInfo.adNetworkType         750 non-null object\ntrafficSource.adwordsClickInfo.criteriaParameters    17083 non-null object\ntrafficSource.adwordsClickInfo.gclId                 751 non-null object\ntrafficSource.adwordsClickInfo.isVideoAd             750 non-null object\ntrafficSource.adwordsClickInfo.page                  750 non-null object\ntrafficSource.adwordsClickInfo.slot                  750 non-null object\ntrafficSource.campaign                               17083 non-null object\ntrafficSource.isTrueDirect                           5415 non-null object\ntrafficSource.keyword                                6541 non-null object\ntrafficSource.medium                                 17083 non-null object\ntrafficSource.referralPath                           5623 non-null object\ntrafficSource.source                                 17083 non-null object\ndtypes: bool(1), int64(4), object(54)\nmemory usage: 7.6+ MB\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"datavis[\"totals.transactionRevenue\"] = datavis[\"totals.transactionRevenue\"].astype('float')\ngdf = datavis.groupby(\"fullVisitorId\")[\"totals.transactionRevenue\"].sum().reset_index()\n\nplt.figure(figsize=(8,6))\nplt.scatter(range(gdf.shape[0]), np.sort(np.log1p(gdf[\"totals.transactionRevenue\"].values)))\nplt.xlabel('index', fontsize=12)\nplt.ylabel('TransactionRevenue', fontsize=12)\nplt.show()","execution_count":52,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 576x432 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"nzi = pd.notnull(datavis[\"totals.transactionRevenue\"]).sum()\npaying = (gdf[\"totals.transactionRevenue\"]>0).sum()\nprint(\"There are\",paying,\"paying customers\")\nimport plotly.plotly as py\nimport plotly.graph_objs as go\nfrom plotly import tools\nprint(\"Percentage of customers that generate revenue is\",round(paying*100 / gdf.shape[0],2),\"%\")","execution_count":53,"outputs":[{"output_type":"stream","text":"There are 152 paying customers\nPercentage of customers that generate revenue is 0.9 %\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"def scatter_plot(cnt_srs, color):\n    trace = go.Scatter(\n        x=cnt_srs.index[::-1],\n        y=cnt_srs.values[::-1],\n        showlegend=False,\n        marker=dict(\n            color=color,\n        ),\n    )\n    return trace\ndatavis['date'] = datavis['date'].apply(lambda x: dt.date(int(str(x)[:4]), int(str(x)[4:6]), int(str(x)[6:])))\ncnt_srs = datavis.groupby('date')['totals.transactionRevenue'].agg(['size', 'count'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\"]\ncnt_srs = cnt_srs.sort_index()\ncnt_srs.index = cnt_srs.index.astype('str')\ntrace1 = scatter_plot(cnt_srs[\"count\"], 'red')\ntrace2 = scatter_plot(cnt_srs[\"count of non-zero revenue\"], 'blue')\n\nfig = tools.make_subplots(rows=2, cols=1, vertical_spacing=0.08,\n                          subplot_titles=[\"Date - Visitors\", \"Date - Paying Customers\"])\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 2, 1)\nfig['layout'].update(height=800, width=800, paper_bgcolor='rgb(233,233,233)', title=\"Date Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='date-plots')","execution_count":54,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]\n[ (2,1) x2,y2 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"red"},"showlegend":false,"x":["2018-04-30","2018-04-29","2018-04-28","2018-04-27","2018-04-26","2018-04-25","2018-04-24","2018-04-23","2018-04-22","2018-04-21","2018-04-20","2018-04-19","2018-04-18","2018-04-17","2018-04-16","2018-04-15","2018-04-14","2018-04-13","2018-04-12","2018-04-11","2018-04-10","2018-04-09","2018-04-08","2018-04-07","2018-04-06","2018-04-05","2018-04-04","2018-04-03","2018-04-02","2018-04-01","2018-03-31","2018-03-30","2018-03-29","2018-03-28","2018-03-27","2018-03-26","2018-03-25","2018-03-24","2018-03-23","2018-03-22","2018-03-21","2018-03-20","2018-03-19","2018-03-18","2018-03-17","2018-03-16","2018-03-15","2018-03-14","2018-03-13","2018-03-12","2018-03-11","2018-03-10","2018-03-09","2018-03-08","2018-03-07","2018-03-06","2018-03-05","2018-03-04","2018-03-03","2018-03-02","2018-03-01","2018-02-28","2018-02-27","2018-02-26","2018-02-25","2018-02-24","2018-02-23","2018-02-22","2018-02-21","2018-02-20","2018-02-19","2018-02-18","2018-02-17","2018-02-16","2018-02-15","2018-02-14","2018-02-13","2018-02-12","2018-02-11","2018-02-10","2018-02-09","2018-02-08","2018-02-07","2018-02-06","2018-02-05","2018-02-04","2018-02-03","2018-02-02","2018-02-01","2018-01-31","2018-01-30","2018-01-29","2018-01-28","2018-01-27","2018-01-26","2018-01-25","2018-01-24","2018-01-23","2018-01-22","2018-01-21","2018-01-20","2018-01-19","2018-01-18","2018-01-17","2018-01-16","2018-01-15","2018-01-14","2018-01-13","2018-01-12","2018-01-11","2018-01-10","2018-01-09","2018-01-08","2018-01-07","2018-01-06","2018-01-05","2018-01-04","2018-01-03","2018-01-02","2018-01-01","2017-12-31","2017-12-30","2017-12-29","2017-12-28","2017-12-27","2017-12-26","2017-12-25","2017-12-24","2017-12-23","2017-12-22","2017-12-21","2017-12-20","2017-12-19","2017-12-18","2017-12-17","2017-12-16","2017-12-15","2017-12-14","2017-12-13","2017-12-12","2017-12-11","2017-12-10","2017-12-09","2017-12-08","2017-12-07","2017-12-06","2017-12-05","2017-12-04","2017-12-03","2017-12-02","2017-12-01","2017-11-30","2017-11-29","2017-11-28","2017-11-27","2017-11-26","2017-11-25","2017-11-24","2017-11-23","2017-11-22","2017-11-21","2017-11-20","2017-11-19","2017-11-18","2017-11-17","2017-11-16","2017-11-15","2017-11-14","2017-11-13","2017-11-12","2017-11-11","2017-11-10","2017-11-09","2017-11-08","2017-11-07","2017-11-06","2017-11-05","2017-11-04","2017-11-03","2017-11-02","2017-11-01","2017-10-31","2017-10-30","2017-10-29","2017-10-28","2017-10-27","2017-10-26","2017-10-25","2017-10-24","2017-10-23","2017-10-22","2017-10-21","2017-10-20","2017-10-19","2017-10-18","2017-10-17","2017-10-16","2017-10-15","2017-10-14","2017-10-13","2017-10-12","2017-10-11","2017-10-10","2017-10-09","2017-10-08","2017-10-07","2017-10-06","2017-10-05","2017-10-04","2017-10-03","2017-10-02","2017-10-01","2017-09-30","2017-09-29","2017-09-28","2017-09-27","2017-09-26","2017-09-25","2017-09-24","2017-09-23","2017-09-22","2017-09-21","2017-09-20","2017-09-19","2017-09-18","2017-09-17","2017-09-16","2017-09-15","2017-09-14","2017-09-13","2017-09-12","2017-09-11","2017-09-10","2017-09-09","2017-09-08","2017-09-07","2017-09-06","2017-09-05","2017-09-04","2017-09-03","2017-09-02","2017-09-01","2017-08-31","2017-08-30","2017-08-29","2017-08-28","2017-08-27","2017-08-26","2017-08-25","2017-08-24","2017-08-23","2017-08-22","2017-08-21","2017-08-20","2017-08-19","2017-08-18","2017-08-17","2017-08-16","2017-08-15","2017-08-14","2017-08-13","2017-08-12","2017-08-11","2017-08-10","2017-08-09","2017-08-08","2017-08-07","2017-08-06","2017-08-05","2017-08-04","2017-08-03","2017-08-02","2017-08-01","2017-07-31","2017-07-30","2017-07-29","2017-07-28","2017-07-27","2017-07-26","2017-07-25","2017-07-24","2017-07-23","2017-07-22","2017-07-21","2017-07-20","2017-07-19","2017-07-18","2017-07-17","2017-07-16","2017-07-15","2017-07-14","2017-07-13","2017-07-12","2017-07-11","2017-07-10","2017-07-09","2017-07-08","2017-07-07","2017-07-06","2017-07-05","2017-07-04","2017-07-03","2017-07-02","2017-07-01","2017-06-30","2017-06-29","2017-06-28","2017-06-27","2017-06-26","2017-06-25","2017-06-24","2017-06-23","2017-06-22","2017-06-21","2017-06-20","2017-06-19","2017-06-18","2017-06-17","2017-06-16","2017-06-15","2017-06-14","2017-06-13","2017-06-12","2017-06-11","2017-06-10","2017-06-09","2017-06-08","2017-06-07","2017-06-06","2017-06-05","2017-06-04","2017-06-03","2017-06-02","2017-06-01","2017-05-31","2017-05-30","2017-05-29","2017-05-28","2017-05-27","2017-05-26","2017-05-25","2017-05-24","2017-05-23","2017-05-22","2017-05-21","2017-05-20","2017-05-19","2017-05-18","2017-05-17","2017-05-16","2017-05-15","2017-05-14","2017-05-13","2017-05-12","2017-05-11","2017-05-10","2017-05-09","2017-05-08","2017-05-07","2017-05-06","2017-05-05","2017-05-04","2017-05-03","2017-05-02","2017-05-01","2017-04-30","2017-04-29","2017-04-28","2017-04-27","2017-04-26","2017-04-25","2017-04-24","2017-04-23","2017-04-22","2017-04-21","2017-04-20","2017-04-19","2017-04-18","2017-04-17","2017-04-16","2017-04-15","2017-04-14","2017-04-13","2017-04-12","2017-04-11","2017-04-10","2017-04-09","2017-04-08","2017-04-07","2017-04-06","2017-04-05","2017-04-04","2017-04-03","2017-04-02","2017-04-01","2017-03-31","2017-03-30","2017-03-29","2017-03-28","2017-03-27","2017-03-26","2017-03-25","2017-03-24","2017-03-23","2017-03-22","2017-03-21","2017-03-20","2017-03-19","2017-03-18","2017-03-17","2017-03-16","2017-03-15","2017-03-14","2017-03-13","2017-03-12","2017-03-11","2017-03-10","2017-03-09","2017-03-08","2017-03-07","2017-03-06","2017-03-05","2017-03-04","2017-03-03","2017-03-02","2017-03-01","2017-02-28","2017-02-27","2017-02-26","2017-02-25","2017-02-24","2017-02-23","2017-02-22","2017-02-21","2017-02-20","2017-02-19","2017-02-18","2017-02-17","2017-02-16","2017-02-15","2017-02-14","2017-02-13","2017-02-12","2017-02-11","2017-02-10","2017-02-09","2017-02-08","2017-02-07","2017-02-06","2017-02-05","2017-02-04","2017-02-03","2017-02-02","2017-02-01","2017-01-31","2017-01-30","2017-01-29","2017-01-28","2017-01-27","2017-01-26","2017-01-25","2017-01-24","2017-01-23","2017-01-22","2017-01-21","2017-01-20","2017-01-19","2017-01-18","2017-01-17","2017-01-16","2017-01-15","2017-01-14","2017-01-13","2017-01-12","2017-01-11","2017-01-10","2017-01-09","2017-01-08","2017-01-07","2017-01-06","2017-01-05","2017-01-04","2017-01-03","2017-01-02","2017-01-01","2016-12-31","2016-12-30","2016-12-29","2016-12-28","2016-12-27","2016-12-26","2016-12-25","2016-12-24","2016-12-23","2016-12-22","2016-12-21","2016-12-20","2016-12-19","2016-12-18","2016-12-17","2016-12-16","2016-12-15","2016-12-14","2016-12-13","2016-12-12","2016-12-11","2016-12-10","2016-12-09","2016-12-08","2016-12-07","2016-12-06","2016-12-05","2016-12-04","2016-12-03","2016-12-02","2016-12-01","2016-11-30","2016-11-29","2016-11-28","2016-11-27","2016-11-26","2016-11-25","2016-11-24","2016-11-23","2016-11-22","2016-11-21","2016-11-20","2016-11-19","2016-11-18","2016-11-17","2016-11-16","2016-11-15","2016-11-14","2016-11-13","2016-11-12","2016-11-11","2016-11-10","2016-11-09","2016-11-08","2016-11-07","2016-11-06","2016-11-05","2016-11-04","2016-11-03","2016-11-02","2016-11-01","2016-10-31","2016-10-30","2016-10-29","2016-10-28","2016-10-27","2016-10-26","2016-10-25","2016-10-24","2016-10-23","2016-10-22","2016-10-21","2016-10-20","2016-10-19","2016-10-18","2016-10-17","2016-10-16","2016-10-15","2016-10-14","2016-10-13","2016-10-12","2016-10-11","2016-10-10","2016-10-09","2016-10-08","2016-10-07","2016-10-06","2016-10-05","2016-10-04","2016-10-03","2016-10-02","2016-10-01","2016-09-30","2016-09-29","2016-09-28","2016-09-27","2016-09-26","2016-09-25","2016-09-24","2016-09-23","2016-09-22","2016-09-21","2016-09-20","2016-09-19","2016-09-18","2016-09-17","2016-09-16","2016-09-15","2016-09-14","2016-09-13","2016-09-12","2016-09-11","2016-09-10","2016-09-09","2016-09-08","2016-09-07","2016-09-06","2016-09-05","2016-09-04","2016-09-03","2016-09-02","2016-09-01","2016-08-31","2016-08-30","2016-08-29","2016-08-28","2016-08-27","2016-08-26","2016-08-25","2016-08-24","2016-08-23","2016-08-22","2016-08-21","2016-08-20","2016-08-19","2016-08-18","2016-08-17","2016-08-16","2016-08-15","2016-08-14","2016-08-13","2016-08-12","2016-08-11","2016-08-10","2016-08-09","2016-08-08","2016-08-07","2016-08-06","2016-08-05","2016-08-04","2016-08-03","2016-08-02","2016-08-01"],"y":[36,19,27,24,29,33,33,37,22,16,24,38,27,24,35,20,15,31,38,39,26,39,28,27,27,36,35,30,28,23,14,19,34,42,37,34,15,18,32,37,31,23,36,13,21,27,47,24,39,34,19,30,34,23,46,51,35,21,22,32,30,38,35,40,23,25,41,24,43,36,30,32,27,22,39,33,43,34,36,22,29,28,23,26,33,33,21,25,36,31,36,32,24,22,29,31,23,30,27,14,17,31,46,29,36,33,22,17,40,34,32,28,19,23,19,24,29,27,31,12,11,19,19,29,33,17,28,29,21,22,36,33,34,28,25,30,32,35,94,77,34,18,24,38,31,32,43,31,24,19,32,27,30,41,36,18,21,29,29,37,28,28,25,22,27,46,38,44,36,25,18,35,35,36,48,37,26,23,27,29,28,26,25,16,21,23,31,45,33,36,25,23,23,23,30,46,24,18,17,29,38,53,52,30,30,36,48,49,42,35,39,30,29,24,41,30,36,32,36,23,37,50,47,46,35,37,28,20,32,32,26,31,22,17,31,30,26,22,27,16,25,19,31,35,35,20,24,27,30,34,34,25,27,15,15,25,26,29,28,35,18,25,22,24,32,29,36,25,17,27,32,26,21,28,12,10,25,19,23,25,20,13,13,24,27,31,29,21,20,15,31,24,18,22,32,21,17,30,26,25,23,30,14,18,27,21,30,30,18,14,21,17,27,23,28,26,13,11,12,21,26,21,30,13,14,15,24,33,20,33,13,12,20,35,32,23,16,8,16,20,24,23,22,24,23,14,31,28,44,32,29,4,19,20,23,8,13,19,12,12,19,27,16,33,27,17,15,30,37,40,20,21,18,15,22,29,21,24,25,14,18,25,20,18,27,24,16,21,19,24,24,25,15,17,14,23,29,22,29,33,18,16,24,28,24,30,28,22,17,27,30,24,19,26,19,17,22,21,28,22,18,20,19,20,32,28,15,17,21,16,17,16,26,24,25,24,15,24,27,22,30,23,18,14,21,24,24,18,21,12,20,22,16,24,24,21,14,21,23,33,35,25,16,17,10,16,27,15,30,17,13,14,27,23,25,38,26,17,14,26,28,20,16,10,12,17,13,21,24,23,13,20,14,13,28,29,29,47,22,25,28,37,31,35,31,24,22,32,28,42,19,43,28,29,33,53,45,50,50,38,17,35,34,39,41,42,35,30,37,33,35,51,35,32,34,33,48,39,38,38,37,27,36,42,55,34,26,37,21,39,34,48,37,32,25,28,34,33,37,39,38,21,35,32,22,35,34,30,18,14,35,30,40,42,18,18,15,17,24,26,18,17,17,17,24,32,21,32,23,21,17,22,25,22,19,21,24,14,19,21,23,20,17,10,14,22,25,30,31,26,18,19,29,20,18,27,34,22,14,30,31,27,32,29,16,15,17,23,31,28,38,12,14,22,23,39,28,12],"type":"scatter","uid":"6d461e0b-4339-4594-b59e-34ab661ea7a0","xaxis":"x","yaxis":"y"},{"marker":{"color":"blue"},"showlegend":false,"x":["2018-04-30","2018-04-29","2018-04-28","2018-04-27","2018-04-26","2018-04-25","2018-04-24","2018-04-23","2018-04-22","2018-04-21","2018-04-20","2018-04-19","2018-04-18","2018-04-17","2018-04-16","2018-04-15","2018-04-14","2018-04-13","2018-04-12","2018-04-11","2018-04-10","2018-04-09","2018-04-08","2018-04-07","2018-04-06","2018-04-05","2018-04-04","2018-04-03","2018-04-02","2018-04-01","2018-03-31","2018-03-30","2018-03-29","2018-03-28","2018-03-27","2018-03-26","2018-03-25","2018-03-24","2018-03-23","2018-03-22","2018-03-21","2018-03-20","2018-03-19","2018-03-18","2018-03-17","2018-03-16","2018-03-15","2018-03-14","2018-03-13","2018-03-12","2018-03-11","2018-03-10","2018-03-09","2018-03-08","2018-03-07","2018-03-06","2018-03-05","2018-03-04","2018-03-03","2018-03-02","2018-03-01","2018-02-28","2018-02-27","2018-02-26","2018-02-25","2018-02-24","2018-02-23","2018-02-22","2018-02-21","2018-02-20","2018-02-19","2018-02-18","2018-02-17","2018-02-16","2018-02-15","2018-02-14","2018-02-13","2018-02-12","2018-02-11","2018-02-10","2018-02-09","2018-02-08","2018-02-07","2018-02-06","2018-02-05","2018-02-04","2018-02-03","2018-02-02","2018-02-01","2018-01-31","2018-01-30","2018-01-29","2018-01-28","2018-01-27","2018-01-26","2018-01-25","2018-01-24","2018-01-23","2018-01-22","2018-01-21","2018-01-20","2018-01-19","2018-01-18","2018-01-17","2018-01-16","2018-01-15","2018-01-14","2018-01-13","2018-01-12","2018-01-11","2018-01-10","2018-01-09","2018-01-08","2018-01-07","2018-01-06","2018-01-05","2018-01-04","2018-01-03","2018-01-02","2018-01-01","2017-12-31","2017-12-30","2017-12-29","2017-12-28","2017-12-27","2017-12-26","2017-12-25","2017-12-24","2017-12-23","2017-12-22","2017-12-21","2017-12-20","2017-12-19","2017-12-18","2017-12-17","2017-12-16","2017-12-15","2017-12-14","2017-12-13","2017-12-12","2017-12-11","2017-12-10","2017-12-09","2017-12-08","2017-12-07","2017-12-06","2017-12-05","2017-12-04","2017-12-03","2017-12-02","2017-12-01","2017-11-30","2017-11-29","2017-11-28","2017-11-27","2017-11-26","2017-11-25","2017-11-24","2017-11-23","2017-11-22","2017-11-21","2017-11-20","2017-11-19","2017-11-18","2017-11-17","2017-11-16","2017-11-15","2017-11-14","2017-11-13","2017-11-12","2017-11-11","2017-11-10","2017-11-09","2017-11-08","2017-11-07","2017-11-06","2017-11-05","2017-11-04","2017-11-03","2017-11-02","2017-11-01","2017-10-31","2017-10-30","2017-10-29","2017-10-28","2017-10-27","2017-10-26","2017-10-25","2017-10-24","2017-10-23","2017-10-22","2017-10-21","2017-10-20","2017-10-19","2017-10-18","2017-10-17","2017-10-16","2017-10-15","2017-10-14","2017-10-13","2017-10-12","2017-10-11","2017-10-10","2017-10-09","2017-10-08","2017-10-07","2017-10-06","2017-10-05","2017-10-04","2017-10-03","2017-10-02","2017-10-01","2017-09-30","2017-09-29","2017-09-28","2017-09-27","2017-09-26","2017-09-25","2017-09-24","2017-09-23","2017-09-22","2017-09-21","2017-09-20","2017-09-19","2017-09-18","2017-09-17","2017-09-16","2017-09-15","2017-09-14","2017-09-13","2017-09-12","2017-09-11","2017-09-10","2017-09-09","2017-09-08","2017-09-07","2017-09-06","2017-09-05","2017-09-04","2017-09-03","2017-09-02","2017-09-01","2017-08-31","2017-08-30","2017-08-29","2017-08-28","2017-08-27","2017-08-26","2017-08-25","2017-08-24","2017-08-23","2017-08-22","2017-08-21","2017-08-20","2017-08-19","2017-08-18","2017-08-17","2017-08-16","2017-08-15","2017-08-14","2017-08-13","2017-08-12","2017-08-11","2017-08-10","2017-08-09","2017-08-08","2017-08-07","2017-08-06","2017-08-05","2017-08-04","2017-08-03","2017-08-02","2017-08-01","2017-07-31","2017-07-30","2017-07-29","2017-07-28","2017-07-27","2017-07-26","2017-07-25","2017-07-24","2017-07-23","2017-07-22","2017-07-21","2017-07-20","2017-07-19","2017-07-18","2017-07-17","2017-07-16","2017-07-15","2017-07-14","2017-07-13","2017-07-12","2017-07-11","2017-07-10","2017-07-09","2017-07-08","2017-07-07","2017-07-06","2017-07-05","2017-07-04","2017-07-03","2017-07-02","2017-07-01","2017-06-30","2017-06-29","2017-06-28","2017-06-27","2017-06-26","2017-06-25","2017-06-24","2017-06-23","2017-06-22","2017-06-21","2017-06-20","2017-06-19","2017-06-18","2017-06-17","2017-06-16","2017-06-15","2017-06-14","2017-06-13","2017-06-12","2017-06-11","2017-06-10","2017-06-09","2017-06-08","2017-06-07","2017-06-06","2017-06-05","2017-06-04","2017-06-03","2017-06-02","2017-06-01","2017-05-31","2017-05-30","2017-05-29","2017-05-28","2017-05-27","2017-05-26","2017-05-25","2017-05-24","2017-05-23","2017-05-22","2017-05-21","2017-05-20","2017-05-19","2017-05-18","2017-05-17","2017-05-16","2017-05-15","2017-05-14","2017-05-13","2017-05-12","2017-05-11","2017-05-10","2017-05-09","2017-05-08","2017-05-07","2017-05-06","2017-05-05","2017-05-04","2017-05-03","2017-05-02","2017-05-01","2017-04-30","2017-04-29","2017-04-28","2017-04-27","2017-04-26","2017-04-25","2017-04-24","2017-04-23","2017-04-22","2017-04-21","2017-04-20","2017-04-19","2017-04-18","2017-04-17","2017-04-16","2017-04-15","2017-04-14","2017-04-13","2017-04-12","2017-04-11","2017-04-10","2017-04-09","2017-04-08","2017-04-07","2017-04-06","2017-04-05","2017-04-04","2017-04-03","2017-04-02","2017-04-01","2017-03-31","2017-03-30","2017-03-29","2017-03-28","2017-03-27","2017-03-26","2017-03-25","2017-03-24","2017-03-23","2017-03-22","2017-03-21","2017-03-20","2017-03-19","2017-03-18","2017-03-17","2017-03-16","2017-03-15","2017-03-14","2017-03-13","2017-03-12","2017-03-11","2017-03-10","2017-03-09","2017-03-08","2017-03-07","2017-03-06","2017-03-05","2017-03-04","2017-03-03","2017-03-02","2017-03-01","2017-02-28","2017-02-27","2017-02-26","2017-02-25","2017-02-24","2017-02-23","2017-02-22","2017-02-21","2017-02-20","2017-02-19","2017-02-18","2017-02-17","2017-02-16","2017-02-15","2017-02-14","2017-02-13","2017-02-12","2017-02-11","2017-02-10","2017-02-09","2017-02-08","2017-02-07","2017-02-06","2017-02-05","2017-02-04","2017-02-03","2017-02-02","2017-02-01","2017-01-31","2017-01-30","2017-01-29","2017-01-28","2017-01-27","2017-01-26","2017-01-25","2017-01-24","2017-01-23","2017-01-22","2017-01-21","2017-01-20","2017-01-19","2017-01-18","2017-01-17","2017-01-16","2017-01-15","2017-01-14","2017-01-13","2017-01-12","2017-01-11","2017-01-10","2017-01-09","2017-01-08","2017-01-07","2017-01-06","2017-01-05","2017-01-04","2017-01-03","2017-01-02","2017-01-01","2016-12-31","2016-12-30","2016-12-29","2016-12-28","2016-12-27","2016-12-26","2016-12-25","2016-12-24","2016-12-23","2016-12-22","2016-12-21","2016-12-20","2016-12-19","2016-12-18","2016-12-17","2016-12-16","2016-12-15","2016-12-14","2016-12-13","2016-12-12","2016-12-11","2016-12-10","2016-12-09","2016-12-08","2016-12-07","2016-12-06","2016-12-05","2016-12-04","2016-12-03","2016-12-02","2016-12-01","2016-11-30","2016-11-29","2016-11-28","2016-11-27","2016-11-26","2016-11-25","2016-11-24","2016-11-23","2016-11-22","2016-11-21","2016-11-20","2016-11-19","2016-11-18","2016-11-17","2016-11-16","2016-11-15","2016-11-14","2016-11-13","2016-11-12","2016-11-11","2016-11-10","2016-11-09","2016-11-08","2016-11-07","2016-11-06","2016-11-05","2016-11-04","2016-11-03","2016-11-02","2016-11-01","2016-10-31","2016-10-30","2016-10-29","2016-10-28","2016-10-27","2016-10-26","2016-10-25","2016-10-24","2016-10-23","2016-10-22","2016-10-21","2016-10-20","2016-10-19","2016-10-18","2016-10-17","2016-10-16","2016-10-15","2016-10-14","2016-10-13","2016-10-12","2016-10-11","2016-10-10","2016-10-09","2016-10-08","2016-10-07","2016-10-06","2016-10-05","2016-10-04","2016-10-03","2016-10-02","2016-10-01","2016-09-30","2016-09-29","2016-09-28","2016-09-27","2016-09-26","2016-09-25","2016-09-24","2016-09-23","2016-09-22","2016-09-21","2016-09-20","2016-09-19","2016-09-18","2016-09-17","2016-09-16","2016-09-15","2016-09-14","2016-09-13","2016-09-12","2016-09-11","2016-09-10","2016-09-09","2016-09-08","2016-09-07","2016-09-06","2016-09-05","2016-09-04","2016-09-03","2016-09-02","2016-09-01","2016-08-31","2016-08-30","2016-08-29","2016-08-28","2016-08-27","2016-08-26","2016-08-25","2016-08-24","2016-08-23","2016-08-22","2016-08-21","2016-08-20","2016-08-19","2016-08-18","2016-08-17","2016-08-16","2016-08-15","2016-08-14","2016-08-13","2016-08-12","2016-08-11","2016-08-10","2016-08-09","2016-08-08","2016-08-07","2016-08-06","2016-08-05","2016-08-04","2016-08-03","2016-08-02","2016-08-01"],"y":[1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2,0,0,1,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,1,1,0,0,0,0,2,0,0,0,1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,2,0,1,0,0,0,2,1,0,0,0,1,0,0,1,0,1,1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,2,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1,0,1,0,0,0,0,1,2,2,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,3,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0],"type":"scatter","uid":"d68d869e-914c-4310-a411-db2fe7b82288","xaxis":"x2","yaxis":"y2"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Date - Visitors","x":0.5,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Date - Paying Customers","x":0.5,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,1]},"yaxis":{"anchor":"x","domain":[0.54,1]},"xaxis2":{"anchor":"y2","domain":[0,1]},"yaxis2":{"anchor":"x2","domain":[0,0.46]},"height":800,"width":800,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Date Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"04f64474-8a3a-44c0-ad90-a563943f63ab\" style=\"height: 800px; width: 800px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"04f64474-8a3a-44c0-ad90-a563943f63ab\")) {\n    Plotly.newPlot(\"04f64474-8a3a-44c0-ad90-a563943f63ab\", [{\"marker\": {\"color\": \"red\"}, \"showlegend\": false, \"x\": [\"2018-04-30\", \"2018-04-29\", \"2018-04-28\", \"2018-04-27\", \"2018-04-26\", \"2018-04-25\", \"2018-04-24\", \"2018-04-23\", \"2018-04-22\", \"2018-04-21\", \"2018-04-20\", \"2018-04-19\", \"2018-04-18\", \"2018-04-17\", \"2018-04-16\", \"2018-04-15\", \"2018-04-14\", \"2018-04-13\", \"2018-04-12\", \"2018-04-11\", \"2018-04-10\", \"2018-04-09\", \"2018-04-08\", \"2018-04-07\", \"2018-04-06\", \"2018-04-05\", \"2018-04-04\", \"2018-04-03\", \"2018-04-02\", \"2018-04-01\", \"2018-03-31\", \"2018-03-30\", \"2018-03-29\", \"2018-03-28\", \"2018-03-27\", \"2018-03-26\", \"2018-03-25\", \"2018-03-24\", \"2018-03-23\", \"2018-03-22\", \"2018-03-21\", \"2018-03-20\", \"2018-03-19\", \"2018-03-18\", \"2018-03-17\", \"2018-03-16\", \"2018-03-15\", \"2018-03-14\", \"2018-03-13\", \"2018-03-12\", \"2018-03-11\", \"2018-03-10\", \"2018-03-09\", \"2018-03-08\", \"2018-03-07\", \"2018-03-06\", \"2018-03-05\", \"2018-03-04\", \"2018-03-03\", \"2018-03-02\", \"2018-03-01\", \"2018-02-28\", \"2018-02-27\", \"2018-02-26\", \"2018-02-25\", \"2018-02-24\", \"2018-02-23\", \"2018-02-22\", \"2018-02-21\", \"2018-02-20\", \"2018-02-19\", \"2018-02-18\", \"2018-02-17\", \"2018-02-16\", \"2018-02-15\", \"2018-02-14\", \"2018-02-13\", \"2018-02-12\", \"2018-02-11\", \"2018-02-10\", \"2018-02-09\", \"2018-02-08\", \"2018-02-07\", \"2018-02-06\", \"2018-02-05\", \"2018-02-04\", \"2018-02-03\", \"2018-02-02\", \"2018-02-01\", \"2018-01-31\", \"2018-01-30\", \"2018-01-29\", \"2018-01-28\", \"2018-01-27\", \"2018-01-26\", \"2018-01-25\", \"2018-01-24\", \"2018-01-23\", \"2018-01-22\", \"2018-01-21\", \"2018-01-20\", \"2018-01-19\", \"2018-01-18\", \"2018-01-17\", \"2018-01-16\", \"2018-01-15\", \"2018-01-14\", \"2018-01-13\", \"2018-01-12\", \"2018-01-11\", \"2018-01-10\", \"2018-01-09\", \"2018-01-08\", \"2018-01-07\", \"2018-01-06\", \"2018-01-05\", \"2018-01-04\", \"2018-01-03\", \"2018-01-02\", \"2018-01-01\", \"2017-12-31\", \"2017-12-30\", \"2017-12-29\", \"2017-12-28\", \"2017-12-27\", \"2017-12-26\", \"2017-12-25\", \"2017-12-24\", \"2017-12-23\", \"2017-12-22\", \"2017-12-21\", \"2017-12-20\", \"2017-12-19\", \"2017-12-18\", \"2017-12-17\", \"2017-12-16\", \"2017-12-15\", \"2017-12-14\", \"2017-12-13\", \"2017-12-12\", \"2017-12-11\", \"2017-12-10\", \"2017-12-09\", \"2017-12-08\", \"2017-12-07\", \"2017-12-06\", \"2017-12-05\", \"2017-12-04\", \"2017-12-03\", \"2017-12-02\", \"2017-12-01\", \"2017-11-30\", \"2017-11-29\", \"2017-11-28\", \"2017-11-27\", \"2017-11-26\", \"2017-11-25\", \"2017-11-24\", \"2017-11-23\", \"2017-11-22\", \"2017-11-21\", \"2017-11-20\", \"2017-11-19\", \"2017-11-18\", \"2017-11-17\", \"2017-11-16\", \"2017-11-15\", \"2017-11-14\", \"2017-11-13\", \"2017-11-12\", \"2017-11-11\", \"2017-11-10\", \"2017-11-09\", \"2017-11-08\", \"2017-11-07\", \"2017-11-06\", \"2017-11-05\", \"2017-11-04\", \"2017-11-03\", \"2017-11-02\", \"2017-11-01\", \"2017-10-31\", \"2017-10-30\", \"2017-10-29\", \"2017-10-28\", \"2017-10-27\", \"2017-10-26\", \"2017-10-25\", \"2017-10-24\", \"2017-10-23\", \"2017-10-22\", \"2017-10-21\", \"2017-10-20\", \"2017-10-19\", \"2017-10-18\", \"2017-10-17\", \"2017-10-16\", \"2017-10-15\", \"2017-10-14\", \"2017-10-13\", \"2017-10-12\", \"2017-10-11\", \"2017-10-10\", \"2017-10-09\", \"2017-10-08\", \"2017-10-07\", \"2017-10-06\", \"2017-10-05\", \"2017-10-04\", \"2017-10-03\", \"2017-10-02\", \"2017-10-01\", \"2017-09-30\", \"2017-09-29\", \"2017-09-28\", \"2017-09-27\", \"2017-09-26\", \"2017-09-25\", \"2017-09-24\", \"2017-09-23\", \"2017-09-22\", \"2017-09-21\", \"2017-09-20\", \"2017-09-19\", \"2017-09-18\", \"2017-09-17\", \"2017-09-16\", \"2017-09-15\", \"2017-09-14\", \"2017-09-13\", \"2017-09-12\", \"2017-09-11\", \"2017-09-10\", \"2017-09-09\", \"2017-09-08\", \"2017-09-07\", \"2017-09-06\", \"2017-09-05\", \"2017-09-04\", \"2017-09-03\", \"2017-09-02\", \"2017-09-01\", \"2017-08-31\", \"2017-08-30\", \"2017-08-29\", \"2017-08-28\", \"2017-08-27\", \"2017-08-26\", \"2017-08-25\", \"2017-08-24\", \"2017-08-23\", \"2017-08-22\", \"2017-08-21\", \"2017-08-20\", \"2017-08-19\", \"2017-08-18\", \"2017-08-17\", \"2017-08-16\", \"2017-08-15\", \"2017-08-14\", \"2017-08-13\", \"2017-08-12\", \"2017-08-11\", \"2017-08-10\", \"2017-08-09\", \"2017-08-08\", \"2017-08-07\", \"2017-08-06\", \"2017-08-05\", \"2017-08-04\", \"2017-08-03\", \"2017-08-02\", \"2017-08-01\", \"2017-07-31\", \"2017-07-30\", \"2017-07-29\", \"2017-07-28\", \"2017-07-27\", \"2017-07-26\", \"2017-07-25\", \"2017-07-24\", \"2017-07-23\", \"2017-07-22\", \"2017-07-21\", \"2017-07-20\", \"2017-07-19\", \"2017-07-18\", \"2017-07-17\", \"2017-07-16\", \"2017-07-15\", \"2017-07-14\", \"2017-07-13\", \"2017-07-12\", \"2017-07-11\", \"2017-07-10\", \"2017-07-09\", \"2017-07-08\", \"2017-07-07\", \"2017-07-06\", \"2017-07-05\", \"2017-07-04\", \"2017-07-03\", \"2017-07-02\", \"2017-07-01\", \"2017-06-30\", \"2017-06-29\", \"2017-06-28\", \"2017-06-27\", \"2017-06-26\", \"2017-06-25\", \"2017-06-24\", \"2017-06-23\", \"2017-06-22\", \"2017-06-21\", \"2017-06-20\", \"2017-06-19\", \"2017-06-18\", \"2017-06-17\", \"2017-06-16\", \"2017-06-15\", \"2017-06-14\", \"2017-06-13\", \"2017-06-12\", \"2017-06-11\", \"2017-06-10\", \"2017-06-09\", \"2017-06-08\", \"2017-06-07\", \"2017-06-06\", \"2017-06-05\", \"2017-06-04\", \"2017-06-03\", \"2017-06-02\", \"2017-06-01\", \"2017-05-31\", \"2017-05-30\", \"2017-05-29\", \"2017-05-28\", \"2017-05-27\", \"2017-05-26\", \"2017-05-25\", \"2017-05-24\", \"2017-05-23\", \"2017-05-22\", \"2017-05-21\", \"2017-05-20\", \"2017-05-19\", \"2017-05-18\", \"2017-05-17\", \"2017-05-16\", \"2017-05-15\", \"2017-05-14\", \"2017-05-13\", \"2017-05-12\", \"2017-05-11\", \"2017-05-10\", \"2017-05-09\", \"2017-05-08\", \"2017-05-07\", \"2017-05-06\", \"2017-05-05\", \"2017-05-04\", \"2017-05-03\", \"2017-05-02\", \"2017-05-01\", \"2017-04-30\", \"2017-04-29\", \"2017-04-28\", \"2017-04-27\", \"2017-04-26\", \"2017-04-25\", \"2017-04-24\", \"2017-04-23\", \"2017-04-22\", \"2017-04-21\", \"2017-04-20\", \"2017-04-19\", \"2017-04-18\", \"2017-04-17\", \"2017-04-16\", \"2017-04-15\", \"2017-04-14\", \"2017-04-13\", \"2017-04-12\", \"2017-04-11\", \"2017-04-10\", \"2017-04-09\", \"2017-04-08\", \"2017-04-07\", \"2017-04-06\", \"2017-04-05\", \"2017-04-04\", \"2017-04-03\", \"2017-04-02\", \"2017-04-01\", \"2017-03-31\", \"2017-03-30\", \"2017-03-29\", \"2017-03-28\", \"2017-03-27\", \"2017-03-26\", \"2017-03-25\", \"2017-03-24\", \"2017-03-23\", \"2017-03-22\", \"2017-03-21\", \"2017-03-20\", \"2017-03-19\", \"2017-03-18\", \"2017-03-17\", \"2017-03-16\", \"2017-03-15\", \"2017-03-14\", \"2017-03-13\", \"2017-03-12\", \"2017-03-11\", \"2017-03-10\", \"2017-03-09\", \"2017-03-08\", \"2017-03-07\", \"2017-03-06\", \"2017-03-05\", \"2017-03-04\", \"2017-03-03\", \"2017-03-02\", \"2017-03-01\", \"2017-02-28\", \"2017-02-27\", \"2017-02-26\", \"2017-02-25\", \"2017-02-24\", \"2017-02-23\", \"2017-02-22\", \"2017-02-21\", \"2017-02-20\", \"2017-02-19\", \"2017-02-18\", \"2017-02-17\", \"2017-02-16\", \"2017-02-15\", \"2017-02-14\", \"2017-02-13\", \"2017-02-12\", \"2017-02-11\", \"2017-02-10\", \"2017-02-09\", \"2017-02-08\", \"2017-02-07\", \"2017-02-06\", \"2017-02-05\", \"2017-02-04\", \"2017-02-03\", \"2017-02-02\", \"2017-02-01\", \"2017-01-31\", \"2017-01-30\", \"2017-01-29\", \"2017-01-28\", \"2017-01-27\", \"2017-01-26\", \"2017-01-25\", \"2017-01-24\", \"2017-01-23\", \"2017-01-22\", \"2017-01-21\", \"2017-01-20\", \"2017-01-19\", \"2017-01-18\", \"2017-01-17\", \"2017-01-16\", \"2017-01-15\", \"2017-01-14\", \"2017-01-13\", \"2017-01-12\", \"2017-01-11\", \"2017-01-10\", \"2017-01-09\", \"2017-01-08\", \"2017-01-07\", \"2017-01-06\", \"2017-01-05\", \"2017-01-04\", \"2017-01-03\", \"2017-01-02\", \"2017-01-01\", \"2016-12-31\", \"2016-12-30\", \"2016-12-29\", \"2016-12-28\", \"2016-12-27\", \"2016-12-26\", \"2016-12-25\", \"2016-12-24\", \"2016-12-23\", \"2016-12-22\", \"2016-12-21\", \"2016-12-20\", \"2016-12-19\", \"2016-12-18\", \"2016-12-17\", \"2016-12-16\", \"2016-12-15\", \"2016-12-14\", \"2016-12-13\", \"2016-12-12\", \"2016-12-11\", \"2016-12-10\", \"2016-12-09\", \"2016-12-08\", \"2016-12-07\", \"2016-12-06\", \"2016-12-05\", \"2016-12-04\", \"2016-12-03\", \"2016-12-02\", \"2016-12-01\", \"2016-11-30\", \"2016-11-29\", \"2016-11-28\", \"2016-11-27\", \"2016-11-26\", \"2016-11-25\", \"2016-11-24\", \"2016-11-23\", \"2016-11-22\", \"2016-11-21\", \"2016-11-20\", \"2016-11-19\", \"2016-11-18\", \"2016-11-17\", \"2016-11-16\", \"2016-11-15\", \"2016-11-14\", \"2016-11-13\", \"2016-11-12\", \"2016-11-11\", \"2016-11-10\", \"2016-11-09\", \"2016-11-08\", \"2016-11-07\", \"2016-11-06\", \"2016-11-05\", \"2016-11-04\", \"2016-11-03\", \"2016-11-02\", \"2016-11-01\", \"2016-10-31\", \"2016-10-30\", \"2016-10-29\", \"2016-10-28\", \"2016-10-27\", \"2016-10-26\", \"2016-10-25\", \"2016-10-24\", \"2016-10-23\", \"2016-10-22\", \"2016-10-21\", \"2016-10-20\", \"2016-10-19\", \"2016-10-18\", \"2016-10-17\", \"2016-10-16\", \"2016-10-15\", \"2016-10-14\", \"2016-10-13\", \"2016-10-12\", \"2016-10-11\", \"2016-10-10\", \"2016-10-09\", \"2016-10-08\", \"2016-10-07\", \"2016-10-06\", \"2016-10-05\", \"2016-10-04\", \"2016-10-03\", \"2016-10-02\", \"2016-10-01\", \"2016-09-30\", \"2016-09-29\", \"2016-09-28\", \"2016-09-27\", \"2016-09-26\", \"2016-09-25\", \"2016-09-24\", \"2016-09-23\", \"2016-09-22\", \"2016-09-21\", \"2016-09-20\", \"2016-09-19\", \"2016-09-18\", \"2016-09-17\", \"2016-09-16\", \"2016-09-15\", \"2016-09-14\", \"2016-09-13\", \"2016-09-12\", \"2016-09-11\", \"2016-09-10\", \"2016-09-09\", \"2016-09-08\", \"2016-09-07\", \"2016-09-06\", \"2016-09-05\", \"2016-09-04\", \"2016-09-03\", \"2016-09-02\", \"2016-09-01\", \"2016-08-31\", \"2016-08-30\", \"2016-08-29\", \"2016-08-28\", \"2016-08-27\", \"2016-08-26\", \"2016-08-25\", \"2016-08-24\", \"2016-08-23\", \"2016-08-22\", \"2016-08-21\", \"2016-08-20\", \"2016-08-19\", \"2016-08-18\", \"2016-08-17\", \"2016-08-16\", \"2016-08-15\", \"2016-08-14\", \"2016-08-13\", \"2016-08-12\", \"2016-08-11\", \"2016-08-10\", \"2016-08-09\", \"2016-08-08\", \"2016-08-07\", \"2016-08-06\", \"2016-08-05\", \"2016-08-04\", \"2016-08-03\", \"2016-08-02\", \"2016-08-01\"], \"y\": [36, 19, 27, 24, 29, 33, 33, 37, 22, 16, 24, 38, 27, 24, 35, 20, 15, 31, 38, 39, 26, 39, 28, 27, 27, 36, 35, 30, 28, 23, 14, 19, 34, 42, 37, 34, 15, 18, 32, 37, 31, 23, 36, 13, 21, 27, 47, 24, 39, 34, 19, 30, 34, 23, 46, 51, 35, 21, 22, 32, 30, 38, 35, 40, 23, 25, 41, 24, 43, 36, 30, 32, 27, 22, 39, 33, 43, 34, 36, 22, 29, 28, 23, 26, 33, 33, 21, 25, 36, 31, 36, 32, 24, 22, 29, 31, 23, 30, 27, 14, 17, 31, 46, 29, 36, 33, 22, 17, 40, 34, 32, 28, 19, 23, 19, 24, 29, 27, 31, 12, 11, 19, 19, 29, 33, 17, 28, 29, 21, 22, 36, 33, 34, 28, 25, 30, 32, 35, 94, 77, 34, 18, 24, 38, 31, 32, 43, 31, 24, 19, 32, 27, 30, 41, 36, 18, 21, 29, 29, 37, 28, 28, 25, 22, 27, 46, 38, 44, 36, 25, 18, 35, 35, 36, 48, 37, 26, 23, 27, 29, 28, 26, 25, 16, 21, 23, 31, 45, 33, 36, 25, 23, 23, 23, 30, 46, 24, 18, 17, 29, 38, 53, 52, 30, 30, 36, 48, 49, 42, 35, 39, 30, 29, 24, 41, 30, 36, 32, 36, 23, 37, 50, 47, 46, 35, 37, 28, 20, 32, 32, 26, 31, 22, 17, 31, 30, 26, 22, 27, 16, 25, 19, 31, 35, 35, 20, 24, 27, 30, 34, 34, 25, 27, 15, 15, 25, 26, 29, 28, 35, 18, 25, 22, 24, 32, 29, 36, 25, 17, 27, 32, 26, 21, 28, 12, 10, 25, 19, 23, 25, 20, 13, 13, 24, 27, 31, 29, 21, 20, 15, 31, 24, 18, 22, 32, 21, 17, 30, 26, 25, 23, 30, 14, 18, 27, 21, 30, 30, 18, 14, 21, 17, 27, 23, 28, 26, 13, 11, 12, 21, 26, 21, 30, 13, 14, 15, 24, 33, 20, 33, 13, 12, 20, 35, 32, 23, 16, 8, 16, 20, 24, 23, 22, 24, 23, 14, 31, 28, 44, 32, 29, 4, 19, 20, 23, 8, 13, 19, 12, 12, 19, 27, 16, 33, 27, 17, 15, 30, 37, 40, 20, 21, 18, 15, 22, 29, 21, 24, 25, 14, 18, 25, 20, 18, 27, 24, 16, 21, 19, 24, 24, 25, 15, 17, 14, 23, 29, 22, 29, 33, 18, 16, 24, 28, 24, 30, 28, 22, 17, 27, 30, 24, 19, 26, 19, 17, 22, 21, 28, 22, 18, 20, 19, 20, 32, 28, 15, 17, 21, 16, 17, 16, 26, 24, 25, 24, 15, 24, 27, 22, 30, 23, 18, 14, 21, 24, 24, 18, 21, 12, 20, 22, 16, 24, 24, 21, 14, 21, 23, 33, 35, 25, 16, 17, 10, 16, 27, 15, 30, 17, 13, 14, 27, 23, 25, 38, 26, 17, 14, 26, 28, 20, 16, 10, 12, 17, 13, 21, 24, 23, 13, 20, 14, 13, 28, 29, 29, 47, 22, 25, 28, 37, 31, 35, 31, 24, 22, 32, 28, 42, 19, 43, 28, 29, 33, 53, 45, 50, 50, 38, 17, 35, 34, 39, 41, 42, 35, 30, 37, 33, 35, 51, 35, 32, 34, 33, 48, 39, 38, 38, 37, 27, 36, 42, 55, 34, 26, 37, 21, 39, 34, 48, 37, 32, 25, 28, 34, 33, 37, 39, 38, 21, 35, 32, 22, 35, 34, 30, 18, 14, 35, 30, 40, 42, 18, 18, 15, 17, 24, 26, 18, 17, 17, 17, 24, 32, 21, 32, 23, 21, 17, 22, 25, 22, 19, 21, 24, 14, 19, 21, 23, 20, 17, 10, 14, 22, 25, 30, 31, 26, 18, 19, 29, 20, 18, 27, 34, 22, 14, 30, 31, 27, 32, 29, 16, 15, 17, 23, 31, 28, 38, 12, 14, 22, 23, 39, 28, 12], \"type\": \"scatter\", \"uid\": \"6d461e0b-4339-4594-b59e-34ab661ea7a0\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"blue\"}, \"showlegend\": false, \"x\": [\"2018-04-30\", \"2018-04-29\", \"2018-04-28\", \"2018-04-27\", \"2018-04-26\", \"2018-04-25\", \"2018-04-24\", \"2018-04-23\", \"2018-04-22\", \"2018-04-21\", \"2018-04-20\", \"2018-04-19\", \"2018-04-18\", \"2018-04-17\", \"2018-04-16\", \"2018-04-15\", \"2018-04-14\", \"2018-04-13\", \"2018-04-12\", \"2018-04-11\", \"2018-04-10\", \"2018-04-09\", \"2018-04-08\", \"2018-04-07\", \"2018-04-06\", \"2018-04-05\", \"2018-04-04\", \"2018-04-03\", \"2018-04-02\", \"2018-04-01\", \"2018-03-31\", \"2018-03-30\", \"2018-03-29\", \"2018-03-28\", \"2018-03-27\", \"2018-03-26\", \"2018-03-25\", \"2018-03-24\", \"2018-03-23\", \"2018-03-22\", \"2018-03-21\", \"2018-03-20\", \"2018-03-19\", \"2018-03-18\", \"2018-03-17\", \"2018-03-16\", \"2018-03-15\", \"2018-03-14\", \"2018-03-13\", \"2018-03-12\", \"2018-03-11\", \"2018-03-10\", \"2018-03-09\", \"2018-03-08\", \"2018-03-07\", \"2018-03-06\", \"2018-03-05\", \"2018-03-04\", \"2018-03-03\", \"2018-03-02\", \"2018-03-01\", \"2018-02-28\", \"2018-02-27\", \"2018-02-26\", \"2018-02-25\", \"2018-02-24\", \"2018-02-23\", \"2018-02-22\", \"2018-02-21\", \"2018-02-20\", \"2018-02-19\", \"2018-02-18\", \"2018-02-17\", \"2018-02-16\", \"2018-02-15\", \"2018-02-14\", \"2018-02-13\", \"2018-02-12\", \"2018-02-11\", \"2018-02-10\", \"2018-02-09\", \"2018-02-08\", \"2018-02-07\", \"2018-02-06\", \"2018-02-05\", \"2018-02-04\", \"2018-02-03\", \"2018-02-02\", \"2018-02-01\", \"2018-01-31\", \"2018-01-30\", \"2018-01-29\", \"2018-01-28\", \"2018-01-27\", \"2018-01-26\", \"2018-01-25\", \"2018-01-24\", \"2018-01-23\", \"2018-01-22\", \"2018-01-21\", \"2018-01-20\", \"2018-01-19\", \"2018-01-18\", \"2018-01-17\", \"2018-01-16\", \"2018-01-15\", \"2018-01-14\", \"2018-01-13\", \"2018-01-12\", \"2018-01-11\", \"2018-01-10\", \"2018-01-09\", \"2018-01-08\", \"2018-01-07\", \"2018-01-06\", \"2018-01-05\", \"2018-01-04\", \"2018-01-03\", \"2018-01-02\", \"2018-01-01\", \"2017-12-31\", \"2017-12-30\", \"2017-12-29\", \"2017-12-28\", \"2017-12-27\", \"2017-12-26\", \"2017-12-25\", \"2017-12-24\", \"2017-12-23\", \"2017-12-22\", \"2017-12-21\", \"2017-12-20\", \"2017-12-19\", \"2017-12-18\", \"2017-12-17\", \"2017-12-16\", \"2017-12-15\", \"2017-12-14\", \"2017-12-13\", \"2017-12-12\", \"2017-12-11\", \"2017-12-10\", \"2017-12-09\", \"2017-12-08\", \"2017-12-07\", \"2017-12-06\", \"2017-12-05\", \"2017-12-04\", \"2017-12-03\", \"2017-12-02\", \"2017-12-01\", \"2017-11-30\", \"2017-11-29\", \"2017-11-28\", \"2017-11-27\", \"2017-11-26\", \"2017-11-25\", \"2017-11-24\", \"2017-11-23\", \"2017-11-22\", \"2017-11-21\", \"2017-11-20\", \"2017-11-19\", \"2017-11-18\", \"2017-11-17\", \"2017-11-16\", \"2017-11-15\", \"2017-11-14\", \"2017-11-13\", \"2017-11-12\", \"2017-11-11\", \"2017-11-10\", \"2017-11-09\", \"2017-11-08\", \"2017-11-07\", \"2017-11-06\", \"2017-11-05\", \"2017-11-04\", \"2017-11-03\", \"2017-11-02\", \"2017-11-01\", \"2017-10-31\", \"2017-10-30\", \"2017-10-29\", \"2017-10-28\", \"2017-10-27\", \"2017-10-26\", \"2017-10-25\", \"2017-10-24\", \"2017-10-23\", \"2017-10-22\", \"2017-10-21\", \"2017-10-20\", \"2017-10-19\", \"2017-10-18\", \"2017-10-17\", \"2017-10-16\", \"2017-10-15\", \"2017-10-14\", \"2017-10-13\", \"2017-10-12\", \"2017-10-11\", \"2017-10-10\", \"2017-10-09\", \"2017-10-08\", \"2017-10-07\", \"2017-10-06\", \"2017-10-05\", \"2017-10-04\", \"2017-10-03\", \"2017-10-02\", \"2017-10-01\", \"2017-09-30\", \"2017-09-29\", \"2017-09-28\", \"2017-09-27\", \"2017-09-26\", \"2017-09-25\", \"2017-09-24\", \"2017-09-23\", \"2017-09-22\", \"2017-09-21\", \"2017-09-20\", \"2017-09-19\", \"2017-09-18\", \"2017-09-17\", \"2017-09-16\", \"2017-09-15\", \"2017-09-14\", \"2017-09-13\", \"2017-09-12\", \"2017-09-11\", \"2017-09-10\", \"2017-09-09\", \"2017-09-08\", \"2017-09-07\", \"2017-09-06\", \"2017-09-05\", \"2017-09-04\", \"2017-09-03\", \"2017-09-02\", \"2017-09-01\", \"2017-08-31\", \"2017-08-30\", \"2017-08-29\", \"2017-08-28\", \"2017-08-27\", \"2017-08-26\", \"2017-08-25\", \"2017-08-24\", \"2017-08-23\", \"2017-08-22\", \"2017-08-21\", \"2017-08-20\", \"2017-08-19\", \"2017-08-18\", \"2017-08-17\", \"2017-08-16\", \"2017-08-15\", \"2017-08-14\", \"2017-08-13\", \"2017-08-12\", \"2017-08-11\", \"2017-08-10\", \"2017-08-09\", \"2017-08-08\", \"2017-08-07\", \"2017-08-06\", \"2017-08-05\", \"2017-08-04\", \"2017-08-03\", \"2017-08-02\", \"2017-08-01\", \"2017-07-31\", \"2017-07-30\", \"2017-07-29\", \"2017-07-28\", \"2017-07-27\", \"2017-07-26\", \"2017-07-25\", \"2017-07-24\", \"2017-07-23\", \"2017-07-22\", \"2017-07-21\", \"2017-07-20\", \"2017-07-19\", \"2017-07-18\", \"2017-07-17\", \"2017-07-16\", \"2017-07-15\", \"2017-07-14\", \"2017-07-13\", \"2017-07-12\", \"2017-07-11\", \"2017-07-10\", \"2017-07-09\", \"2017-07-08\", \"2017-07-07\", \"2017-07-06\", \"2017-07-05\", \"2017-07-04\", \"2017-07-03\", \"2017-07-02\", \"2017-07-01\", \"2017-06-30\", \"2017-06-29\", \"2017-06-28\", \"2017-06-27\", \"2017-06-26\", \"2017-06-25\", \"2017-06-24\", \"2017-06-23\", \"2017-06-22\", \"2017-06-21\", \"2017-06-20\", \"2017-06-19\", \"2017-06-18\", \"2017-06-17\", \"2017-06-16\", \"2017-06-15\", \"2017-06-14\", \"2017-06-13\", \"2017-06-12\", \"2017-06-11\", \"2017-06-10\", \"2017-06-09\", \"2017-06-08\", \"2017-06-07\", \"2017-06-06\", \"2017-06-05\", \"2017-06-04\", \"2017-06-03\", \"2017-06-02\", \"2017-06-01\", \"2017-05-31\", \"2017-05-30\", \"2017-05-29\", \"2017-05-28\", \"2017-05-27\", \"2017-05-26\", \"2017-05-25\", \"2017-05-24\", \"2017-05-23\", \"2017-05-22\", \"2017-05-21\", \"2017-05-20\", \"2017-05-19\", \"2017-05-18\", \"2017-05-17\", \"2017-05-16\", \"2017-05-15\", \"2017-05-14\", \"2017-05-13\", \"2017-05-12\", \"2017-05-11\", \"2017-05-10\", \"2017-05-09\", \"2017-05-08\", \"2017-05-07\", \"2017-05-06\", \"2017-05-05\", \"2017-05-04\", \"2017-05-03\", \"2017-05-02\", \"2017-05-01\", \"2017-04-30\", \"2017-04-29\", \"2017-04-28\", \"2017-04-27\", \"2017-04-26\", \"2017-04-25\", \"2017-04-24\", \"2017-04-23\", \"2017-04-22\", \"2017-04-21\", \"2017-04-20\", \"2017-04-19\", \"2017-04-18\", \"2017-04-17\", \"2017-04-16\", \"2017-04-15\", \"2017-04-14\", \"2017-04-13\", \"2017-04-12\", \"2017-04-11\", \"2017-04-10\", \"2017-04-09\", \"2017-04-08\", \"2017-04-07\", \"2017-04-06\", \"2017-04-05\", \"2017-04-04\", \"2017-04-03\", \"2017-04-02\", \"2017-04-01\", \"2017-03-31\", \"2017-03-30\", \"2017-03-29\", \"2017-03-28\", \"2017-03-27\", \"2017-03-26\", \"2017-03-25\", \"2017-03-24\", \"2017-03-23\", \"2017-03-22\", \"2017-03-21\", \"2017-03-20\", \"2017-03-19\", \"2017-03-18\", \"2017-03-17\", \"2017-03-16\", \"2017-03-15\", \"2017-03-14\", \"2017-03-13\", \"2017-03-12\", \"2017-03-11\", \"2017-03-10\", \"2017-03-09\", \"2017-03-08\", \"2017-03-07\", \"2017-03-06\", \"2017-03-05\", \"2017-03-04\", \"2017-03-03\", \"2017-03-02\", \"2017-03-01\", \"2017-02-28\", \"2017-02-27\", \"2017-02-26\", \"2017-02-25\", \"2017-02-24\", \"2017-02-23\", \"2017-02-22\", \"2017-02-21\", \"2017-02-20\", \"2017-02-19\", \"2017-02-18\", \"2017-02-17\", \"2017-02-16\", \"2017-02-15\", \"2017-02-14\", \"2017-02-13\", \"2017-02-12\", \"2017-02-11\", \"2017-02-10\", \"2017-02-09\", \"2017-02-08\", \"2017-02-07\", \"2017-02-06\", \"2017-02-05\", \"2017-02-04\", \"2017-02-03\", \"2017-02-02\", \"2017-02-01\", \"2017-01-31\", \"2017-01-30\", \"2017-01-29\", \"2017-01-28\", \"2017-01-27\", \"2017-01-26\", \"2017-01-25\", \"2017-01-24\", \"2017-01-23\", \"2017-01-22\", \"2017-01-21\", \"2017-01-20\", \"2017-01-19\", \"2017-01-18\", \"2017-01-17\", \"2017-01-16\", \"2017-01-15\", \"2017-01-14\", \"2017-01-13\", \"2017-01-12\", \"2017-01-11\", \"2017-01-10\", \"2017-01-09\", \"2017-01-08\", \"2017-01-07\", \"2017-01-06\", \"2017-01-05\", \"2017-01-04\", \"2017-01-03\", \"2017-01-02\", \"2017-01-01\", \"2016-12-31\", \"2016-12-30\", \"2016-12-29\", \"2016-12-28\", \"2016-12-27\", \"2016-12-26\", \"2016-12-25\", \"2016-12-24\", \"2016-12-23\", \"2016-12-22\", \"2016-12-21\", \"2016-12-20\", \"2016-12-19\", \"2016-12-18\", \"2016-12-17\", \"2016-12-16\", \"2016-12-15\", \"2016-12-14\", \"2016-12-13\", \"2016-12-12\", \"2016-12-11\", \"2016-12-10\", \"2016-12-09\", \"2016-12-08\", \"2016-12-07\", \"2016-12-06\", \"2016-12-05\", \"2016-12-04\", \"2016-12-03\", \"2016-12-02\", \"2016-12-01\", \"2016-11-30\", \"2016-11-29\", \"2016-11-28\", \"2016-11-27\", \"2016-11-26\", \"2016-11-25\", \"2016-11-24\", \"2016-11-23\", \"2016-11-22\", \"2016-11-21\", \"2016-11-20\", \"2016-11-19\", \"2016-11-18\", \"2016-11-17\", \"2016-11-16\", \"2016-11-15\", \"2016-11-14\", \"2016-11-13\", \"2016-11-12\", \"2016-11-11\", \"2016-11-10\", \"2016-11-09\", \"2016-11-08\", \"2016-11-07\", \"2016-11-06\", \"2016-11-05\", \"2016-11-04\", \"2016-11-03\", \"2016-11-02\", \"2016-11-01\", \"2016-10-31\", \"2016-10-30\", \"2016-10-29\", \"2016-10-28\", \"2016-10-27\", \"2016-10-26\", \"2016-10-25\", \"2016-10-24\", \"2016-10-23\", \"2016-10-22\", \"2016-10-21\", \"2016-10-20\", \"2016-10-19\", \"2016-10-18\", \"2016-10-17\", \"2016-10-16\", \"2016-10-15\", \"2016-10-14\", \"2016-10-13\", \"2016-10-12\", \"2016-10-11\", \"2016-10-10\", \"2016-10-09\", \"2016-10-08\", \"2016-10-07\", \"2016-10-06\", \"2016-10-05\", \"2016-10-04\", \"2016-10-03\", \"2016-10-02\", \"2016-10-01\", \"2016-09-30\", \"2016-09-29\", \"2016-09-28\", \"2016-09-27\", \"2016-09-26\", \"2016-09-25\", \"2016-09-24\", \"2016-09-23\", \"2016-09-22\", \"2016-09-21\", \"2016-09-20\", \"2016-09-19\", \"2016-09-18\", \"2016-09-17\", \"2016-09-16\", \"2016-09-15\", \"2016-09-14\", \"2016-09-13\", \"2016-09-12\", \"2016-09-11\", \"2016-09-10\", \"2016-09-09\", \"2016-09-08\", \"2016-09-07\", \"2016-09-06\", \"2016-09-05\", \"2016-09-04\", \"2016-09-03\", \"2016-09-02\", \"2016-09-01\", \"2016-08-31\", \"2016-08-30\", \"2016-08-29\", \"2016-08-28\", \"2016-08-27\", \"2016-08-26\", \"2016-08-25\", \"2016-08-24\", \"2016-08-23\", \"2016-08-22\", \"2016-08-21\", \"2016-08-20\", \"2016-08-19\", \"2016-08-18\", \"2016-08-17\", \"2016-08-16\", \"2016-08-15\", \"2016-08-14\", \"2016-08-13\", \"2016-08-12\", \"2016-08-11\", \"2016-08-10\", \"2016-08-09\", \"2016-08-08\", \"2016-08-07\", \"2016-08-06\", \"2016-08-05\", \"2016-08-04\", \"2016-08-03\", \"2016-08-02\", \"2016-08-01\"], \"y\": [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], \"type\": \"scatter\", \"uid\": \"d68d869e-914c-4310-a411-db2fe7b82288\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Date - Visitors\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Date - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.46]}, \"height\": 800, \"width\": 800, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Date Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"04f64474-8a3a-44c0-ad90-a563943f63ab\" style=\"height: 800px; width: 800px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"04f64474-8a3a-44c0-ad90-a563943f63ab\")) {\n    Plotly.newPlot(\"04f64474-8a3a-44c0-ad90-a563943f63ab\", [{\"marker\": {\"color\": \"red\"}, \"showlegend\": false, \"x\": [\"2018-04-30\", \"2018-04-29\", \"2018-04-28\", \"2018-04-27\", \"2018-04-26\", \"2018-04-25\", \"2018-04-24\", \"2018-04-23\", \"2018-04-22\", \"2018-04-21\", \"2018-04-20\", \"2018-04-19\", \"2018-04-18\", \"2018-04-17\", \"2018-04-16\", \"2018-04-15\", \"2018-04-14\", \"2018-04-13\", \"2018-04-12\", \"2018-04-11\", \"2018-04-10\", \"2018-04-09\", \"2018-04-08\", \"2018-04-07\", \"2018-04-06\", \"2018-04-05\", \"2018-04-04\", \"2018-04-03\", \"2018-04-02\", \"2018-04-01\", \"2018-03-31\", \"2018-03-30\", \"2018-03-29\", \"2018-03-28\", \"2018-03-27\", \"2018-03-26\", \"2018-03-25\", \"2018-03-24\", \"2018-03-23\", \"2018-03-22\", \"2018-03-21\", \"2018-03-20\", \"2018-03-19\", \"2018-03-18\", \"2018-03-17\", \"2018-03-16\", \"2018-03-15\", \"2018-03-14\", \"2018-03-13\", \"2018-03-12\", \"2018-03-11\", \"2018-03-10\", \"2018-03-09\", \"2018-03-08\", \"2018-03-07\", \"2018-03-06\", \"2018-03-05\", \"2018-03-04\", \"2018-03-03\", \"2018-03-02\", \"2018-03-01\", \"2018-02-28\", \"2018-02-27\", \"2018-02-26\", \"2018-02-25\", \"2018-02-24\", \"2018-02-23\", \"2018-02-22\", \"2018-02-21\", \"2018-02-20\", \"2018-02-19\", \"2018-02-18\", \"2018-02-17\", \"2018-02-16\", \"2018-02-15\", \"2018-02-14\", \"2018-02-13\", \"2018-02-12\", \"2018-02-11\", \"2018-02-10\", \"2018-02-09\", \"2018-02-08\", \"2018-02-07\", \"2018-02-06\", \"2018-02-05\", \"2018-02-04\", \"2018-02-03\", \"2018-02-02\", \"2018-02-01\", \"2018-01-31\", \"2018-01-30\", \"2018-01-29\", \"2018-01-28\", \"2018-01-27\", \"2018-01-26\", \"2018-01-25\", \"2018-01-24\", \"2018-01-23\", \"2018-01-22\", \"2018-01-21\", \"2018-01-20\", \"2018-01-19\", \"2018-01-18\", \"2018-01-17\", \"2018-01-16\", \"2018-01-15\", \"2018-01-14\", \"2018-01-13\", \"2018-01-12\", \"2018-01-11\", \"2018-01-10\", \"2018-01-09\", \"2018-01-08\", \"2018-01-07\", \"2018-01-06\", \"2018-01-05\", \"2018-01-04\", \"2018-01-03\", \"2018-01-02\", \"2018-01-01\", \"2017-12-31\", \"2017-12-30\", \"2017-12-29\", \"2017-12-28\", \"2017-12-27\", \"2017-12-26\", \"2017-12-25\", \"2017-12-24\", \"2017-12-23\", \"2017-12-22\", \"2017-12-21\", \"2017-12-20\", \"2017-12-19\", \"2017-12-18\", \"2017-12-17\", \"2017-12-16\", \"2017-12-15\", \"2017-12-14\", \"2017-12-13\", \"2017-12-12\", \"2017-12-11\", \"2017-12-10\", \"2017-12-09\", \"2017-12-08\", \"2017-12-07\", \"2017-12-06\", \"2017-12-05\", \"2017-12-04\", \"2017-12-03\", \"2017-12-02\", \"2017-12-01\", \"2017-11-30\", \"2017-11-29\", \"2017-11-28\", \"2017-11-27\", \"2017-11-26\", \"2017-11-25\", \"2017-11-24\", \"2017-11-23\", \"2017-11-22\", \"2017-11-21\", \"2017-11-20\", \"2017-11-19\", \"2017-11-18\", \"2017-11-17\", \"2017-11-16\", \"2017-11-15\", \"2017-11-14\", \"2017-11-13\", \"2017-11-12\", \"2017-11-11\", \"2017-11-10\", \"2017-11-09\", \"2017-11-08\", \"2017-11-07\", \"2017-11-06\", \"2017-11-05\", \"2017-11-04\", \"2017-11-03\", \"2017-11-02\", \"2017-11-01\", \"2017-10-31\", \"2017-10-30\", \"2017-10-29\", \"2017-10-28\", \"2017-10-27\", \"2017-10-26\", \"2017-10-25\", \"2017-10-24\", \"2017-10-23\", \"2017-10-22\", \"2017-10-21\", \"2017-10-20\", \"2017-10-19\", \"2017-10-18\", \"2017-10-17\", \"2017-10-16\", \"2017-10-15\", \"2017-10-14\", \"2017-10-13\", \"2017-10-12\", \"2017-10-11\", \"2017-10-10\", \"2017-10-09\", \"2017-10-08\", \"2017-10-07\", \"2017-10-06\", \"2017-10-05\", \"2017-10-04\", \"2017-10-03\", \"2017-10-02\", \"2017-10-01\", \"2017-09-30\", \"2017-09-29\", \"2017-09-28\", \"2017-09-27\", \"2017-09-26\", \"2017-09-25\", \"2017-09-24\", \"2017-09-23\", \"2017-09-22\", \"2017-09-21\", \"2017-09-20\", \"2017-09-19\", \"2017-09-18\", \"2017-09-17\", \"2017-09-16\", \"2017-09-15\", \"2017-09-14\", \"2017-09-13\", \"2017-09-12\", \"2017-09-11\", \"2017-09-10\", \"2017-09-09\", \"2017-09-08\", \"2017-09-07\", \"2017-09-06\", \"2017-09-05\", \"2017-09-04\", \"2017-09-03\", \"2017-09-02\", \"2017-09-01\", \"2017-08-31\", \"2017-08-30\", \"2017-08-29\", \"2017-08-28\", \"2017-08-27\", \"2017-08-26\", \"2017-08-25\", \"2017-08-24\", \"2017-08-23\", \"2017-08-22\", \"2017-08-21\", \"2017-08-20\", \"2017-08-19\", \"2017-08-18\", \"2017-08-17\", \"2017-08-16\", \"2017-08-15\", \"2017-08-14\", \"2017-08-13\", \"2017-08-12\", \"2017-08-11\", \"2017-08-10\", \"2017-08-09\", \"2017-08-08\", \"2017-08-07\", \"2017-08-06\", \"2017-08-05\", \"2017-08-04\", \"2017-08-03\", \"2017-08-02\", \"2017-08-01\", \"2017-07-31\", \"2017-07-30\", \"2017-07-29\", \"2017-07-28\", \"2017-07-27\", \"2017-07-26\", \"2017-07-25\", \"2017-07-24\", \"2017-07-23\", \"2017-07-22\", \"2017-07-21\", \"2017-07-20\", \"2017-07-19\", \"2017-07-18\", \"2017-07-17\", \"2017-07-16\", \"2017-07-15\", \"2017-07-14\", \"2017-07-13\", \"2017-07-12\", \"2017-07-11\", \"2017-07-10\", \"2017-07-09\", \"2017-07-08\", \"2017-07-07\", \"2017-07-06\", \"2017-07-05\", \"2017-07-04\", \"2017-07-03\", \"2017-07-02\", \"2017-07-01\", \"2017-06-30\", \"2017-06-29\", \"2017-06-28\", \"2017-06-27\", \"2017-06-26\", \"2017-06-25\", \"2017-06-24\", \"2017-06-23\", \"2017-06-22\", \"2017-06-21\", \"2017-06-20\", \"2017-06-19\", \"2017-06-18\", \"2017-06-17\", \"2017-06-16\", \"2017-06-15\", \"2017-06-14\", \"2017-06-13\", \"2017-06-12\", \"2017-06-11\", \"2017-06-10\", \"2017-06-09\", \"2017-06-08\", \"2017-06-07\", \"2017-06-06\", \"2017-06-05\", \"2017-06-04\", \"2017-06-03\", \"2017-06-02\", \"2017-06-01\", \"2017-05-31\", \"2017-05-30\", \"2017-05-29\", \"2017-05-28\", \"2017-05-27\", \"2017-05-26\", \"2017-05-25\", \"2017-05-24\", \"2017-05-23\", \"2017-05-22\", \"2017-05-21\", \"2017-05-20\", \"2017-05-19\", \"2017-05-18\", \"2017-05-17\", \"2017-05-16\", \"2017-05-15\", \"2017-05-14\", \"2017-05-13\", \"2017-05-12\", \"2017-05-11\", \"2017-05-10\", \"2017-05-09\", \"2017-05-08\", \"2017-05-07\", \"2017-05-06\", \"2017-05-05\", \"2017-05-04\", \"2017-05-03\", \"2017-05-02\", \"2017-05-01\", \"2017-04-30\", \"2017-04-29\", \"2017-04-28\", \"2017-04-27\", \"2017-04-26\", \"2017-04-25\", \"2017-04-24\", \"2017-04-23\", \"2017-04-22\", \"2017-04-21\", \"2017-04-20\", \"2017-04-19\", \"2017-04-18\", \"2017-04-17\", \"2017-04-16\", \"2017-04-15\", \"2017-04-14\", \"2017-04-13\", \"2017-04-12\", \"2017-04-11\", \"2017-04-10\", \"2017-04-09\", \"2017-04-08\", \"2017-04-07\", \"2017-04-06\", \"2017-04-05\", \"2017-04-04\", \"2017-04-03\", \"2017-04-02\", \"2017-04-01\", \"2017-03-31\", \"2017-03-30\", \"2017-03-29\", \"2017-03-28\", \"2017-03-27\", \"2017-03-26\", \"2017-03-25\", \"2017-03-24\", \"2017-03-23\", \"2017-03-22\", \"2017-03-21\", \"2017-03-20\", \"2017-03-19\", \"2017-03-18\", \"2017-03-17\", \"2017-03-16\", \"2017-03-15\", \"2017-03-14\", \"2017-03-13\", \"2017-03-12\", \"2017-03-11\", \"2017-03-10\", \"2017-03-09\", \"2017-03-08\", \"2017-03-07\", \"2017-03-06\", \"2017-03-05\", \"2017-03-04\", \"2017-03-03\", \"2017-03-02\", \"2017-03-01\", \"2017-02-28\", \"2017-02-27\", \"2017-02-26\", \"2017-02-25\", \"2017-02-24\", \"2017-02-23\", \"2017-02-22\", \"2017-02-21\", \"2017-02-20\", \"2017-02-19\", \"2017-02-18\", \"2017-02-17\", \"2017-02-16\", \"2017-02-15\", \"2017-02-14\", \"2017-02-13\", \"2017-02-12\", \"2017-02-11\", \"2017-02-10\", \"2017-02-09\", \"2017-02-08\", \"2017-02-07\", \"2017-02-06\", \"2017-02-05\", \"2017-02-04\", \"2017-02-03\", \"2017-02-02\", \"2017-02-01\", \"2017-01-31\", \"2017-01-30\", \"2017-01-29\", \"2017-01-28\", \"2017-01-27\", \"2017-01-26\", \"2017-01-25\", \"2017-01-24\", \"2017-01-23\", \"2017-01-22\", \"2017-01-21\", \"2017-01-20\", \"2017-01-19\", \"2017-01-18\", \"2017-01-17\", \"2017-01-16\", \"2017-01-15\", \"2017-01-14\", \"2017-01-13\", \"2017-01-12\", \"2017-01-11\", \"2017-01-10\", \"2017-01-09\", \"2017-01-08\", \"2017-01-07\", \"2017-01-06\", \"2017-01-05\", \"2017-01-04\", \"2017-01-03\", \"2017-01-02\", \"2017-01-01\", \"2016-12-31\", \"2016-12-30\", \"2016-12-29\", \"2016-12-28\", \"2016-12-27\", \"2016-12-26\", \"2016-12-25\", \"2016-12-24\", \"2016-12-23\", \"2016-12-22\", \"2016-12-21\", \"2016-12-20\", \"2016-12-19\", \"2016-12-18\", \"2016-12-17\", \"2016-12-16\", \"2016-12-15\", \"2016-12-14\", \"2016-12-13\", \"2016-12-12\", \"2016-12-11\", \"2016-12-10\", \"2016-12-09\", \"2016-12-08\", \"2016-12-07\", \"2016-12-06\", \"2016-12-05\", \"2016-12-04\", \"2016-12-03\", \"2016-12-02\", \"2016-12-01\", \"2016-11-30\", \"2016-11-29\", \"2016-11-28\", \"2016-11-27\", \"2016-11-26\", \"2016-11-25\", \"2016-11-24\", \"2016-11-23\", \"2016-11-22\", \"2016-11-21\", \"2016-11-20\", \"2016-11-19\", \"2016-11-18\", \"2016-11-17\", \"2016-11-16\", \"2016-11-15\", \"2016-11-14\", \"2016-11-13\", \"2016-11-12\", \"2016-11-11\", \"2016-11-10\", \"2016-11-09\", \"2016-11-08\", \"2016-11-07\", \"2016-11-06\", \"2016-11-05\", \"2016-11-04\", \"2016-11-03\", \"2016-11-02\", \"2016-11-01\", \"2016-10-31\", \"2016-10-30\", \"2016-10-29\", \"2016-10-28\", \"2016-10-27\", \"2016-10-26\", \"2016-10-25\", \"2016-10-24\", \"2016-10-23\", \"2016-10-22\", \"2016-10-21\", \"2016-10-20\", \"2016-10-19\", \"2016-10-18\", \"2016-10-17\", \"2016-10-16\", \"2016-10-15\", \"2016-10-14\", \"2016-10-13\", \"2016-10-12\", \"2016-10-11\", \"2016-10-10\", \"2016-10-09\", \"2016-10-08\", \"2016-10-07\", \"2016-10-06\", \"2016-10-05\", \"2016-10-04\", \"2016-10-03\", \"2016-10-02\", \"2016-10-01\", \"2016-09-30\", \"2016-09-29\", \"2016-09-28\", \"2016-09-27\", \"2016-09-26\", \"2016-09-25\", \"2016-09-24\", \"2016-09-23\", \"2016-09-22\", \"2016-09-21\", \"2016-09-20\", \"2016-09-19\", \"2016-09-18\", \"2016-09-17\", \"2016-09-16\", \"2016-09-15\", \"2016-09-14\", \"2016-09-13\", \"2016-09-12\", \"2016-09-11\", \"2016-09-10\", \"2016-09-09\", \"2016-09-08\", \"2016-09-07\", \"2016-09-06\", \"2016-09-05\", \"2016-09-04\", \"2016-09-03\", \"2016-09-02\", \"2016-09-01\", \"2016-08-31\", \"2016-08-30\", \"2016-08-29\", \"2016-08-28\", \"2016-08-27\", \"2016-08-26\", \"2016-08-25\", \"2016-08-24\", \"2016-08-23\", \"2016-08-22\", \"2016-08-21\", \"2016-08-20\", \"2016-08-19\", \"2016-08-18\", \"2016-08-17\", \"2016-08-16\", \"2016-08-15\", \"2016-08-14\", \"2016-08-13\", \"2016-08-12\", \"2016-08-11\", \"2016-08-10\", \"2016-08-09\", \"2016-08-08\", \"2016-08-07\", \"2016-08-06\", \"2016-08-05\", \"2016-08-04\", \"2016-08-03\", \"2016-08-02\", \"2016-08-01\"], \"y\": [36, 19, 27, 24, 29, 33, 33, 37, 22, 16, 24, 38, 27, 24, 35, 20, 15, 31, 38, 39, 26, 39, 28, 27, 27, 36, 35, 30, 28, 23, 14, 19, 34, 42, 37, 34, 15, 18, 32, 37, 31, 23, 36, 13, 21, 27, 47, 24, 39, 34, 19, 30, 34, 23, 46, 51, 35, 21, 22, 32, 30, 38, 35, 40, 23, 25, 41, 24, 43, 36, 30, 32, 27, 22, 39, 33, 43, 34, 36, 22, 29, 28, 23, 26, 33, 33, 21, 25, 36, 31, 36, 32, 24, 22, 29, 31, 23, 30, 27, 14, 17, 31, 46, 29, 36, 33, 22, 17, 40, 34, 32, 28, 19, 23, 19, 24, 29, 27, 31, 12, 11, 19, 19, 29, 33, 17, 28, 29, 21, 22, 36, 33, 34, 28, 25, 30, 32, 35, 94, 77, 34, 18, 24, 38, 31, 32, 43, 31, 24, 19, 32, 27, 30, 41, 36, 18, 21, 29, 29, 37, 28, 28, 25, 22, 27, 46, 38, 44, 36, 25, 18, 35, 35, 36, 48, 37, 26, 23, 27, 29, 28, 26, 25, 16, 21, 23, 31, 45, 33, 36, 25, 23, 23, 23, 30, 46, 24, 18, 17, 29, 38, 53, 52, 30, 30, 36, 48, 49, 42, 35, 39, 30, 29, 24, 41, 30, 36, 32, 36, 23, 37, 50, 47, 46, 35, 37, 28, 20, 32, 32, 26, 31, 22, 17, 31, 30, 26, 22, 27, 16, 25, 19, 31, 35, 35, 20, 24, 27, 30, 34, 34, 25, 27, 15, 15, 25, 26, 29, 28, 35, 18, 25, 22, 24, 32, 29, 36, 25, 17, 27, 32, 26, 21, 28, 12, 10, 25, 19, 23, 25, 20, 13, 13, 24, 27, 31, 29, 21, 20, 15, 31, 24, 18, 22, 32, 21, 17, 30, 26, 25, 23, 30, 14, 18, 27, 21, 30, 30, 18, 14, 21, 17, 27, 23, 28, 26, 13, 11, 12, 21, 26, 21, 30, 13, 14, 15, 24, 33, 20, 33, 13, 12, 20, 35, 32, 23, 16, 8, 16, 20, 24, 23, 22, 24, 23, 14, 31, 28, 44, 32, 29, 4, 19, 20, 23, 8, 13, 19, 12, 12, 19, 27, 16, 33, 27, 17, 15, 30, 37, 40, 20, 21, 18, 15, 22, 29, 21, 24, 25, 14, 18, 25, 20, 18, 27, 24, 16, 21, 19, 24, 24, 25, 15, 17, 14, 23, 29, 22, 29, 33, 18, 16, 24, 28, 24, 30, 28, 22, 17, 27, 30, 24, 19, 26, 19, 17, 22, 21, 28, 22, 18, 20, 19, 20, 32, 28, 15, 17, 21, 16, 17, 16, 26, 24, 25, 24, 15, 24, 27, 22, 30, 23, 18, 14, 21, 24, 24, 18, 21, 12, 20, 22, 16, 24, 24, 21, 14, 21, 23, 33, 35, 25, 16, 17, 10, 16, 27, 15, 30, 17, 13, 14, 27, 23, 25, 38, 26, 17, 14, 26, 28, 20, 16, 10, 12, 17, 13, 21, 24, 23, 13, 20, 14, 13, 28, 29, 29, 47, 22, 25, 28, 37, 31, 35, 31, 24, 22, 32, 28, 42, 19, 43, 28, 29, 33, 53, 45, 50, 50, 38, 17, 35, 34, 39, 41, 42, 35, 30, 37, 33, 35, 51, 35, 32, 34, 33, 48, 39, 38, 38, 37, 27, 36, 42, 55, 34, 26, 37, 21, 39, 34, 48, 37, 32, 25, 28, 34, 33, 37, 39, 38, 21, 35, 32, 22, 35, 34, 30, 18, 14, 35, 30, 40, 42, 18, 18, 15, 17, 24, 26, 18, 17, 17, 17, 24, 32, 21, 32, 23, 21, 17, 22, 25, 22, 19, 21, 24, 14, 19, 21, 23, 20, 17, 10, 14, 22, 25, 30, 31, 26, 18, 19, 29, 20, 18, 27, 34, 22, 14, 30, 31, 27, 32, 29, 16, 15, 17, 23, 31, 28, 38, 12, 14, 22, 23, 39, 28, 12], \"type\": \"scatter\", \"uid\": \"6d461e0b-4339-4594-b59e-34ab661ea7a0\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"blue\"}, \"showlegend\": false, \"x\": [\"2018-04-30\", \"2018-04-29\", \"2018-04-28\", \"2018-04-27\", \"2018-04-26\", \"2018-04-25\", \"2018-04-24\", \"2018-04-23\", \"2018-04-22\", \"2018-04-21\", \"2018-04-20\", \"2018-04-19\", \"2018-04-18\", \"2018-04-17\", \"2018-04-16\", \"2018-04-15\", \"2018-04-14\", \"2018-04-13\", \"2018-04-12\", \"2018-04-11\", \"2018-04-10\", \"2018-04-09\", \"2018-04-08\", \"2018-04-07\", \"2018-04-06\", \"2018-04-05\", \"2018-04-04\", \"2018-04-03\", \"2018-04-02\", \"2018-04-01\", \"2018-03-31\", \"2018-03-30\", \"2018-03-29\", \"2018-03-28\", \"2018-03-27\", \"2018-03-26\", \"2018-03-25\", \"2018-03-24\", \"2018-03-23\", \"2018-03-22\", \"2018-03-21\", \"2018-03-20\", \"2018-03-19\", \"2018-03-18\", \"2018-03-17\", \"2018-03-16\", \"2018-03-15\", \"2018-03-14\", \"2018-03-13\", \"2018-03-12\", \"2018-03-11\", \"2018-03-10\", \"2018-03-09\", \"2018-03-08\", \"2018-03-07\", \"2018-03-06\", \"2018-03-05\", \"2018-03-04\", \"2018-03-03\", \"2018-03-02\", \"2018-03-01\", \"2018-02-28\", \"2018-02-27\", \"2018-02-26\", \"2018-02-25\", \"2018-02-24\", \"2018-02-23\", \"2018-02-22\", \"2018-02-21\", \"2018-02-20\", \"2018-02-19\", \"2018-02-18\", \"2018-02-17\", \"2018-02-16\", \"2018-02-15\", \"2018-02-14\", \"2018-02-13\", \"2018-02-12\", \"2018-02-11\", \"2018-02-10\", \"2018-02-09\", \"2018-02-08\", \"2018-02-07\", \"2018-02-06\", \"2018-02-05\", \"2018-02-04\", \"2018-02-03\", \"2018-02-02\", \"2018-02-01\", \"2018-01-31\", \"2018-01-30\", \"2018-01-29\", \"2018-01-28\", \"2018-01-27\", \"2018-01-26\", \"2018-01-25\", \"2018-01-24\", \"2018-01-23\", \"2018-01-22\", \"2018-01-21\", \"2018-01-20\", \"2018-01-19\", \"2018-01-18\", \"2018-01-17\", \"2018-01-16\", \"2018-01-15\", \"2018-01-14\", \"2018-01-13\", \"2018-01-12\", \"2018-01-11\", \"2018-01-10\", \"2018-01-09\", \"2018-01-08\", \"2018-01-07\", \"2018-01-06\", \"2018-01-05\", \"2018-01-04\", \"2018-01-03\", \"2018-01-02\", \"2018-01-01\", \"2017-12-31\", \"2017-12-30\", \"2017-12-29\", \"2017-12-28\", \"2017-12-27\", \"2017-12-26\", \"2017-12-25\", \"2017-12-24\", \"2017-12-23\", \"2017-12-22\", \"2017-12-21\", \"2017-12-20\", \"2017-12-19\", \"2017-12-18\", \"2017-12-17\", \"2017-12-16\", \"2017-12-15\", \"2017-12-14\", \"2017-12-13\", \"2017-12-12\", \"2017-12-11\", \"2017-12-10\", \"2017-12-09\", \"2017-12-08\", \"2017-12-07\", \"2017-12-06\", \"2017-12-05\", \"2017-12-04\", \"2017-12-03\", \"2017-12-02\", \"2017-12-01\", \"2017-11-30\", \"2017-11-29\", \"2017-11-28\", \"2017-11-27\", \"2017-11-26\", \"2017-11-25\", \"2017-11-24\", \"2017-11-23\", \"2017-11-22\", \"2017-11-21\", \"2017-11-20\", \"2017-11-19\", \"2017-11-18\", \"2017-11-17\", \"2017-11-16\", \"2017-11-15\", \"2017-11-14\", \"2017-11-13\", \"2017-11-12\", \"2017-11-11\", \"2017-11-10\", \"2017-11-09\", \"2017-11-08\", \"2017-11-07\", \"2017-11-06\", \"2017-11-05\", \"2017-11-04\", \"2017-11-03\", \"2017-11-02\", \"2017-11-01\", \"2017-10-31\", \"2017-10-30\", \"2017-10-29\", \"2017-10-28\", \"2017-10-27\", \"2017-10-26\", \"2017-10-25\", \"2017-10-24\", \"2017-10-23\", \"2017-10-22\", \"2017-10-21\", \"2017-10-20\", \"2017-10-19\", \"2017-10-18\", \"2017-10-17\", \"2017-10-16\", \"2017-10-15\", \"2017-10-14\", \"2017-10-13\", \"2017-10-12\", \"2017-10-11\", \"2017-10-10\", \"2017-10-09\", \"2017-10-08\", \"2017-10-07\", \"2017-10-06\", \"2017-10-05\", \"2017-10-04\", \"2017-10-03\", \"2017-10-02\", \"2017-10-01\", \"2017-09-30\", \"2017-09-29\", \"2017-09-28\", \"2017-09-27\", \"2017-09-26\", \"2017-09-25\", \"2017-09-24\", \"2017-09-23\", \"2017-09-22\", \"2017-09-21\", \"2017-09-20\", \"2017-09-19\", \"2017-09-18\", \"2017-09-17\", \"2017-09-16\", \"2017-09-15\", \"2017-09-14\", \"2017-09-13\", \"2017-09-12\", \"2017-09-11\", \"2017-09-10\", \"2017-09-09\", \"2017-09-08\", \"2017-09-07\", \"2017-09-06\", \"2017-09-05\", \"2017-09-04\", \"2017-09-03\", \"2017-09-02\", \"2017-09-01\", \"2017-08-31\", \"2017-08-30\", \"2017-08-29\", \"2017-08-28\", \"2017-08-27\", \"2017-08-26\", \"2017-08-25\", \"2017-08-24\", \"2017-08-23\", \"2017-08-22\", \"2017-08-21\", \"2017-08-20\", \"2017-08-19\", \"2017-08-18\", \"2017-08-17\", \"2017-08-16\", \"2017-08-15\", \"2017-08-14\", \"2017-08-13\", \"2017-08-12\", \"2017-08-11\", \"2017-08-10\", \"2017-08-09\", \"2017-08-08\", \"2017-08-07\", \"2017-08-06\", \"2017-08-05\", \"2017-08-04\", \"2017-08-03\", \"2017-08-02\", \"2017-08-01\", \"2017-07-31\", \"2017-07-30\", \"2017-07-29\", \"2017-07-28\", \"2017-07-27\", \"2017-07-26\", \"2017-07-25\", \"2017-07-24\", \"2017-07-23\", \"2017-07-22\", \"2017-07-21\", \"2017-07-20\", \"2017-07-19\", \"2017-07-18\", \"2017-07-17\", \"2017-07-16\", \"2017-07-15\", \"2017-07-14\", \"2017-07-13\", \"2017-07-12\", \"2017-07-11\", \"2017-07-10\", \"2017-07-09\", \"2017-07-08\", \"2017-07-07\", \"2017-07-06\", \"2017-07-05\", \"2017-07-04\", \"2017-07-03\", \"2017-07-02\", \"2017-07-01\", \"2017-06-30\", \"2017-06-29\", \"2017-06-28\", \"2017-06-27\", \"2017-06-26\", \"2017-06-25\", \"2017-06-24\", \"2017-06-23\", \"2017-06-22\", \"2017-06-21\", \"2017-06-20\", \"2017-06-19\", \"2017-06-18\", \"2017-06-17\", \"2017-06-16\", \"2017-06-15\", \"2017-06-14\", \"2017-06-13\", \"2017-06-12\", \"2017-06-11\", \"2017-06-10\", \"2017-06-09\", \"2017-06-08\", \"2017-06-07\", \"2017-06-06\", \"2017-06-05\", \"2017-06-04\", \"2017-06-03\", \"2017-06-02\", \"2017-06-01\", \"2017-05-31\", \"2017-05-30\", \"2017-05-29\", \"2017-05-28\", \"2017-05-27\", \"2017-05-26\", \"2017-05-25\", \"2017-05-24\", \"2017-05-23\", \"2017-05-22\", \"2017-05-21\", \"2017-05-20\", \"2017-05-19\", \"2017-05-18\", \"2017-05-17\", \"2017-05-16\", \"2017-05-15\", \"2017-05-14\", \"2017-05-13\", \"2017-05-12\", \"2017-05-11\", \"2017-05-10\", \"2017-05-09\", \"2017-05-08\", \"2017-05-07\", \"2017-05-06\", \"2017-05-05\", \"2017-05-04\", \"2017-05-03\", \"2017-05-02\", \"2017-05-01\", \"2017-04-30\", \"2017-04-29\", \"2017-04-28\", \"2017-04-27\", \"2017-04-26\", \"2017-04-25\", \"2017-04-24\", \"2017-04-23\", \"2017-04-22\", \"2017-04-21\", \"2017-04-20\", \"2017-04-19\", \"2017-04-18\", \"2017-04-17\", \"2017-04-16\", \"2017-04-15\", \"2017-04-14\", \"2017-04-13\", \"2017-04-12\", \"2017-04-11\", \"2017-04-10\", \"2017-04-09\", \"2017-04-08\", \"2017-04-07\", \"2017-04-06\", \"2017-04-05\", \"2017-04-04\", \"2017-04-03\", \"2017-04-02\", \"2017-04-01\", \"2017-03-31\", \"2017-03-30\", \"2017-03-29\", \"2017-03-28\", \"2017-03-27\", \"2017-03-26\", \"2017-03-25\", \"2017-03-24\", \"2017-03-23\", \"2017-03-22\", \"2017-03-21\", \"2017-03-20\", \"2017-03-19\", \"2017-03-18\", \"2017-03-17\", \"2017-03-16\", \"2017-03-15\", \"2017-03-14\", \"2017-03-13\", \"2017-03-12\", \"2017-03-11\", \"2017-03-10\", \"2017-03-09\", \"2017-03-08\", \"2017-03-07\", \"2017-03-06\", \"2017-03-05\", \"2017-03-04\", \"2017-03-03\", \"2017-03-02\", \"2017-03-01\", \"2017-02-28\", \"2017-02-27\", \"2017-02-26\", \"2017-02-25\", \"2017-02-24\", \"2017-02-23\", \"2017-02-22\", \"2017-02-21\", \"2017-02-20\", \"2017-02-19\", \"2017-02-18\", \"2017-02-17\", \"2017-02-16\", \"2017-02-15\", \"2017-02-14\", \"2017-02-13\", \"2017-02-12\", \"2017-02-11\", \"2017-02-10\", \"2017-02-09\", \"2017-02-08\", \"2017-02-07\", \"2017-02-06\", \"2017-02-05\", \"2017-02-04\", \"2017-02-03\", \"2017-02-02\", \"2017-02-01\", \"2017-01-31\", \"2017-01-30\", \"2017-01-29\", \"2017-01-28\", \"2017-01-27\", \"2017-01-26\", \"2017-01-25\", \"2017-01-24\", \"2017-01-23\", \"2017-01-22\", \"2017-01-21\", \"2017-01-20\", \"2017-01-19\", \"2017-01-18\", \"2017-01-17\", \"2017-01-16\", \"2017-01-15\", \"2017-01-14\", \"2017-01-13\", \"2017-01-12\", \"2017-01-11\", \"2017-01-10\", \"2017-01-09\", \"2017-01-08\", \"2017-01-07\", \"2017-01-06\", \"2017-01-05\", \"2017-01-04\", \"2017-01-03\", \"2017-01-02\", \"2017-01-01\", \"2016-12-31\", \"2016-12-30\", \"2016-12-29\", \"2016-12-28\", \"2016-12-27\", \"2016-12-26\", \"2016-12-25\", \"2016-12-24\", \"2016-12-23\", \"2016-12-22\", \"2016-12-21\", \"2016-12-20\", \"2016-12-19\", \"2016-12-18\", \"2016-12-17\", \"2016-12-16\", \"2016-12-15\", \"2016-12-14\", \"2016-12-13\", \"2016-12-12\", \"2016-12-11\", \"2016-12-10\", \"2016-12-09\", \"2016-12-08\", \"2016-12-07\", \"2016-12-06\", \"2016-12-05\", \"2016-12-04\", \"2016-12-03\", \"2016-12-02\", \"2016-12-01\", \"2016-11-30\", \"2016-11-29\", \"2016-11-28\", \"2016-11-27\", \"2016-11-26\", \"2016-11-25\", \"2016-11-24\", \"2016-11-23\", \"2016-11-22\", \"2016-11-21\", \"2016-11-20\", \"2016-11-19\", \"2016-11-18\", \"2016-11-17\", \"2016-11-16\", \"2016-11-15\", \"2016-11-14\", \"2016-11-13\", \"2016-11-12\", \"2016-11-11\", \"2016-11-10\", \"2016-11-09\", \"2016-11-08\", \"2016-11-07\", \"2016-11-06\", \"2016-11-05\", \"2016-11-04\", \"2016-11-03\", \"2016-11-02\", \"2016-11-01\", \"2016-10-31\", \"2016-10-30\", \"2016-10-29\", \"2016-10-28\", \"2016-10-27\", \"2016-10-26\", \"2016-10-25\", \"2016-10-24\", \"2016-10-23\", \"2016-10-22\", \"2016-10-21\", \"2016-10-20\", \"2016-10-19\", \"2016-10-18\", \"2016-10-17\", \"2016-10-16\", \"2016-10-15\", \"2016-10-14\", \"2016-10-13\", \"2016-10-12\", \"2016-10-11\", \"2016-10-10\", \"2016-10-09\", \"2016-10-08\", \"2016-10-07\", \"2016-10-06\", \"2016-10-05\", \"2016-10-04\", \"2016-10-03\", \"2016-10-02\", \"2016-10-01\", \"2016-09-30\", \"2016-09-29\", \"2016-09-28\", \"2016-09-27\", \"2016-09-26\", \"2016-09-25\", \"2016-09-24\", \"2016-09-23\", \"2016-09-22\", \"2016-09-21\", \"2016-09-20\", \"2016-09-19\", \"2016-09-18\", \"2016-09-17\", \"2016-09-16\", \"2016-09-15\", \"2016-09-14\", \"2016-09-13\", \"2016-09-12\", \"2016-09-11\", \"2016-09-10\", \"2016-09-09\", \"2016-09-08\", \"2016-09-07\", \"2016-09-06\", \"2016-09-05\", \"2016-09-04\", \"2016-09-03\", \"2016-09-02\", \"2016-09-01\", \"2016-08-31\", \"2016-08-30\", \"2016-08-29\", \"2016-08-28\", \"2016-08-27\", \"2016-08-26\", \"2016-08-25\", \"2016-08-24\", \"2016-08-23\", \"2016-08-22\", \"2016-08-21\", \"2016-08-20\", \"2016-08-19\", \"2016-08-18\", \"2016-08-17\", \"2016-08-16\", \"2016-08-15\", \"2016-08-14\", \"2016-08-13\", \"2016-08-12\", \"2016-08-11\", \"2016-08-10\", \"2016-08-09\", \"2016-08-08\", \"2016-08-07\", \"2016-08-06\", \"2016-08-05\", \"2016-08-04\", \"2016-08-03\", \"2016-08-02\", \"2016-08-01\"], \"y\": [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], \"type\": \"scatter\", \"uid\": \"d68d869e-914c-4310-a411-db2fe7b82288\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Date - Visitors\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Date - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.46]}, \"height\": 800, \"width\": 800, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Date Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"def horizontal_bar_chart(cnt_srs, color):\n    trace = go.Bar(\n        y=cnt_srs.index[::-1],\n        x=cnt_srs.values[::-1],\n        showlegend=False,\n        orientation = 'h',\n        marker=dict(\n            color=color,\n        ),\n    )\n    return trace\n\n# Device Browser\ncnt_srs = datavis.groupby('device.browser')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace1 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'rgba(149, 48, 90, 0.6)')\ntrace2 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10), 'rgba(149, 48, 90, 0.6)')\ntrace3 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10), 'rgba(149, 48, 90, 0.6)')\n\n# Device Category\ncnt_srs = datavis.groupby('device.deviceCategory')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace4 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'rgba(28, 151, 89, 0.6)')\ntrace5 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10), 'rgba(28, 151, 89, 0.6)')\ntrace6 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10), 'rgba(28, 151, 89, 0.6)')\n\n# Operating system\ncnt_srs = datavis.groupby('device.operatingSystem')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace7 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'rgba(60, 150, 60, 0.6)')\ntrace8 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10),'rgba(60, 150, 60, 0.6)')\ntrace9 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10),'rgba(60, 150, 60, 0.6)')\n\n# Creating two subplots\nfig = tools.make_subplots(rows=3, cols=3, vertical_spacing=0.04, \n                          subplot_titles=[\"Device Browser - Visitors\", \"Device Browser - Paying Customers\", \"Device Browser - Mean Revenue\",\n                                          \"Device Category - Visitors\",  \"Device Category - Paying Customers\", \"Device Category - Mean Revenue\", \n                                          \"Device OS - Visitors\", \"Device OS - Paying Customers\", \"Device OS - Mean Revenue\"])\n\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 1, 2)\nfig.append_trace(trace3, 1, 3)\nfig.append_trace(trace4, 2, 1)\nfig.append_trace(trace5, 2, 2)\nfig.append_trace(trace6, 2, 3)\nfig.append_trace(trace7, 3, 1)\nfig.append_trace(trace8, 3, 2)\nfig.append_trace(trace9, 3, 3)\n\nfig['layout'].update(height=1200, width=1200, paper_bgcolor='rgb(233,233,233)', title=\"Device Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='device-plots')","execution_count":55,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]  [ (1,2) x2,y2 ]  [ (1,3) x3,y3 ]\n[ (2,1) x4,y4 ]  [ (2,2) x5,y5 ]  [ (2,3) x6,y6 ]\n[ (3,1) x7,y7 ]  [ (3,2) x8,y8 ]  [ (3,3) x9,y9 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"rgba(149, 48, 90, 0.6)"},"orientation":"h","showlegend":false,"x":[104,131,154,155,202,341,372,635,3036,11792],"y":["Opera","Safari (in-app)","Samsung Internet","Opera Mini","Edge","Android Webview","Internet Explorer","Firefox","Safari","Chrome"],"type":"bar","uid":"f77c32ba-66cc-49ca-9506-97456b38c4c2","xaxis":"x","yaxis":"y"},{"marker":{"color":"rgba(149, 48, 90, 0.6)"},"orientation":"h","showlegend":false,"x":[0,0,0,0,0,0,2,3,10,138],"y":["Opera","Safari (in-app)","Samsung Internet","Opera Mini","Edge","Android Webview","Internet Explorer","Firefox","Safari","Chrome"],"type":"bar","uid":"7a03c112-31cd-40bb-8df3-11ca80215d75","xaxis":"x2","yaxis":"y2"},{"marker":{"color":"rgba(149, 48, 90, 0.6)"},"orientation":"h","showlegend":false,"x":[null,null,null,null,null,null,37485000,129420000,11739000,131798115.94202898],"y":["Opera","Safari (in-app)","Samsung Internet","Opera Mini","Edge","Android Webview","Internet Explorer","Firefox","Safari","Chrome"],"type":"bar","uid":"8cd9a96c-7dfc-475f-ba99-1c382ffdda15","xaxis":"x3","yaxis":"y3"},{"marker":{"color":"rgba(128, 51, 89, 0.6)"},"orientation":"h","showlegend":false,"x":[642,4726,11715],"y":["tablet","mobile","desktop"],"type":"bar","uid":"014f3282-181e-4778-8c89-7a52d3f1657c","xaxis":"x4","yaxis":"y4"},{"marker":{"color":"rgba(128, 51, 89, 0.6)"},"orientation":"h","showlegend":false,"x":[2,10,141],"y":["tablet","mobile","desktop"],"type":"bar","uid":"d355396b-d8e9-44b9-8db0-15e01580b5cc","xaxis":"x5","yaxis":"y5"},{"marker":{"color":"rgba(128, 51, 89, 0.6)"},"orientation":"h","showlegend":false,"x":[22485000,23399000,131133333.33333333],"y":["tablet","mobile","desktop"],"type":"bar","uid":"21184e0a-a2eb-4ae9-92d7-999fb12c3156","xaxis":"x6","yaxis":"y6"},{"marker":{"color":"rgba(60, 150, 60, 0.6)"},"orientation":"h","showlegend":false,"x":[11,12,19,117,510,595,2111,3063,4363,6268],"y":["Tizen","Samsung","Windows Phone","(not set)","Chrome OS","Linux","iOS","Android","Macintosh","Windows"],"type":"bar","uid":"f11d6933-d713-4112-b54f-ef4bb3c3e39a","xaxis":"x7","yaxis":"y7"},{"marker":{"color":"rgba(60, 150, 60, 0.6)"},"orientation":"h","showlegend":false,"x":[0,0,0,0,11,9,6,6,96,25],"y":["Tizen","Samsung","Windows Phone","(not set)","Chrome OS","Linux","iOS","Android","Macintosh","Windows"],"type":"bar","uid":"8de6609a-3418-4d7f-afe0-3d02e726750f","xaxis":"x8","yaxis":"y8"},{"marker":{"color":"rgba(60, 150, 60, 0.6)"},"orientation":"h","showlegend":false,"x":[null,null,null,null,105913636.36363636,86060000,10708333.333333334,35785000,137164479.16666666,135296800],"y":["Tizen","Samsung","Windows Phone","(not set)","Chrome OS","Linux","iOS","Android","Macintosh","Windows"],"type":"bar","uid":"ed1a07f7-f87c-4c8d-b85d-2028eed2c614","xaxis":"x9","yaxis":"y9"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Device Browser - Visitors","x":0.14444444444444446,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device Browser - Paying Customers","x":0.5,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device Browser - Mean Revenue","x":0.8555555555555556,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device Category - Visitors","x":0.14444444444444446,"xanchor":"center","xref":"paper","y":0.6533333333333333,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device Category - Paying Customers","x":0.5,"xanchor":"center","xref":"paper","y":0.6533333333333333,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device Category - Mean Revenue","x":0.8555555555555556,"xanchor":"center","xref":"paper","y":0.6533333333333333,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device OS - Visitors","x":0.14444444444444446,"xanchor":"center","xref":"paper","y":0.3066666666666667,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device OS - Paying Customers","x":0.5,"xanchor":"center","xref":"paper","y":0.3066666666666667,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Device OS - Mean Revenue","x":0.8555555555555556,"xanchor":"center","xref":"paper","y":0.3066666666666667,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,0.2888888888888889]},"yaxis":{"anchor":"x","domain":[0.6933333333333334,1]},"xaxis2":{"anchor":"y2","domain":[0.35555555555555557,0.6444444444444445]},"yaxis2":{"anchor":"x2","domain":[0.6933333333333334,1]},"xaxis3":{"anchor":"y3","domain":[0.7111111111111111,1]},"yaxis3":{"anchor":"x3","domain":[0.6933333333333334,1]},"xaxis4":{"anchor":"y4","domain":[0,0.2888888888888889]},"yaxis4":{"anchor":"x4","domain":[0.3466666666666667,0.6533333333333333]},"xaxis5":{"anchor":"y5","domain":[0.35555555555555557,0.6444444444444445]},"yaxis5":{"anchor":"x5","domain":[0.3466666666666667,0.6533333333333333]},"xaxis6":{"anchor":"y6","domain":[0.7111111111111111,1]},"yaxis6":{"anchor":"x6","domain":[0.3466666666666667,0.6533333333333333]},"xaxis7":{"anchor":"y7","domain":[0,0.2888888888888889]},"yaxis7":{"anchor":"x7","domain":[0,0.3066666666666667]},"xaxis8":{"anchor":"y8","domain":[0.35555555555555557,0.6444444444444445]},"yaxis8":{"anchor":"x8","domain":[0,0.3066666666666667]},"xaxis9":{"anchor":"y9","domain":[0.7111111111111111,1]},"yaxis9":{"anchor":"x9","domain":[0,0.3066666666666667]},"height":1200,"width":1200,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Device Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"81885dfb-8bb5-4818-922a-22fec61d05ab\" style=\"height: 1200px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"81885dfb-8bb5-4818-922a-22fec61d05ab\")) {\n    Plotly.newPlot(\"81885dfb-8bb5-4818-922a-22fec61d05ab\", [{\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [104, 131, 154, 155, 202, 341, 372, 635, 3036, 11792], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"f77c32ba-66cc-49ca-9506-97456b38c4c2\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 0, 2, 3, 10, 138], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"7a03c112-31cd-40bb-8df3-11ca80215d75\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, null, 37485000.0, 129420000.0, 11739000.0, 131798115.94202898], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"8cd9a96c-7dfc-475f-ba99-1c382ffdda15\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [642, 4726, 11715], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"014f3282-181e-4778-8c89-7a52d3f1657c\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 10, 141], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"d355396b-d8e9-44b9-8db0-15e01580b5cc\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [22485000.0, 23399000.0, 131133333.33333333], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"21184e0a-a2eb-4ae9-92d7-999fb12c3156\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [11, 12, 19, 117, 510, 595, 2111, 3063, 4363, 6268], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"f11d6933-d713-4112-b54f-ef4bb3c3e39a\", \"xaxis\": \"x7\", \"yaxis\": \"y7\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 11, 9, 6, 6, 96, 25], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"8de6609a-3418-4d7f-afe0-3d02e726750f\", \"xaxis\": \"x8\", \"yaxis\": \"y8\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, 105913636.36363636, 86060000.0, 10708333.333333334, 35785000.0, 137164479.16666666, 135296800.0], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"ed1a07f7-f87c-4c8d-b85d-2028eed2c614\", \"xaxis\": \"x9\", \"yaxis\": \"y9\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis7\": {\"anchor\": \"y7\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis7\": {\"anchor\": \"x7\", \"domain\": [0.0, 0.3066666666666667]}, \"xaxis8\": {\"anchor\": \"y8\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis8\": {\"anchor\": \"x8\", \"domain\": [0.0, 0.3066666666666667]}, \"xaxis9\": {\"anchor\": \"y9\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis9\": {\"anchor\": \"x9\", \"domain\": [0.0, 0.3066666666666667]}, \"height\": 1200, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Device Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"81885dfb-8bb5-4818-922a-22fec61d05ab\" style=\"height: 1200px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"81885dfb-8bb5-4818-922a-22fec61d05ab\")) {\n    Plotly.newPlot(\"81885dfb-8bb5-4818-922a-22fec61d05ab\", [{\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [104, 131, 154, 155, 202, 341, 372, 635, 3036, 11792], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"f77c32ba-66cc-49ca-9506-97456b38c4c2\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 0, 2, 3, 10, 138], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"7a03c112-31cd-40bb-8df3-11ca80215d75\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"rgba(149, 48, 90, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, null, 37485000.0, 129420000.0, 11739000.0, 131798115.94202898], \"y\": [\"Opera\", \"Safari (in-app)\", \"Samsung Internet\", \"Opera Mini\", \"Edge\", \"Android Webview\", \"Internet Explorer\", \"Firefox\", \"Safari\", \"Chrome\"], \"type\": \"bar\", \"uid\": \"8cd9a96c-7dfc-475f-ba99-1c382ffdda15\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [642, 4726, 11715], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"014f3282-181e-4778-8c89-7a52d3f1657c\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 10, 141], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"d355396b-d8e9-44b9-8db0-15e01580b5cc\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"rgba(128, 51, 89, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [22485000.0, 23399000.0, 131133333.33333333], \"y\": [\"tablet\", \"mobile\", \"desktop\"], \"type\": \"bar\", \"uid\": \"21184e0a-a2eb-4ae9-92d7-999fb12c3156\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [11, 12, 19, 117, 510, 595, 2111, 3063, 4363, 6268], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"f11d6933-d713-4112-b54f-ef4bb3c3e39a\", \"xaxis\": \"x7\", \"yaxis\": \"y7\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 11, 9, 6, 6, 96, 25], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"8de6609a-3418-4d7f-afe0-3d02e726750f\", \"xaxis\": \"x8\", \"yaxis\": \"y8\"}, {\"marker\": {\"color\": \"rgba(60, 150, 60, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, 105913636.36363636, 86060000.0, 10708333.333333334, 35785000.0, 137164479.16666666, 135296800.0], \"y\": [\"Tizen\", \"Samsung\", \"Windows Phone\", \"(not set)\", \"Chrome OS\", \"Linux\", \"iOS\", \"Android\", \"Macintosh\", \"Windows\"], \"type\": \"bar\", \"uid\": \"ed1a07f7-f87c-4c8d-b85d-2028eed2c614\", \"xaxis\": \"x9\", \"yaxis\": \"y9\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Browser - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device Category - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6533333333333333, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Visitors\", \"x\": 0.14444444444444446, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Paying Customers\", \"x\": 0.5, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Device OS - Mean Revenue\", \"x\": 0.8555555555555556, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.3066666666666667, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.6933333333333334, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.3466666666666667, 0.6533333333333333]}, \"xaxis7\": {\"anchor\": \"y7\", \"domain\": [0.0, 0.2888888888888889]}, \"yaxis7\": {\"anchor\": \"x7\", \"domain\": [0.0, 0.3066666666666667]}, \"xaxis8\": {\"anchor\": \"y8\", \"domain\": [0.35555555555555557, 0.6444444444444445]}, \"yaxis8\": {\"anchor\": \"x8\", \"domain\": [0.0, 0.3066666666666667]}, \"xaxis9\": {\"anchor\": \"y9\", \"domain\": [0.7111111111111111, 1.0]}, \"yaxis9\": {\"anchor\": \"x9\", \"domain\": [0.0, 0.3066666666666667]}, \"height\": 1200, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Device Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Continent\ncnt_srs = datavis.groupby('geoNetwork.continent')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace1 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'rgba(78, 50, 120, 0.6)')\ntrace2 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10), 'rgba(78, 50, 120, 0.6)')\ntrace3 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10), 'rgba(78, 50, 120, 0.6)')\n\n# Sub-continent\ncnt_srs = datavis.groupby('geoNetwork.subContinent')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace4 = horizontal_bar_chart(cnt_srs[\"count\"], 'black')\ntrace5 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"], 'black')\ntrace6 = horizontal_bar_chart(cnt_srs[\"mean\"], 'black')\n\n# Network domain\ncnt_srs = datavis.groupby('geoNetwork.networkDomain')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace7 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'orange')\ntrace8 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10), 'orange')\ntrace9 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10), 'orange')\n\n# Creating two subplots\nfig = tools.make_subplots(rows=3, cols=3, vertical_spacing=0.08, horizontal_spacing=0.15, \n                          subplot_titles=[\"Continent - Visitors\", \"Continent - Paying Customers\", \"Continent - Mean Revenue\",\n                                          \"Sub Continent - Visitors\",  \"Sub Continent - Paying Customers\", \"Sub Continent - Mean Revenue\",\n                                          \"Network Domain - Visitors\", \"Network Domain - Paying Customers\", \"Network Domain - Mean Revenue\"])\n\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 1, 2)\nfig.append_trace(trace3, 1, 3)\nfig.append_trace(trace4, 2, 1)\nfig.append_trace(trace5, 2, 2)\nfig.append_trace(trace6, 2, 3)\nfig.append_trace(trace7, 3, 1)\nfig.append_trace(trace8, 3, 2)\nfig.append_trace(trace9, 3, 3)\n\nfig['layout'].update(height=1500, width=1200, paper_bgcolor='rgb(233,233,233)', title=\"Geography Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='geo-plots')","execution_count":56,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]  [ (1,2) x2,y2 ]  [ (1,3) x3,y3 ]\n[ (2,1) x4,y4 ]  [ (2,2) x5,y5 ]  [ (2,3) x6,y6 ]\n[ (3,1) x7,y7 ]  [ (3,2) x8,y8 ]  [ (3,3) x9,y9 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"rgba(78, 50, 120, 0.6)"},"orientation":"h","showlegend":false,"x":[28,280,380,3730,3931,8734],"y":["(not set)","Oceania","Africa","Europe","Asia","Americas"],"type":"bar","uid":"285d88b1-22f0-44f9-b83f-85f19ec8928c","xaxis":"x","yaxis":"y"},{"marker":{"color":"rgba(78, 50, 120, 0.6)"},"orientation":"h","showlegend":false,"x":[0,0,0,0,0,153],"y":["(not set)","Oceania","Africa","Europe","Asia","Americas"],"type":"bar","uid":"1cfeb293-a92a-4268-b0a0-29b7ae953142","xaxis":"x2","yaxis":"y2"},{"marker":{"color":"rgba(78, 50, 120, 0.6)"},"orientation":"h","showlegend":false,"x":[null,null,null,null,null,122671633.9869281],"y":["(not set)","Oceania","Africa","Europe","Asia","Americas"],"type":"bar","uid":"b86acfe5-45a9-41b5-960e-432b821aa9d8","xaxis":"x3","yaxis":"y3"},{"marker":{"color":"black"},"orientation":"h","showlegend":false,"x":[1,1,9,23,28,42,54,63,71,183,278,284,619,718,777,791,919,1104,1117,1176,1194,7631],"y":["Melanesia","Micronesian Region","Middle Africa","Central Asia","(not set)","Caribbean","Eastern Africa","Southern Africa","Western Africa","Northern Africa","Australasia","Central America","Western Asia","Southern Europe","South America","Eastern Europe","Eastern Asia","Northern Europe","Western Europe","Southern Asia","Southeast Asia","Northern America"],"type":"bar","uid":"db7248f0-4fd2-443f-a751-05ea1e141aa1","xaxis":"x4","yaxis":"y4"},{"marker":{"color":"black"},"orientation":"h","showlegend":false,"x":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,152],"y":["Melanesia","Micronesian Region","Middle Africa","Central Asia","(not set)","Caribbean","Eastern Africa","Southern Africa","Western Africa","Northern Africa","Australasia","Central America","Western Asia","Southern Europe","South America","Eastern Europe","Eastern Asia","Northern Europe","Western Europe","Southern Asia","Southeast Asia","Northern America"],"type":"bar","uid":"9b444310-1d1c-4ee5-adab-41c276991612","xaxis":"x5","yaxis":"y5"},{"marker":{"color":"black"},"orientation":"h","showlegend":false,"x":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,97410000,null,null,null,null,null,null,122837828.94736843],"y":["Melanesia","Micronesian Region","Middle Africa","Central Asia","(not set)","Caribbean","Eastern Africa","Southern Africa","Western Africa","Northern Africa","Australasia","Central America","Western Asia","Southern Europe","South America","Eastern Europe","Eastern Asia","Northern Europe","Western Europe","Southern Asia","Southeast Asia","Northern America"],"type":"bar","uid":"d32ebb31-6ef6-4bb4-ac8a-843a90938cb4","xaxis":"x6","yaxis":"y6"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[123,125,151,168,177,260,282,564,2789,4907],"y":["cox.net","virginm.net","ttnet.com.tr","hinet.net","comcastbusiness.net","rr.com","verizon.net","comcast.net","unknown.unknown","(not set)"],"type":"bar","uid":"5753fafe-4058-4551-9a69-cef901f97f04","xaxis":"x7","yaxis":"y7"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[4,0,0,0,1,1,7,12,5,96],"y":["cox.net","virginm.net","ttnet.com.tr","hinet.net","comcastbusiness.net","rr.com","verizon.net","comcast.net","unknown.unknown","(not set)"],"type":"bar","uid":"95300157-8a85-4b9d-88cb-d2840978cfb5","xaxis":"x8","yaxis":"y8"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[212692500,null,null,null,79990000,1500000,87534285.71428572,63555000,36036000,137501458.33333334],"y":["cox.net","virginm.net","ttnet.com.tr","hinet.net","comcastbusiness.net","rr.com","verizon.net","comcast.net","unknown.unknown","(not set)"],"type":"bar","uid":"a26a4ead-1bc2-4532-b780-4a454533cf01","xaxis":"x9","yaxis":"y9"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Continent - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Continent - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Continent - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Sub Continent - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":0.6399999999999999,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Sub Continent - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.6399999999999999,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Sub Continent - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":0.6399999999999999,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Network Domain - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":0.27999999999999997,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Network Domain - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.27999999999999997,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Network Domain - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":0.27999999999999997,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,0.2333333333333333]},"yaxis":{"anchor":"x","domain":[0.72,1]},"xaxis2":{"anchor":"y2","domain":[0.3833333333333333,0.6166666666666666]},"yaxis2":{"anchor":"x2","domain":[0.72,1]},"xaxis3":{"anchor":"y3","domain":[0.7666666666666666,0.9999999999999999]},"yaxis3":{"anchor":"x3","domain":[0.72,1]},"xaxis4":{"anchor":"y4","domain":[0,0.2333333333333333]},"yaxis4":{"anchor":"x4","domain":[0.36,0.6399999999999999]},"xaxis5":{"anchor":"y5","domain":[0.3833333333333333,0.6166666666666666]},"yaxis5":{"anchor":"x5","domain":[0.36,0.6399999999999999]},"xaxis6":{"anchor":"y6","domain":[0.7666666666666666,0.9999999999999999]},"yaxis6":{"anchor":"x6","domain":[0.36,0.6399999999999999]},"xaxis7":{"anchor":"y7","domain":[0,0.2333333333333333]},"yaxis7":{"anchor":"x7","domain":[0,0.27999999999999997]},"xaxis8":{"anchor":"y8","domain":[0.3833333333333333,0.6166666666666666]},"yaxis8":{"anchor":"x8","domain":[0,0.27999999999999997]},"xaxis9":{"anchor":"y9","domain":[0.7666666666666666,0.9999999999999999]},"yaxis9":{"anchor":"x9","domain":[0,0.27999999999999997]},"height":1500,"width":1200,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Geography Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"64915fc5-164f-4996-9783-2a949c30321c\" style=\"height: 1500px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"64915fc5-164f-4996-9783-2a949c30321c\")) {\n    Plotly.newPlot(\"64915fc5-164f-4996-9783-2a949c30321c\", [{\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [28, 280, 380, 3730, 3931, 8734], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"285d88b1-22f0-44f9-b83f-85f19ec8928c\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 153], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"1cfeb293-a92a-4268-b0a0-29b7ae953142\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, 122671633.9869281], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"b86acfe5-45a9-41b5-960e-432b821aa9d8\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [1, 1, 9, 23, 28, 42, 54, 63, 71, 183, 278, 284, 619, 718, 777, 791, 919, 1104, 1117, 1176, 1194, 7631], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"db7248f0-4fd2-443f-a751-05ea1e141aa1\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 152], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"9b444310-1d1c-4ee5-adab-41c276991612\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, 97410000.0, null, null, null, null, null, null, 122837828.94736843], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"d32ebb31-6ef6-4bb4-ac8a-843a90938cb4\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [123, 125, 151, 168, 177, 260, 282, 564, 2789, 4907], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"5753fafe-4058-4551-9a69-cef901f97f04\", \"xaxis\": \"x7\", \"yaxis\": \"y7\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [4, 0, 0, 0, 1, 1, 7, 12, 5, 96], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"95300157-8a85-4b9d-88cb-d2840978cfb5\", \"xaxis\": \"x8\", \"yaxis\": \"y8\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [212692500.0, null, null, null, 79990000.0, 1500000.0, 87534285.71428572, 63555000.0, 36036000.0, 137501458.33333334], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"a26a4ead-1bc2-4532-b780-4a454533cf01\", \"xaxis\": \"x9\", \"yaxis\": \"y9\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.72, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.72, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.72, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis7\": {\"anchor\": \"y7\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis7\": {\"anchor\": \"x7\", \"domain\": [0.0, 0.27999999999999997]}, \"xaxis8\": {\"anchor\": \"y8\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis8\": {\"anchor\": \"x8\", \"domain\": [0.0, 0.27999999999999997]}, \"xaxis9\": {\"anchor\": \"y9\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis9\": {\"anchor\": \"x9\", \"domain\": [0.0, 0.27999999999999997]}, \"height\": 1500, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Geography Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"64915fc5-164f-4996-9783-2a949c30321c\" style=\"height: 1500px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"64915fc5-164f-4996-9783-2a949c30321c\")) {\n    Plotly.newPlot(\"64915fc5-164f-4996-9783-2a949c30321c\", [{\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [28, 280, 380, 3730, 3931, 8734], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"285d88b1-22f0-44f9-b83f-85f19ec8928c\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 153], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"1cfeb293-a92a-4268-b0a0-29b7ae953142\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"rgba(78, 50, 120, 0.6)\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, 122671633.9869281], \"y\": [\"(not set)\", \"Oceania\", \"Africa\", \"Europe\", \"Asia\", \"Americas\"], \"type\": \"bar\", \"uid\": \"b86acfe5-45a9-41b5-960e-432b821aa9d8\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [1, 1, 9, 23, 28, 42, 54, 63, 71, 183, 278, 284, 619, 718, 777, 791, 919, 1104, 1117, 1176, 1194, 7631], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"db7248f0-4fd2-443f-a751-05ea1e141aa1\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 152], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"9b444310-1d1c-4ee5-adab-41c276991612\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"black\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, 97410000.0, null, null, null, null, null, null, 122837828.94736843], \"y\": [\"Melanesia\", \"Micronesian Region\", \"Middle Africa\", \"Central Asia\", \"(not set)\", \"Caribbean\", \"Eastern Africa\", \"Southern Africa\", \"Western Africa\", \"Northern Africa\", \"Australasia\", \"Central America\", \"Western Asia\", \"Southern Europe\", \"South America\", \"Eastern Europe\", \"Eastern Asia\", \"Northern Europe\", \"Western Europe\", \"Southern Asia\", \"Southeast Asia\", \"Northern America\"], \"type\": \"bar\", \"uid\": \"d32ebb31-6ef6-4bb4-ac8a-843a90938cb4\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [123, 125, 151, 168, 177, 260, 282, 564, 2789, 4907], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"5753fafe-4058-4551-9a69-cef901f97f04\", \"xaxis\": \"x7\", \"yaxis\": \"y7\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [4, 0, 0, 0, 1, 1, 7, 12, 5, 96], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"95300157-8a85-4b9d-88cb-d2840978cfb5\", \"xaxis\": \"x8\", \"yaxis\": \"y8\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [212692500.0, null, null, null, 79990000.0, 1500000.0, 87534285.71428572, 63555000.0, 36036000.0, 137501458.33333334], \"y\": [\"cox.net\", \"virginm.net\", \"ttnet.com.tr\", \"hinet.net\", \"comcastbusiness.net\", \"rr.com\", \"verizon.net\", \"comcast.net\", \"unknown.unknown\", \"(not set)\"], \"type\": \"bar\", \"uid\": \"a26a4ead-1bc2-4532-b780-4a454533cf01\", \"xaxis\": \"x9\", \"yaxis\": \"y9\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Continent - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Sub Continent - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.6399999999999999, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Network Domain - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.27999999999999997, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.72, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.72, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.72, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.36, 0.6399999999999999]}, \"xaxis7\": {\"anchor\": \"y7\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis7\": {\"anchor\": \"x7\", \"domain\": [0.0, 0.27999999999999997]}, \"xaxis8\": {\"anchor\": \"y8\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis8\": {\"anchor\": \"x8\", \"domain\": [0.0, 0.27999999999999997]}, \"xaxis9\": {\"anchor\": \"y9\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis9\": {\"anchor\": \"x9\", \"domain\": [0.0, 0.27999999999999997]}, \"height\": 1500, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Geography Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"cnt_srs = datavis.groupby('totals.pageviews')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace1 = horizontal_bar_chart(cnt_srs[\"count\"].head(60), 'gray')\ntrace2 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(60), 'gray')\ntrace5 = horizontal_bar_chart(cnt_srs[\"mean\"].head(60), 'gray')\n\n# Hits\ncnt_srs = datavis.groupby('totals.hits')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", 'mean']\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace3 = horizontal_bar_chart(cnt_srs[\"count\"].head(60), 'blue')\ntrace4 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(60), 'blue')\ntrace6 = horizontal_bar_chart(cnt_srs[\"mean\"].head(60), 'blue')\n\n# Creating two subplots\nfig = tools.make_subplots(rows=2, cols=3, vertical_spacing=0.08, horizontal_spacing=0.15, \n                          subplot_titles=[\"Total Pageviews - Visitors\", \"Total Pageviews - Paying Customers\", \"Total Pageviews - Mean Revenue\",\n                                          \"Total Hits - Visitors\",  \"Total Hits - Paying Customers\", \"Total Hits - Mean Revenue\"])\n\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 1, 2)\nfig.append_trace(trace5, 1, 3)\nfig.append_trace(trace3, 2, 1)\nfig.append_trace(trace4, 2, 2)\nfig.append_trace(trace6, 2, 3)\n\nfig['layout'].update(height=1200, width=900, paper_bgcolor='rgb(233,233,233)', title=\"Visitor Profile Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='visitor-profile-plots')","execution_count":57,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]  [ (1,2) x2,y2 ]  [ (1,3) x3,y3 ]\n[ (2,1) x4,y4 ]  [ (2,2) x5,y5 ]  [ (2,3) x6,y6 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"gray"},"orientation":"h","showlegend":false,"x":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,4,5,5,6,6,7,8,9,10,10,11,11,14,16,16,18,19,22,25,29,33,34,36,41,60,80,83,89,92,110,117,182,209,226,293,400,471,630,889,1412,2430,8848],"y":["37","44","50","51","82","73","70","77","61","63","64","66","74","58","52","49","46","38","42","48","40","36","43","35","39","34","32","41","33","30","28","25","29","31","27","26","24","22","19","20","21","23","18","16","17","15","14","12","13","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"a4d3301e-30ef-497d-8d78-51082861cc80","xaxis":"x","yaxis":"y"},{"marker":{"color":"gray"},"orientation":"h","showlegend":false,"x":[0,2,2,0,1,1,1,1,0,0,0,1,1,0,0,1,0,1,1,2,0,1,1,1,2,4,5,3,2,2,7,4,2,2,3,3,3,3,4,5,2,6,4,8,9,9,7,5,2,11,5,3,1,2,1,0,0,0,0,0],"y":["37","44","50","51","82","73","70","77","61","63","64","66","74","58","52","49","46","38","42","48","40","36","43","35","39","34","32","41","33","30","28","25","29","31","27","26","24","22","19","20","21","23","18","16","17","15","14","12","13","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"7d6c187c-3633-433d-a3b6-d115328564e4","xaxis":"x2","yaxis":"y2"},{"marker":{"color":"gray"},"orientation":"h","showlegend":false,"x":[null,241485000,95945000,null,56910000,52450000,3990000,352290000,null,null,null,59900000,17590000,null,null,22990000,null,97410000,271580000,58020000,null,81580000,86340000,37990000,289705000,230275000,58340000,41380000,37365000,159480000,88921428.57142857,215547500,186155000,110640000,178496666.66666666,81500000,117673333.33333333,248203333.33333334,32105000,53790000,418075000,56318333.333333336,321390000,102653750,46022222.222222224,40523333.333333336,62754285.71428572,94048000,33585000,40844545.45454545,33576000,61280000,27590000,40090000,17590000,null,null,null,null,null],"y":["37","44","50","51","82","73","70","77","61","63","64","66","74","58","52","49","46","38","42","48","40","36","43","35","39","34","32","41","33","30","28","25","29","31","27","26","24","22","19","20","21","23","18","16","17","15","14","12","13","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"991258f3-d34c-4111-bd38-5570e425d68d","xaxis":"x3","yaxis":"y3"},{"marker":{"color":"blue"},"orientation":"h","showlegend":false,"x":[2,3,3,3,3,3,4,4,4,5,5,5,5,5,6,6,7,8,8,10,10,11,11,12,14,15,16,17,18,21,22,22,23,26,26,40,40,43,44,46,59,61,61,69,89,92,124,127,134,172,211,261,304,387,454,636,816,1325,2335,8726],"y":["58","57","62","63","54","52","40","66","45","61","50","48","55","49","51","47","46","42","44","33","38","43","35","41","39","36","37","34","31","29","32","30","28","26","27","23","25","24","20","22","19","21","18","17","16","15","14","13","12","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"af26899d-755f-4e85-8e02-5a3bf70bd0dc","xaxis":"x4","yaxis":"y4"},{"marker":{"color":"blue"},"orientation":"h","showlegend":false,"x":[2,0,0,1,0,1,2,3,3,2,2,1,0,0,1,0,1,0,1,1,2,4,1,2,2,2,3,4,3,0,3,4,2,2,3,3,5,4,3,3,6,6,5,6,7,3,4,6,7,4,2,1,1,2,0,0,0,0,0,0],"y":["58","57","62","63","54","52","40","66","45","61","50","48","55","49","51","47","46","42","44","33","38","43","35","41","39","36","37","34","31","29","32","30","28","26","27","23","25","24","20","22","19","21","18","17","16","15","14","13","12","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"23a61e03-91fa-4aa6-be03-e2a6645d8a1a","xaxis":"x5","yaxis":"y5"},{"marker":{"color":"blue"},"orientation":"h","showlegend":false,"x":[25895000,null,null,57560000,null,394230000,245205000,83456666.66666667,106456666.66666667,180160000,436055000,21980000,null,null,37990000,null,97410000,null,18460000,71850000,64375000,149395000,64760000,45570000,18175000,114300000,166236666.66666666,63742500,76373333.33333333,null,70173333.33333333,290230000,43085000,15490000,436146666.6666667,167486666.66666666,237568000,47980000,23920000,13856666.666666666,18495000,69470000,164688000,47928333.333333336,29815714.285714287,31750000,26592500,49191666.666666664,90932857.14285715,29520000,30745000,41590000,27590000,38385000,null,null,null,null,null,null],"y":["58","57","62","63","54","52","40","66","45","61","50","48","55","49","51","47","46","42","44","33","38","43","35","41","39","36","37","34","31","29","32","30","28","26","27","23","25","24","20","22","19","21","18","17","16","15","14","13","12","11","10","9","8","7","6","5","4","3","2","1"],"type":"bar","uid":"b4089709-e85a-4335-a490-2c45270b15c6","xaxis":"x6","yaxis":"y6"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Total Pageviews - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Total Pageviews - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Total Pageviews - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Total Hits - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Total Hits - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Total Hits - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,0.2333333333333333]},"yaxis":{"anchor":"x","domain":[0.54,1]},"xaxis2":{"anchor":"y2","domain":[0.3833333333333333,0.6166666666666666]},"yaxis2":{"anchor":"x2","domain":[0.54,1]},"xaxis3":{"anchor":"y3","domain":[0.7666666666666666,0.9999999999999999]},"yaxis3":{"anchor":"x3","domain":[0.54,1]},"xaxis4":{"anchor":"y4","domain":[0,0.2333333333333333]},"yaxis4":{"anchor":"x4","domain":[0,0.46]},"xaxis5":{"anchor":"y5","domain":[0.3833333333333333,0.6166666666666666]},"yaxis5":{"anchor":"x5","domain":[0,0.46]},"xaxis6":{"anchor":"y6","domain":[0.7666666666666666,0.9999999999999999]},"yaxis6":{"anchor":"x6","domain":[0,0.46]},"height":1200,"width":900,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Visitor Profile Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\" style=\"height: 1200px; width: 900px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\")) {\n    Plotly.newPlot(\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\", [{\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9, 10, 10, 11, 11, 14, 16, 16, 18, 19, 22, 25, 29, 33, 34, 36, 41, 60, 80, 83, 89, 92, 110, 117, 182, 209, 226, 293, 400, 471, 630, 889, 1412, 2430, 8848], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"a4d3301e-30ef-497d-8d78-51082861cc80\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 2, 2, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 1, 2, 4, 5, 3, 2, 2, 7, 4, 2, 2, 3, 3, 3, 3, 4, 5, 2, 6, 4, 8, 9, 9, 7, 5, 2, 11, 5, 3, 1, 2, 1, 0, 0, 0, 0, 0], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"7d6c187c-3633-433d-a3b6-d115328564e4\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, 241485000.0, 95945000.0, null, 56910000.0, 52450000.0, 3990000.0, 352290000.0, null, null, null, 59900000.0, 17590000.0, null, null, 22990000.0, null, 97410000.0, 271580000.0, 58020000.0, null, 81580000.0, 86340000.0, 37990000.0, 289705000.0, 230275000.0, 58340000.0, 41380000.0, 37365000.0, 159480000.0, 88921428.57142857, 215547500.0, 186155000.0, 110640000.0, 178496666.66666666, 81500000.0, 117673333.33333333, 248203333.33333334, 32105000.0, 53790000.0, 418075000.0, 56318333.333333336, 321390000.0, 102653750.0, 46022222.222222224, 40523333.333333336, 62754285.71428572, 94048000.0, 33585000.0, 40844545.45454545, 33576000.0, 61280000.0, 27590000.0, 40090000.0, 17590000.0, null, null, null, null, null], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"991258f3-d34c-4111-bd38-5570e425d68d\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 8, 8, 10, 10, 11, 11, 12, 14, 15, 16, 17, 18, 21, 22, 22, 23, 26, 26, 40, 40, 43, 44, 46, 59, 61, 61, 69, 89, 92, 124, 127, 134, 172, 211, 261, 304, 387, 454, 636, 816, 1325, 2335, 8726], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"af26899d-755f-4e85-8e02-5a3bf70bd0dc\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 0, 0, 1, 0, 1, 2, 3, 3, 2, 2, 1, 0, 0, 1, 0, 1, 0, 1, 1, 2, 4, 1, 2, 2, 2, 3, 4, 3, 0, 3, 4, 2, 2, 3, 3, 5, 4, 3, 3, 6, 6, 5, 6, 7, 3, 4, 6, 7, 4, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"23a61e03-91fa-4aa6-be03-e2a6645d8a1a\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [25895000.0, null, null, 57560000.0, null, 394230000.0, 245205000.0, 83456666.66666667, 106456666.66666667, 180160000.0, 436055000.0, 21980000.0, null, null, 37990000.0, null, 97410000.0, null, 18460000.0, 71850000.0, 64375000.0, 149395000.0, 64760000.0, 45570000.0, 18175000.0, 114300000.0, 166236666.66666666, 63742500.0, 76373333.33333333, null, 70173333.33333333, 290230000.0, 43085000.0, 15490000.0, 436146666.6666667, 167486666.66666666, 237568000.0, 47980000.0, 23920000.0, 13856666.666666666, 18495000.0, 69470000.0, 164688000.0, 47928333.333333336, 29815714.285714287, 31750000.0, 26592500.0, 49191666.666666664, 90932857.14285715, 29520000.0, 30745000.0, 41590000.0, 27590000.0, 38385000.0, null, null, null, null, null, null], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"b4089709-e85a-4335-a490-2c45270b15c6\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1200, \"width\": 900, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Visitor Profile Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\" style=\"height: 1200px; width: 900px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\")) {\n    Plotly.newPlot(\"f09e004f-3eb8-40a8-bdc9-db5437a9f19b\", [{\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9, 10, 10, 11, 11, 14, 16, 16, 18, 19, 22, 25, 29, 33, 34, 36, 41, 60, 80, 83, 89, 92, 110, 117, 182, 209, 226, 293, 400, 471, 630, 889, 1412, 2430, 8848], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"a4d3301e-30ef-497d-8d78-51082861cc80\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 2, 2, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 2, 0, 1, 1, 1, 2, 4, 5, 3, 2, 2, 7, 4, 2, 2, 3, 3, 3, 3, 4, 5, 2, 6, 4, 8, 9, 9, 7, 5, 2, 11, 5, 3, 1, 2, 1, 0, 0, 0, 0, 0], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"7d6c187c-3633-433d-a3b6-d115328564e4\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"gray\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, 241485000.0, 95945000.0, null, 56910000.0, 52450000.0, 3990000.0, 352290000.0, null, null, null, 59900000.0, 17590000.0, null, null, 22990000.0, null, 97410000.0, 271580000.0, 58020000.0, null, 81580000.0, 86340000.0, 37990000.0, 289705000.0, 230275000.0, 58340000.0, 41380000.0, 37365000.0, 159480000.0, 88921428.57142857, 215547500.0, 186155000.0, 110640000.0, 178496666.66666666, 81500000.0, 117673333.33333333, 248203333.33333334, 32105000.0, 53790000.0, 418075000.0, 56318333.333333336, 321390000.0, 102653750.0, 46022222.222222224, 40523333.333333336, 62754285.71428572, 94048000.0, 33585000.0, 40844545.45454545, 33576000.0, 61280000.0, 27590000.0, 40090000.0, 17590000.0, null, null, null, null, null], \"y\": [\"37\", \"44\", \"50\", \"51\", \"82\", \"73\", \"70\", \"77\", \"61\", \"63\", \"64\", \"66\", \"74\", \"58\", \"52\", \"49\", \"46\", \"38\", \"42\", \"48\", \"40\", \"36\", \"43\", \"35\", \"39\", \"34\", \"32\", \"41\", \"33\", \"30\", \"28\", \"25\", \"29\", \"31\", \"27\", \"26\", \"24\", \"22\", \"19\", \"20\", \"21\", \"23\", \"18\", \"16\", \"17\", \"15\", \"14\", \"12\", \"13\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"991258f3-d34c-4111-bd38-5570e425d68d\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 8, 8, 10, 10, 11, 11, 12, 14, 15, 16, 17, 18, 21, 22, 22, 23, 26, 26, 40, 40, 43, 44, 46, 59, 61, 61, 69, 89, 92, 124, 127, 134, 172, 211, 261, 304, 387, 454, 636, 816, 1325, 2335, 8726], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"af26899d-755f-4e85-8e02-5a3bf70bd0dc\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [2, 0, 0, 1, 0, 1, 2, 3, 3, 2, 2, 1, 0, 0, 1, 0, 1, 0, 1, 1, 2, 4, 1, 2, 2, 2, 3, 4, 3, 0, 3, 4, 2, 2, 3, 3, 5, 4, 3, 3, 6, 6, 5, 6, 7, 3, 4, 6, 7, 4, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"23a61e03-91fa-4aa6-be03-e2a6645d8a1a\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"blue\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [25895000.0, null, null, 57560000.0, null, 394230000.0, 245205000.0, 83456666.66666667, 106456666.66666667, 180160000.0, 436055000.0, 21980000.0, null, null, 37990000.0, null, 97410000.0, null, 18460000.0, 71850000.0, 64375000.0, 149395000.0, 64760000.0, 45570000.0, 18175000.0, 114300000.0, 166236666.66666666, 63742500.0, 76373333.33333333, null, 70173333.33333333, 290230000.0, 43085000.0, 15490000.0, 436146666.6666667, 167486666.66666666, 237568000.0, 47980000.0, 23920000.0, 13856666.666666666, 18495000.0, 69470000.0, 164688000.0, 47928333.333333336, 29815714.285714287, 31750000.0, 26592500.0, 49191666.666666664, 90932857.14285715, 29520000.0, 30745000.0, 41590000.0, 27590000.0, 38385000.0, null, null, null, null, null, null], \"y\": [\"58\", \"57\", \"62\", \"63\", \"54\", \"52\", \"40\", \"66\", \"45\", \"61\", \"50\", \"48\", \"55\", \"49\", \"51\", \"47\", \"46\", \"42\", \"44\", \"33\", \"38\", \"43\", \"35\", \"41\", \"39\", \"36\", \"37\", \"34\", \"31\", \"29\", \"32\", \"30\", \"28\", \"26\", \"27\", \"23\", \"25\", \"24\", \"20\", \"22\", \"19\", \"21\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"b4089709-e85a-4335-a490-2c45270b15c6\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Pageviews - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Total Hits - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1200, \"width\": 900, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Visitor Profile Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"cnt_srs = datavis.groupby('trafficSource.source')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace1 = horizontal_bar_chart(cnt_srs[\"count\"].head(10), 'orange')\ntrace2 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(10), 'orange')\ntrace3 = horizontal_bar_chart(cnt_srs[\"mean\"].head(10), 'orange')\n\n# Sub-continent\ncnt_srs = datavis.groupby('trafficSource.medium')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace4 = horizontal_bar_chart(cnt_srs[\"count\"], 'green')\ntrace5 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"], 'green')\ntrace6 = horizontal_bar_chart(cnt_srs[\"mean\"], 'green')\n\n# Creating two subplots\nfig = tools.make_subplots(rows=2, cols=3, vertical_spacing=0.08, horizontal_spacing=0.15, \n                          subplot_titles=[\"Traffic Source - Visitors\", \"Traffic Source - Paying Customers\", \"Traffic Source - Mean Revenue\",\n                                          \"Traffic Source Medium - Visitors\",  \"Traffic Source Medium - Paying Customers\", \"Traffic Source Medium - Mean Revenue\"\n                                          ])\n\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 1, 2)\nfig.append_trace(trace3, 1, 3)\nfig.append_trace(trace4, 2, 1)\nfig.append_trace(trace5, 2, 2)\nfig.append_trace(trace6, 2, 3)\n\nfig['layout'].update(height=1000, width=1200, paper_bgcolor='rgb(233,233,233)', title=\"Traffic Source Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='traffic-source-plots')","execution_count":58,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]  [ (1,2) x2,y2 ]  [ (1,3) x3,y3 ]\n[ (2,1) x4,y4 ]  [ (2,2) x5,y5 ]  [ (2,3) x6,y6 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[43,63,73,82,86,326,377,3240,5696,6582],"y":["reddit.com","m.facebook.com","dfa","google.com","sites.google.com","Partners","analytics.google.com","youtube.com","(direct)","google"],"type":"bar","uid":"3585a473-1ed7-4e46-b96a-4d0426a8b0e9","xaxis":"x","yaxis":"y"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[0,0,0,1,0,0,0,1,112,37],"y":["reddit.com","m.facebook.com","dfa","google.com","sites.google.com","Partners","analytics.google.com","youtube.com","(direct)","google"],"type":"bar","uid":"83e587fd-d082-4db0-8fd9-0983d50de315","xaxis":"x2","yaxis":"y2"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[null,null,null,17940000,null,null,null,5000000,129706428.57142857,92860000],"y":["reddit.com","m.facebook.com","dfa","google.com","sites.google.com","Partners","analytics.google.com","youtube.com","(direct)","google"],"type":"bar","uid":"76d29b01-88c8-42ab-baf8-2678b8a03678","xaxis":"x3","yaxis":"y3"},{"marker":{"color":"green"},"orientation":"h","showlegend":false,"x":[94,326,754,4303,5695,5911],"y":["cpm","affiliate","cpc","referral","(none)","organic"],"type":"bar","uid":"ecad0fb4-a1b9-41da-8403-df5c0c10f9f2","xaxis":"x4","yaxis":"y4"},{"marker":{"color":"green"},"orientation":"h","showlegend":false,"x":[0,0,4,4,112,33],"y":["cpm","affiliate","cpc","referral","(none)","organic"],"type":"bar","uid":"85da3472-1c46-4ff3-bf25-9f285454f1fa","xaxis":"x5","yaxis":"y5"},{"marker":{"color":"green"},"orientation":"h","showlegend":false,"x":[null,null,213630000,201455000,129706428.57142857,78221212.12121212],"y":["cpm","affiliate","cpc","referral","(none)","organic"],"type":"bar","uid":"d08fc551-f596-439c-a781-d3e62da9e7c8","xaxis":"x6","yaxis":"y6"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Traffic Source - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Traffic Source - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Traffic Source - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Traffic Source Medium - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Traffic Source Medium - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Traffic Source Medium - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,0.2333333333333333]},"yaxis":{"anchor":"x","domain":[0.54,1]},"xaxis2":{"anchor":"y2","domain":[0.3833333333333333,0.6166666666666666]},"yaxis2":{"anchor":"x2","domain":[0.54,1]},"xaxis3":{"anchor":"y3","domain":[0.7666666666666666,0.9999999999999999]},"yaxis3":{"anchor":"x3","domain":[0.54,1]},"xaxis4":{"anchor":"y4","domain":[0,0.2333333333333333]},"yaxis4":{"anchor":"x4","domain":[0,0.46]},"xaxis5":{"anchor":"y5","domain":[0.3833333333333333,0.6166666666666666]},"yaxis5":{"anchor":"x5","domain":[0,0.46]},"xaxis6":{"anchor":"y6","domain":[0.7666666666666666,0.9999999999999999]},"yaxis6":{"anchor":"x6","domain":[0,0.46]},"height":1000,"width":1200,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Traffic Source Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"a99399c3-6532-4316-913f-71580e45bd2f\" style=\"height: 1000px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"a99399c3-6532-4316-913f-71580e45bd2f\")) {\n    Plotly.newPlot(\"a99399c3-6532-4316-913f-71580e45bd2f\", [{\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [43, 63, 73, 82, 86, 326, 377, 3240, 5696, 6582], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"3585a473-1ed7-4e46-b96a-4d0426a8b0e9\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 1, 0, 0, 0, 1, 112, 37], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"83e587fd-d082-4db0-8fd9-0983d50de315\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, 17940000.0, null, null, null, 5000000.0, 129706428.57142857, 92860000.0], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"76d29b01-88c8-42ab-baf8-2678b8a03678\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [94, 326, 754, 4303, 5695, 5911], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"ecad0fb4-a1b9-41da-8403-df5c0c10f9f2\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 4, 4, 112, 33], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"85da3472-1c46-4ff3-bf25-9f285454f1fa\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, 213630000.0, 201455000.0, 129706428.57142857, 78221212.12121212], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"d08fc551-f596-439c-a781-d3e62da9e7c8\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1000, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Traffic Source Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"a99399c3-6532-4316-913f-71580e45bd2f\" style=\"height: 1000px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"a99399c3-6532-4316-913f-71580e45bd2f\")) {\n    Plotly.newPlot(\"a99399c3-6532-4316-913f-71580e45bd2f\", [{\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [43, 63, 73, 82, 86, 326, 377, 3240, 5696, 6582], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"3585a473-1ed7-4e46-b96a-4d0426a8b0e9\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 0, 1, 0, 0, 0, 1, 112, 37], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"83e587fd-d082-4db0-8fd9-0983d50de315\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, 17940000.0, null, null, null, 5000000.0, 129706428.57142857, 92860000.0], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"76d29b01-88c8-42ab-baf8-2678b8a03678\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [94, 326, 754, 4303, 5695, 5911], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"ecad0fb4-a1b9-41da-8403-df5c0c10f9f2\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 0, 4, 4, 112, 33], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"85da3472-1c46-4ff3-bf25-9f285454f1fa\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, 213630000.0, 201455000.0, 129706428.57142857, 78221212.12121212], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"d08fc551-f596-439c-a781-d3e62da9e7c8\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Traffic Source Medium - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1000, \"width\": 1200, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Traffic Source Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"cnt_srs = datavis.groupby('totals.sessionQualityDim')['totals.transactionRevenue'].agg(['size', 'count', 'mean'])\ncnt_srs.columns = [\"count\", \"count of non-zero revenue\", \"mean\"]\ncnt_srs = cnt_srs.sort_values(by=\"count\", ascending=False)\ntrace1 = horizontal_bar_chart(cnt_srs[\"count\"].head(60), 'cyan')\ntrace2 = horizontal_bar_chart(cnt_srs[\"count of non-zero revenue\"].head(60), 'cyan')\ntrace5 = horizontal_bar_chart(cnt_srs[\"mean\"].head(60), 'cyan')\n\n# Creating two subplots\nfig = tools.make_subplots(rows=2, cols=3, vertical_spacing=0.08, horizontal_spacing=0.15, \n                          subplot_titles=[\"Session Quality - Visitors\", \"Session Quality - Paying Customers\", \"Session Quality - Mean Revenue\",\n                                          \"Time On Site - Visitors\",  \"Time On Site - Paying Customers\", \"Time On Site - Mean Revenue\"])\n\nfig.append_trace(trace1, 1, 1)\nfig.append_trace(trace2, 1, 2)\nfig.append_trace(trace5, 1, 3)\nfig.append_trace(trace3, 2, 1)\nfig.append_trace(trace4, 2, 2)\nfig.append_trace(trace6, 2, 3)\n\nfig['layout'].update(height=1200, width=900, paper_bgcolor='rgb(233,233,233)', title=\"Visitor Profile Plots\")\ninit_notebook_mode(connected=True)\niplot(fig, filename='visitor-profile-plots')","execution_count":59,"outputs":[{"output_type":"stream","text":"This is the format of your plot grid:\n[ (1,1) x1,y1 ]  [ (1,2) x2,y2 ]  [ (1,3) x3,y3 ]\n[ (2,1) x4,y4 ]  [ (2,2) x5,y5 ]  [ (2,3) x6,y6 ]\n\n","name":"stdout"},{"output_type":"display_data","data":{"text/html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>","text/vnd.plotly.v1+html":"<script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script><script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window._Plotly) {require(['plotly'],function(plotly) {window._Plotly=plotly;});}</script>"},"metadata":{}},{"output_type":"display_data","data":{"application/vnd.plotly.v1+json":{"data":[{"marker":{"color":"cyan"},"orientation":"h","showlegend":false,"x":[5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,10,10,10,12,13,13,17,22,25,25,28,30,42,51,72,107,157,491,7263],"y":["48","85","64","65","18","78","81","84","40","34","49","46","30","50","52","80","57","59","67","75","26","29","42","63","71","33","38","24","28","51","36","66","39","56","54","17","20","53","23","22","21","19","45","25","15","16","14","12","13","11","8","9","10","7","6","5","4","3","2","1"],"type":"bar","uid":"1c2a1a71-0348-4fc9-9d3b-5fb60df083aa","xaxis":"x","yaxis":"y"},{"marker":{"color":"cyan"},"orientation":"h","showlegend":false,"x":[0,3,0,1,0,3,3,5,0,0,1,0,0,1,0,2,1,1,3,1,0,0,0,3,2,0,0,0,0,1,0,0,0,0,2,0,0,1,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0],"y":["48","85","64","65","18","78","81","84","40","34","49","46","30","50","52","80","57","59","67","75","26","29","42","63","71","33","38","24","28","51","36","66","39","56","54","17","20","53","23","22","21","19","45","25","15","16","14","12","13","11","8","9","10","7","6","5","4","3","2","1"],"type":"bar","uid":"f4c1117c-002e-4a2d-a402-4214cd066652","xaxis":"x2","yaxis":"y2"},{"marker":{"color":"cyan"},"orientation":"h","showlegend":false,"x":[null,60386666.666666664,null,21990000,null,187410000,88233333.33333333,131982000,null,null,5000000,null,null,21000000,null,25760000,58480000,1227800000,24643333.333333332,79990000,null,null,null,50583333.333333336,19460000,null,null,null,null,59180000,null,null,null,null,101240000,null,null,17590000,21980000,null,null,null,66150000,null,null,null,41590000,null,null,null,27590000,null,null,null,null,null,null,17590000,null,null],"y":["48","85","64","65","18","78","81","84","40","34","49","46","30","50","52","80","57","59","67","75","26","29","42","63","71","33","38","24","28","51","36","66","39","56","54","17","20","53","23","22","21","19","45","25","15","16","14","12","13","11","8","9","10","7","6","5","4","3","2","1"],"type":"bar","uid":"ca421361-a025-43b0-bd51-5029cca729b3","xaxis":"x3","yaxis":"y3"},{"marker":{"color":"orange"},"orientation":"h","showlegend":false,"x":[null,null,null,17940000,null,null,null,5000000,129706428.57142857,92860000],"y":["reddit.com","m.facebook.com","dfa","google.com","sites.google.com","Partners","analytics.google.com","youtube.com","(direct)","google"],"type":"bar","uid":"4a946f60-0e65-4f56-adfb-0bb395e00a21","xaxis":"x4","yaxis":"y4"},{"marker":{"color":"green"},"orientation":"h","showlegend":false,"x":[94,326,754,4303,5695,5911],"y":["cpm","affiliate","cpc","referral","(none)","organic"],"type":"bar","uid":"10d33b34-4002-484c-bc38-cd25f7b208a7","xaxis":"x5","yaxis":"y5"},{"marker":{"color":"green"},"orientation":"h","showlegend":false,"x":[null,null,213630000,201455000,129706428.57142857,78221212.12121212],"y":["cpm","affiliate","cpc","referral","(none)","organic"],"type":"bar","uid":"769cbe34-cca9-43ff-a5aa-5948aff860c1","xaxis":"x6","yaxis":"y6"}],"layout":{"annotations":[{"font":{"size":16},"showarrow":false,"text":"Session Quality - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Session Quality - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Session Quality - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":1,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Time On Site - Visitors","x":0.11666666666666665,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Time On Site - Paying Customers","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"},{"font":{"size":16},"showarrow":false,"text":"Time On Site - Mean Revenue","x":0.8833333333333333,"xanchor":"center","xref":"paper","y":0.46,"yanchor":"bottom","yref":"paper"}],"xaxis":{"anchor":"y","domain":[0,0.2333333333333333]},"yaxis":{"anchor":"x","domain":[0.54,1]},"xaxis2":{"anchor":"y2","domain":[0.3833333333333333,0.6166666666666666]},"yaxis2":{"anchor":"x2","domain":[0.54,1]},"xaxis3":{"anchor":"y3","domain":[0.7666666666666666,0.9999999999999999]},"yaxis3":{"anchor":"x3","domain":[0.54,1]},"xaxis4":{"anchor":"y4","domain":[0,0.2333333333333333]},"yaxis4":{"anchor":"x4","domain":[0,0.46]},"xaxis5":{"anchor":"y5","domain":[0.3833333333333333,0.6166666666666666]},"yaxis5":{"anchor":"x5","domain":[0,0.46]},"xaxis6":{"anchor":"y6","domain":[0.7666666666666666,0.9999999999999999]},"yaxis6":{"anchor":"x6","domain":[0,0.46]},"height":1200,"width":900,"paper_bgcolor":"rgb(233,233,233)","title":{"text":"Visitor Profile Plots"}},"config":{"showLink":false,"linkText":"Export to plot.ly","plotlyServerURL":"https://plot.ly"}},"text/html":"<div id=\"c1233267-733f-4837-98fd-7e767e49bcda\" style=\"height: 1200px; width: 900px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"c1233267-733f-4837-98fd-7e767e49bcda\")) {\n    Plotly.newPlot(\"c1233267-733f-4837-98fd-7e767e49bcda\", [{\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 12, 13, 13, 17, 22, 25, 25, 28, 30, 42, 51, 72, 107, 157, 491, 7263], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"1c2a1a71-0348-4fc9-9d3b-5fb60df083aa\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 3, 0, 1, 0, 3, 3, 5, 0, 0, 1, 0, 0, 1, 0, 2, 1, 1, 3, 1, 0, 0, 0, 3, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"f4c1117c-002e-4a2d-a402-4214cd066652\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, 60386666.666666664, null, 21990000.0, null, 187410000.0, 88233333.33333333, 131982000.0, null, null, 5000000.0, null, null, 21000000.0, null, 25760000.0, 58480000.0, 1227800000.0, 24643333.333333332, 79990000.0, null, null, null, 50583333.333333336, 19460000.0, null, null, null, null, 59180000.0, null, null, null, null, 101240000.0, null, null, 17590000.0, 21980000.0, null, null, null, 66150000.0, null, null, null, 41590000.0, null, null, null, 27590000.0, null, null, null, null, null, null, 17590000.0, null, null], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"ca421361-a025-43b0-bd51-5029cca729b3\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, 17940000.0, null, null, null, 5000000.0, 129706428.57142857, 92860000.0], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"4a946f60-0e65-4f56-adfb-0bb395e00a21\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [94, 326, 754, 4303, 5695, 5911], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"10d33b34-4002-484c-bc38-cd25f7b208a7\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, 213630000.0, 201455000.0, 129706428.57142857, 78221212.12121212], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"769cbe34-cca9-43ff-a5aa-5948aff860c1\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1200, \"width\": 900, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Visitor Profile Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>","text/vnd.plotly.v1+html":"<div id=\"c1233267-733f-4837-98fd-7e767e49bcda\" style=\"height: 1200px; width: 900px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";\nif (document.getElementById(\"c1233267-733f-4837-98fd-7e767e49bcda\")) {\n    Plotly.newPlot(\"c1233267-733f-4837-98fd-7e767e49bcda\", [{\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 12, 13, 13, 17, 22, 25, 25, 28, 30, 42, 51, 72, 107, 157, 491, 7263], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"1c2a1a71-0348-4fc9-9d3b-5fb60df083aa\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [0, 3, 0, 1, 0, 3, 3, 5, 0, 0, 1, 0, 0, 1, 0, 2, 1, 1, 3, 1, 0, 0, 0, 3, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"f4c1117c-002e-4a2d-a402-4214cd066652\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}, {\"marker\": {\"color\": \"cyan\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, 60386666.666666664, null, 21990000.0, null, 187410000.0, 88233333.33333333, 131982000.0, null, null, 5000000.0, null, null, 21000000.0, null, 25760000.0, 58480000.0, 1227800000.0, 24643333.333333332, 79990000.0, null, null, null, 50583333.333333336, 19460000.0, null, null, null, null, 59180000.0, null, null, null, null, 101240000.0, null, null, 17590000.0, 21980000.0, null, null, null, 66150000.0, null, null, null, 41590000.0, null, null, null, 27590000.0, null, null, null, null, null, null, 17590000.0, null, null], \"y\": [\"48\", \"85\", \"64\", \"65\", \"18\", \"78\", \"81\", \"84\", \"40\", \"34\", \"49\", \"46\", \"30\", \"50\", \"52\", \"80\", \"57\", \"59\", \"67\", \"75\", \"26\", \"29\", \"42\", \"63\", \"71\", \"33\", \"38\", \"24\", \"28\", \"51\", \"36\", \"66\", \"39\", \"56\", \"54\", \"17\", \"20\", \"53\", \"23\", \"22\", \"21\", \"19\", \"45\", \"25\", \"15\", \"16\", \"14\", \"12\", \"13\", \"11\", \"8\", \"9\", \"10\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\", \"1\"], \"type\": \"bar\", \"uid\": \"ca421361-a025-43b0-bd51-5029cca729b3\", \"xaxis\": \"x3\", \"yaxis\": \"y3\"}, {\"marker\": {\"color\": \"orange\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, null, 17940000.0, null, null, null, 5000000.0, 129706428.57142857, 92860000.0], \"y\": [\"reddit.com\", \"m.facebook.com\", \"dfa\", \"google.com\", \"sites.google.com\", \"Partners\", \"analytics.google.com\", \"youtube.com\", \"(direct)\", \"google\"], \"type\": \"bar\", \"uid\": \"4a946f60-0e65-4f56-adfb-0bb395e00a21\", \"xaxis\": \"x4\", \"yaxis\": \"y4\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [94, 326, 754, 4303, 5695, 5911], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"10d33b34-4002-484c-bc38-cd25f7b208a7\", \"xaxis\": \"x5\", \"yaxis\": \"y5\"}, {\"marker\": {\"color\": \"green\"}, \"orientation\": \"h\", \"showlegend\": false, \"x\": [null, null, 213630000.0, 201455000.0, 129706428.57142857, 78221212.12121212], \"y\": [\"cpm\", \"affiliate\", \"cpc\", \"referral\", \"(none)\", \"organic\"], \"type\": \"bar\", \"uid\": \"769cbe34-cca9-43ff-a5aa-5948aff860c1\", \"xaxis\": \"x6\", \"yaxis\": \"y6\"}], {\"annotations\": [{\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Session Quality - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 1.0, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Visitors\", \"x\": 0.11666666666666665, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Paying Customers\", \"x\": 0.49999999999999994, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}, {\"font\": {\"size\": 16}, \"showarrow\": false, \"text\": \"Time On Site - Mean Revenue\", \"x\": 0.8833333333333333, \"xanchor\": \"center\", \"xref\": \"paper\", \"y\": 0.46, \"yanchor\": \"bottom\", \"yref\": \"paper\"}], \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.54, 1.0]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.54, 1.0]}, \"xaxis3\": {\"anchor\": \"y3\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis3\": {\"anchor\": \"x3\", \"domain\": [0.54, 1.0]}, \"xaxis4\": {\"anchor\": \"y4\", \"domain\": [0.0, 0.2333333333333333]}, \"yaxis4\": {\"anchor\": \"x4\", \"domain\": [0.0, 0.46]}, \"xaxis5\": {\"anchor\": \"y5\", \"domain\": [0.3833333333333333, 0.6166666666666666]}, \"yaxis5\": {\"anchor\": \"x5\", \"domain\": [0.0, 0.46]}, \"xaxis6\": {\"anchor\": \"y6\", \"domain\": [0.7666666666666666, 0.9999999999999999]}, \"yaxis6\": {\"anchor\": \"x6\", \"domain\": [0.0, 0.46]}, \"height\": 1200, \"width\": 900, \"paper_bgcolor\": \"rgb(233,233,233)\", \"title\": {\"text\": \"Visitor Profile Plots\"}}, {\"showLink\": false, \"linkText\": \"Export to plot.ly\", \"plotlyServerURL\": \"https://plot.ly\"}); \n}\n});</script>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"2.4\"></a>\n### Feature Engineering"},{"metadata":{},"cell_type":"markdown","source":"The feature engineering function accomplishes numerous tasks necessary prior to the machine learning models. First, when analyzing the dataframe, it was determined that there were multiple features that were similar to the target feature totals.transactionRevenue such as totals.totalTransactionRevenue and totals.transactions. Including these in our analysis would likely have skewed the final results of the model as they contain very similar values to the target. Therefore, these features were removed. Other features deemed to possess no analytical value such as the visitID and hits were removed. Included in this category are features that have over 95% missing values such as trafficSource.adwordsClickInfo.adNetworkType. Values could have been imputed for the missing values in this columns, but when over 95% of the values in the column are missing it likely would not have yielded ideal results. \n\nOther columns with missing values were left unaddressed, as both of the models being employed in this problem are able to deal with missing values with strong in-built methods. Next, the categoric features were encoded, and the numeric columns were converted to float values. Additionally, missing values for the target totals.transactionRevenue were imputed with zero. This is reasonable, as missing values in these columns likely indicates that no transaction took place. Lastly, the date feature was converted into a standard date format.  "},{"metadata":{"_uuid":"d2266fb9edd72541fd684879ba8f5f09654609a0","trusted":true},"cell_type":"code","source":"def featureEngineering(df):\n    'Function requires a dataframe as an input, and will output a feature Engineered dataframe'\n    #Calculate number of constant columns that can be dropped\n    columns_constant = [i for i in df.columns if df[i].nunique(dropna=False)==1 ]\n    # Drop features that are very similar to our target feature or will have no analytical value\n    similarToFeature = ['totals.totalTransactionRevenue'] + ['totals.transactions']\n    noAnalyticalValue =  ['visitId']+['customDimensions']+['hits']+['trafficSource.adwordsClickInfo.adNetworkType']+['trafficSource.adwordsClickInfo.isVideoAd']+['trafficSource.adwordsClickInfo.page']+['trafficSource.adwordsClickInfo.slot']\n    tot = similarToFeature + noAnalyticalValue\n    if 'totals.totalTransactionRevenue' and 'totals.transactions' and 'visitId' and 'fullVisitorId' and 'customDimensions' and 'hits' and 'trafficSource.adwordsClickInfo.adNetworkType' and 'trafficSource.adwordsClickInfo.isVideoAd'and 'trafficSource.adwordsClickInfo.page' and 'trafficSource.adwordsClickInfo.slot'in df.columns:\n        columns_drop = columns_constant + tot\n        #Drop constant columns \n        df= df.drop(columns_drop, axis=1)\n    else:\n        df= df.drop(columns_constant, axis=1)\n        \n    #Encode the categoric features to numeric \n    categoric_features = [\"channelGrouping\", \"device.browser\", \n            \"device.deviceCategory\", \"device.operatingSystem\", \n            \"geoNetwork.city\", \"geoNetwork.continent\", \n            \"geoNetwork.country\", \"geoNetwork.metro\",\n            \"geoNetwork.networkDomain\", \"geoNetwork.region\", \n            \"geoNetwork.subContinent\", \"trafficSource.adContent\", \n            \"trafficSource.adwordsClickInfo.adNetworkType\", \n            \"trafficSource.adwordsClickInfo.gclId\", \n            \"trafficSource.adwordsClickInfo.page\", \n            \"trafficSource.adwordsClickInfo.slot\", \"trafficSource.campaign\",\n            \"trafficSource.keyword\", \"trafficSource.medium\", \n            \"trafficSource.referralPath\", \"trafficSource.source\",\n            'trafficSource.adwordsClickInfo.isVideoAd', 'trafficSource.isTrueDirect', 'device.isMobile']\n    for i in categoric_features:\n        if i in df.columns:\n            encode = sklearn.preprocessing.LabelEncoder()\n            encode.fit(df[i].values.astype('str'))\n            df[i] = encode.transform(list(df[i].values.astype('str')))\n    \n    #Convert numeric features to float values\n    numeric_features = [\"totals.hits\", \"totals.pageviews\",'totals.transactionRevenue',\"visitNumber\", \"visitStartTime\", 'totals.bounces',  'totals.newVisits','totals.sessionQualityDim', 'totals.timeOnSite']\n    for i in numeric_features:\n        df[i] = df[i].astype(float)\n    \n    #Encode Zeroes for nan values in totals.bounces & totals.transactionRevenues\n    df['totals.transactionRevenue'].fillna(0,inplace=True)\n    \n    #Convert date to datetime\n    df['date'] = pd.to_datetime(df['date'], format = \"%Y%m%d\")\n    return df","execution_count":60,"outputs":[]},{"metadata":{"_uuid":"b4699c09da136c3af47aa8eab59c81a3e8b1696b","trusted":true},"cell_type":"code","source":"#FeatureEngineer training and testing data \ntrainingData = featureEngineering(trainingData)\ntestingData = featureEngineering(testingData)","execution_count":61,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Attempted Reading in Batches\n# Function runs and produces an output but not as intended \n# def dataPipeline(filename):\n#     'dataPipeline is a function that takes a csv as an input, and returns a fully pre-processed Pandas dataframe ready for'\n#     'ML Algorithms'\n#     #Start Time of Function\n#     start_time = dt.datetime.now()\n#     print(\"Started at \", start_time)\n#     # Read number of file lines in the dataset\n#     num_lines = int(sum(1 for line in open(filename))) \n#     # Process in chunk sizes of 1%\n#     batchSize = int(0.01*num_lines)\n#     # Initialize a List to hold all of the processed, chunked dataframes\n#     result = []\n#     #For Parser\n#     JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']\n#     print('Entering into processing the csv file by batches')\n#     for batch in pd.read_csv(filename, chunksize=batchSize,\n#                      converters={column: json.loads for column in JSON_COLUMNS}, \n#                      dtype={'fullVisitorId': 'str'}):\n#         parsed = Parser(batch)\n#         processed = featureEngineering(parsed)\n#         result.append(processed)\n#     Output = pd.concat(result)\n#     #Time it took for function to finish\n#     end_time = dt.datetime.now()\n#     elapsed_time = end_time - start_time\n#     print (\"Preprocessed \", filename, \"completely. Elapsed time: \", elapsed_time)\n#     return Output","execution_count":62,"outputs":[]},{"metadata":{"_uuid":"089616ce9679f16c49696249f2a760e10224b480","trusted":true},"cell_type":"code","source":"print(trainingData.shape)\ntrainingData.head()","execution_count":63,"outputs":[{"output_type":"stream","text":"(17083, 31)\n","name":"stdout"},{"output_type":"execute_result","execution_count":63,"data":{"text/plain":"   channelGrouping         ...          trafficSource.source\n0                1         ...                             0\n1                3         ...                            18\n2                0         ...                             1\n3                3         ...                             8\n4                3         ...                            18\n\n[5 rows x 31 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>date</th>\n      <th>fullVisitorId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n      <th>device.browser</th>\n      <th>device.deviceCategory</th>\n      <th>device.isMobile</th>\n      <th>device.operatingSystem</th>\n      <th>geoNetwork.city</th>\n      <th>geoNetwork.continent</th>\n      <th>geoNetwork.country</th>\n      <th>geoNetwork.metro</th>\n      <th>geoNetwork.networkDomain</th>\n      <th>geoNetwork.region</th>\n      <th>geoNetwork.subContinent</th>\n      <th>totals.bounces</th>\n      <th>totals.hits</th>\n      <th>totals.newVisits</th>\n      <th>totals.pageviews</th>\n      <th>totals.sessionQualityDim</th>\n      <th>totals.timeOnSite</th>\n      <th>totals.transactionRevenue</th>\n      <th>trafficSource.adContent</th>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <th>trafficSource.campaign</th>\n      <th>trafficSource.isTrueDirect</th>\n      <th>trafficSource.keyword</th>\n      <th>trafficSource.medium</th>\n      <th>trafficSource.referralPath</th>\n      <th>trafficSource.source</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>2017-10-16</td>\n      <td>4447569759370230345</td>\n      <td>1.0</td>\n      <td>1.508203e+09</td>\n      <td>5</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>391</td>\n      <td>2</td>\n      <td>153</td>\n      <td>66</td>\n      <td>1587</td>\n      <td>251</td>\n      <td>12</td>\n      <td>NaN</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>66.0</td>\n      <td>0.0</td>\n      <td>25</td>\n      <td>745</td>\n      <td>3</td>\n      <td>0</td>\n      <td>94</td>\n      <td>0</td>\n      <td>466</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>3</td>\n      <td>2017-10-16</td>\n      <td>8449727979333841797</td>\n      <td>1.0</td>\n      <td>1.508193e+09</td>\n      <td>5</td>\n      <td>0</td>\n      <td>0</td>\n      <td>6</td>\n      <td>342</td>\n      <td>2</td>\n      <td>153</td>\n      <td>59</td>\n      <td>0</td>\n      <td>43</td>\n      <td>12</td>\n      <td>NaN</td>\n      <td>6.0</td>\n      <td>1.0</td>\n      <td>6.0</td>\n      <td>2.0</td>\n      <td>40.0</td>\n      <td>0.0</td>\n      <td>25</td>\n      <td>745</td>\n      <td>3</td>\n      <td>1</td>\n      <td>3</td>\n      <td>4</td>\n      <td>466</td>\n      <td>18</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>0</td>\n      <td>2017-10-16</td>\n      <td>0258560966793548223</td>\n      <td>1.0</td>\n      <td>1.508164e+09</td>\n      <td>9</td>\n      <td>0</td>\n      <td>0</td>\n      <td>15</td>\n      <td>391</td>\n      <td>4</td>\n      <td>105</td>\n      <td>66</td>\n      <td>1101</td>\n      <td>251</td>\n      <td>21</td>\n      <td>NaN</td>\n      <td>7.0</td>\n      <td>1.0</td>\n      <td>7.0</td>\n      <td>1.0</td>\n      <td>243.0</td>\n      <td>0.0</td>\n      <td>25</td>\n      <td>745</td>\n      <td>10</td>\n      <td>1</td>\n      <td>94</td>\n      <td>1</td>\n      <td>466</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>3</td>\n      <td>2017-10-16</td>\n      <td>2120129608233101123</td>\n      <td>1.0</td>\n      <td>1.508177e+09</td>\n      <td>9</td>\n      <td>0</td>\n      <td>0</td>\n      <td>15</td>\n      <td>391</td>\n      <td>2</td>\n      <td>95</td>\n      <td>66</td>\n      <td>2131</td>\n      <td>251</td>\n      <td>3</td>\n      <td>NaN</td>\n      <td>8.0</td>\n      <td>1.0</td>\n      <td>8.0</td>\n      <td>1.0</td>\n      <td>111.0</td>\n      <td>0.0</td>\n      <td>25</td>\n      <td>745</td>\n      <td>3</td>\n      <td>1</td>\n      <td>57</td>\n      <td>4</td>\n      <td>466</td>\n      <td>8</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>3</td>\n      <td>2017-10-16</td>\n      <td>3848523864758719206</td>\n      <td>1.0</td>\n      <td>1.508189e+09</td>\n      <td>5</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>391</td>\n      <td>2</td>\n      <td>153</td>\n      <td>66</td>\n      <td>0</td>\n      <td>251</td>\n      <td>12</td>\n      <td>NaN</td>\n      <td>9.0</td>\n      <td>1.0</td>\n      <td>7.0</td>\n      <td>6.0</td>\n      <td>250.0</td>\n      <td>0.0</td>\n      <td>25</td>\n      <td>745</td>\n      <td>3</td>\n      <td>1</td>\n      <td>3</td>\n      <td>4</td>\n      <td>466</td>\n      <td>18</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"_uuid":"8b00ba61a56bc25dfdf1f85817a146d7c7934a33","trusted":true},"cell_type":"code","source":"print(testingData.shape)\ntestingData.head()","execution_count":64,"outputs":[{"output_type":"stream","text":"(4015, 31)\n","name":"stdout"},{"output_type":"execute_result","execution_count":64,"data":{"text/plain":"   channelGrouping         ...          trafficSource.source\n0                5         ...                             0\n1                5         ...                             0\n2                3         ...                            12\n3                3         ...                            12\n4                1         ...                             0\n\n[5 rows x 31 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>channelGrouping</th>\n      <th>date</th>\n      <th>fullVisitorId</th>\n      <th>visitNumber</th>\n      <th>visitStartTime</th>\n      <th>device.browser</th>\n      <th>device.deviceCategory</th>\n      <th>device.isMobile</th>\n      <th>device.operatingSystem</th>\n      <th>geoNetwork.city</th>\n      <th>geoNetwork.continent</th>\n      <th>geoNetwork.country</th>\n      <th>geoNetwork.metro</th>\n      <th>geoNetwork.networkDomain</th>\n      <th>geoNetwork.region</th>\n      <th>geoNetwork.subContinent</th>\n      <th>totals.bounces</th>\n      <th>totals.hits</th>\n      <th>totals.newVisits</th>\n      <th>totals.pageviews</th>\n      <th>totals.sessionQualityDim</th>\n      <th>totals.timeOnSite</th>\n      <th>totals.transactionRevenue</th>\n      <th>trafficSource.adContent</th>\n      <th>trafficSource.adwordsClickInfo.gclId</th>\n      <th>trafficSource.campaign</th>\n      <th>trafficSource.isTrueDirect</th>\n      <th>trafficSource.keyword</th>\n      <th>trafficSource.medium</th>\n      <th>trafficSource.referralPath</th>\n      <th>trafficSource.source</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>5</td>\n      <td>2018-05-11</td>\n      <td>5299820794845174508</td>\n      <td>2.0</td>\n      <td>1.526088e+09</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>92</td>\n      <td>2</td>\n      <td>105</td>\n      <td>38</td>\n      <td>0</td>\n      <td>138</td>\n      <td>10</td>\n      <td>NaN</td>\n      <td>5.0</td>\n      <td>NaN</td>\n      <td>3.0</td>\n      <td>1.0</td>\n      <td>28.0</td>\n      <td>0.0</td>\n      <td>0</td>\n      <td>107</td>\n      <td>1</td>\n      <td>1</td>\n      <td>31</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>5</td>\n      <td>2018-05-11</td>\n      <td>3326540121689239742</td>\n      <td>1.0</td>\n      <td>1.526068e+09</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>9</td>\n      <td>2</td>\n      <td>105</td>\n      <td>11</td>\n      <td>0</td>\n      <td>76</td>\n      <td>10</td>\n      <td>NaN</td>\n      <td>5.0</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>42.0</td>\n      <td>0.0</td>\n      <td>0</td>\n      <td>107</td>\n      <td>1</td>\n      <td>1</td>\n      <td>31</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>2018-05-11</td>\n      <td>0121413971533176085</td>\n      <td>1.0</td>\n      <td>1.526098e+09</td>\n      <td>10</td>\n      <td>1</td>\n      <td>1</td>\n      <td>8</td>\n      <td>67</td>\n      <td>2</td>\n      <td>105</td>\n      <td>37</td>\n      <td>175</td>\n      <td>24</td>\n      <td>10</td>\n      <td>NaN</td>\n      <td>6.0</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>60.0</td>\n      <td>0.0</td>\n      <td>0</td>\n      <td>107</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>4</td>\n      <td>0</td>\n      <td>12</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>3</td>\n      <td>2018-05-11</td>\n      <td>8816603995507550690</td>\n      <td>2.0</td>\n      <td>1.526078e+09</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>164</td>\n      <td>2</td>\n      <td>105</td>\n      <td>37</td>\n      <td>0</td>\n      <td>24</td>\n      <td>10</td>\n      <td>NaN</td>\n      <td>6.0</td>\n      <td>NaN</td>\n      <td>5.0</td>\n      <td>8.0</td>\n      <td>258.0</td>\n      <td>0.0</td>\n      <td>0</td>\n      <td>107</td>\n      <td>1</td>\n      <td>0</td>\n      <td>31</td>\n      <td>4</td>\n      <td>0</td>\n      <td>12</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1</td>\n      <td>2018-05-11</td>\n      <td>6216204101074901430</td>\n      <td>1.0</td>\n      <td>1.526050e+09</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>4</td>\n      <td>164</td>\n      <td>2</td>\n      <td>105</td>\n      <td>37</td>\n      <td>0</td>\n      <td>24</td>\n      <td>10</td>\n      <td>NaN</td>\n      <td>14.0</td>\n      <td>1.0</td>\n      <td>12.0</td>\n      <td>52.0</td>\n      <td>387.0</td>\n      <td>0.0</td>\n      <td>0</td>\n      <td>107</td>\n      <td>1</td>\n      <td>0</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"3\"></a>\n## Building 2 Baseline Models"},{"metadata":{},"cell_type":"markdown","source":"The two baseline models chosen to be used for this regression task were the LGBM and the XGB models. The XGB model was chosen as it has proven to consistently perform well on machine learning challenges on Kaggle. The LGBM is a newer model that is less proven, but is stated to run multiple times faster than the XGB and achieve the same accuracies. The two models will be compared in this section. "},{"metadata":{},"cell_type":"markdown","source":"<a id=\"3.1\"></a>\n### Seperate Features, Target, and Construct Validation Set"},{"metadata":{},"cell_type":"markdown","source":"The first step taken in building the two models was the separation of the training set into a training and validation set based on an 80/20 split on the dat feature in the training set between the two. This split between the training and validation set is a typical sized split that should help prevent overtraining of the models being built. Afterwards, the three datasets were split into their respective targets and features. "},{"metadata":{"_uuid":"349497f1d6d4ff558288b554feccc6fed1d7dcf0","trusted":true},"cell_type":"code","source":"#Split training set for validation set \ntrain_df = trainingData[trainingData['date']> dt.date(2016,11,30)]\nvalidation_df = trainingData[trainingData['date']<=dt.date(2016,11,30)]\n\nfeatures = [] \nlabel = []\nfor i in trainingData.columns:\n    if i != 'totals.transactionRevenue' and i!='date' and i!= 'fullVisitorId' and i!= 'visitStartTime':\n        features.append(i)\n    elif i == 'totals.transactionRevenue':\n        label.append(i)\n#Target\ntrain_y = np.log1p(train_df[label])\nvalidation_y = np.log1p(validation_df[label])\ntest_y = np.log1p(testingData[label])\n#Features\ntrain_x = train_df[features]\nvalidation_x = validation_df[features]\ntest_x = testingData[features]","execution_count":65,"outputs":[{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:2: FutureWarning:\n\nComparing Series of datetimes with 'datetime.date'.  Currently, the\n'datetime.date' is coerced to a datetime. In the future pandas will\nnot coerce, and a TypeError will be raised. To retain the current\nbehavior, convert the 'datetime.date' to a datetime with\n'pd.Timestamp'.\n\n/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:3: FutureWarning:\n\nComparing Series of datetimes with 'datetime.date'.  Currently, the\n'datetime.date' is coerced to a datetime. In the future pandas will\nnot coerce, and a TypeError will be raised. To retain the current\nbehavior, convert the 'datetime.date' to a datetime with\n'pd.Timestamp'.\n\n","name":"stderr"}]},{"metadata":{"_uuid":"aa982ce8c8b85cb02c57928678fe4059c3722e6d","trusted":true},"cell_type":"code","source":"print('training dataframe shape:' , train_df.shape)\nprint('validation dataframe shape:' , validation_df.shape)\nprint('training features shape:' , train_x.shape)\nprint('validation features shape:' , validation_x.shape)\nprint('training label shape:' , train_y.shape)\nprint('validation label shape:' , validation_y.shape)\nprint('testing features shape:' , test_x.shape)\nprint('testing label shape:' , test_y.shape)","execution_count":66,"outputs":[{"output_type":"stream","text":"training dataframe shape: (13617, 31)\nvalidation dataframe shape: (3466, 31)\ntraining features shape: (13617, 27)\nvalidation features shape: (3466, 27)\ntraining label shape: (13617, 1)\nvalidation label shape: (3466, 1)\ntesting features shape: (4015, 27)\ntesting label shape: (4015, 1)\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"3.2\"></a>\n\n### LGBM"},{"metadata":{},"cell_type":"markdown","source":"#### Hyperparameter Tuning LGBM"},{"metadata":{},"cell_type":"markdown","source":"The first step completed in constructing the LGBM model was hyperparameter tuning conducted using the the training set with the RandomizedSearchCV. The RandomizedSearchCV was used for hyperparameter tuning because it produces reasonable results in a very flexible and efficient manner. During hyperparameter tuning, this model ran extremely fast, being able to fit 3 cross validation folds with 100 iterations totalling 300 possible fits of hyperparameters. An important note here is that since early stopping is being used to optimize the number of estimators, one of the most important parameters in the model, n_estimators was set to an upper maximum bound. The final hyperparameters, other than n_estimators, can be found in the output below. The final tuned parameters were saved and can be seen in the dictionary \"SavedLGBMParams\" in the interest of efficiency."},{"metadata":{"_uuid":"a21e1f2475f595dffa803d2af7cc7bb802f96a7d","trusted":true},"cell_type":"code","source":"# Prior to early stopping, determine best hyperparameters for most important parameters in \n#LGBM models. n_estimators, one of the most important parameters, is determined by \n# early stopping, so a maximum limit is set here \nparams_LGB ={'num_leaves': sp_randint(6, 50), \n             \"learning_rate\": sp_uniform(0.05, 0.4),\n             'min_child_samples': sp_randint(100, 500), \n             'min_child_weight': [1e-5, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4],\n             'subsample': sp_uniform(loc=0.2, scale=0.8), \n             'colsample_bytree': sp_uniform(loc=0.4, scale=0.6)}\n\nLGBReg = lgb.LGBMRegressor(n_estimators=1500, random_state=40, silent = True, n_jobs=4,max_depth =-1)\nLGBHP_opt = RandomizedSearchCV(\n    estimator=LGBReg, param_distributions=params_LGB, \n    n_iter=100,\n    cv=3,scoring='neg_mean_squared_error',random_state=40, refit=True, verbose=True)","execution_count":67,"outputs":[]},{"metadata":{"_uuid":"611bcee3128673455b3732df95e0ede79b1f3d64","trusted":true},"cell_type":"code","source":"LGBHP_opt.fit(train_x,train_y)","execution_count":69,"outputs":[]},{"metadata":{"_uuid":"8a3292329a18bef1059d9f06768e9c457483ed3d","trusted":true},"cell_type":"code","source":"FinalLGBParams = LGBHP_opt.best_params_\nAdditionalParams = {'objective': 'regression', 'metric':'rmse', 'verbosity':-1}\nfor i in AdditionalParams:\n    FinalLGBParams[i] = AdditionalParams[i]\nFinalLGBParams","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Save the Optimum LGB Params to increase efficiency of not having to run each time to obtain them\nSavedLGBParams = {'colsample_bytree': 0.8539721005885168,\n 'learning_rate': 0.05722266438555726,\n 'min_child_samples': 453,\n 'min_child_weight': 1,\n 'num_leaves': 35,\n 'subsample': 0.6218338710274947,\n 'objective': 'regression',\n 'metric': 'rmse',\n 'verbosity': -1}","execution_count":71,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"#### Function to Run LGBM"},{"metadata":{},"cell_type":"markdown","source":"The function defined to build the LGBM is shown below. This function utilizes early stopping to optimize the n_estimators in the model utilizing the training set and the validation set. This is an important step, as early stopping will help mitigate any overfitting issues that could arise when building this model. After the model was built, predictions were obtained using the optimum model as determined by early stopping. These predictions were returned in the function output, along with the model. "},{"metadata":{"_uuid":"9b94bfd946b13329f6cfacebac0426d32593541f","trusted":true},"cell_type":"code","source":"#Define function to use Early Stopping LightGBM model with parameters determined from RandomizedSearchCV\ndef LGBM(train_x, train_y, val_x, val_y, test_x, test_y, LGBParams):\n    lgbtrain = lgb.Dataset(train_x, label=train_y)\n    lgbval = lgb.Dataset(val_x, val_y)\n    \n    start_time = time.time()\n    model = lgb.train(LGBParams, lgbtrain, 1000, valid_sets = [lgbval], early_stopping_rounds=100, verbose_eval=100)\n    end_time = time.time()\n    print(end_time-start_time)\n    \n    predictions_test= model.predict(test_x, num_iteration = model.best_iteration)\n    predictions_validation = model.predict(val_x, num_iteration= model.best_iteration)\n    \n    return predictions_test, predictions_validation, model","execution_count":72,"outputs":[]},{"metadata":{"_uuid":"f694e8c7b3c033816639599418597c438057b65c","trusted":true},"cell_type":"code","source":"# Run LGBM\npredictions_test, predictions_validation, modellgb = LGBM(train_x, train_y, validation_x, validation_y, test_x, test_y,SavedLGBParams)","execution_count":73,"outputs":[{"output_type":"stream","text":"Training until validation scores don't improve for 100 rounds.\n[100]\tvalid_0's rmse: 1.6309\n[200]\tvalid_0's rmse: 1.62188\n[300]\tvalid_0's rmse: 1.61746\n[400]\tvalid_0's rmse: 1.61275\n[500]\tvalid_0's rmse: 1.61083\n[600]\tvalid_0's rmse: 1.60963\n[700]\tvalid_0's rmse: 1.60826\n[800]\tvalid_0's rmse: 1.60685\n[900]\tvalid_0's rmse: 1.60489\n[1000]\tvalid_0's rmse: 1.60581\nDid not meet early stopping. Best iteration is:\n[950]\tvalid_0's rmse: 1.60442\n4.241919040679932\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"#### Evaluation Metrics LGBM"},{"metadata":{},"cell_type":"markdown","source":"Relevant regression evaluation metrics were then obtained for the model for both the validation data set and testing data set. In summary, the performance of the model is slightly worse on the testing dataset for all metrics considered. This indicates that the model doesn't have any major issues generalizing, and overfitting has been mostly avoided. "},{"metadata":{"trusted":true},"cell_type":"code","source":"#Testing Set\nMSE_LGB_test = sklearn.metrics.mean_squared_error(test_y,predictions_test)\nMAE_LGB_test= sklearn.metrics.mean_absolute_error(test_y, predictions_test)\nRMSE_LGB_test = np.sqrt(MSE_LGB_test)\n#Validation Set\nMSE_LGB_val = sklearn.metrics.mean_squared_error(validation_y, predictions_validation)\nMAE_LGB_val = sklearn.metrics.mean_absolute_error(validation_y, predictions_validation)\nRMSE_LGB_val = np.sqrt(MSE_LGB_val)\nprint('Mean square Error for the LGBM testing set: {}, Mean absolute error for the LGBM testing set: {}, Root mean square error for the LGBM testing set: {}'.format(MSE_LGB_test, MAE_LGB_test, RMSE_LGB_test))\n\nprint('Mean square Error for the LGBM validation set: {}, Mean absolute error for the LGBM validation set: {}, Root mean square error for the LGBM validation set: {}'.format(MSE_LGB_val, MAE_LGB_val, RMSE_LGB_val))","execution_count":74,"outputs":[{"output_type":"stream","text":"Mean square Error for the LGBM testing set: 3.4084601891915356, Mean absolute error for the LGBM testing set: 0.4847850944275474, Root mean square error for the LGBM testing set: 1.8462015570331252\nMean square Error for the LGBM validation set: 2.5741667765353267, Mean absolute error for the LGBM validation set: 0.39738552506235636, Root mean square error for the LGBM validation set: 1.6044210097525295\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"#### Feature Importance LGBM"},{"metadata":{},"cell_type":"markdown","source":"Lastly, feature importances were obtained for the LGBM. The top 3 features as determined by the LGBM are totals.timeOnSite, geoNetwork.networkDomain, and totals.sessionQualityDim. This results seem to be reasonably intuitive after the exploratory analysis that was conducted on the dataset."},{"metadata":{"_uuid":"1843a03f6d48cac53253a4c54f3c7d4e72627055","trusted":true},"cell_type":"code","source":"#Obtain and plot figure importance for the LGBM\nfig, ax = plt.subplots(figsize=(12,18))\nlgb.plot_importance(modellgb, max_num_features=50, height=0.8, ax=ax)\nax.grid(False)\nplt.title(\"LightGBM - Feature Importance\", fontsize=15)\nplt.show()","execution_count":75,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 864x1296 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"3.3\"></a>\n### XGBoost"},{"metadata":{},"cell_type":"markdown","source":"#### Hyperparameter Tuning XGBoost"},{"metadata":{},"cell_type":"markdown","source":"Similar to the LGBM, the first step completed for the XGBoost model was hyperparameter tuning with the RandomizedSearchCV. To reiterate what was previously stated, this method allows for very flexible and efficient hyperparameter tuning compared to other methods. As early stopping was again going to be used with the training and validation datasets to determine the n_estimators, the value was set to a high bound of 2500 here. The difference between the two models really showed in this step, as originally 3 cross validation folds with 100 iterations each was used here similar to the LGBM. This took way to long a time to execute. Instead, the cross validation folds was reduced to 2 with 50 iterations in each fold. This solution still took much longer to execute than the LGBM's hyperparameter tuning, at a run time of approximately 29 minutes. The tuned hyperparameters for the XGBoost model were saved in a dictionary called \"SavedXGBParams\" in the interest of efficiency, and can be seen there."},{"metadata":{"_uuid":"093062995775635960ca95c3ce99704a8ad3062f","trusted":true},"cell_type":"code","source":"# Prior to early stopping, determine best hyperparameters for most important parameters in \n#XGB model. n_estimators, one of the most important parameters, is determined by \n# early stopping, so a maximum limit is set here \nparams_XGB= {  \n    \"learning_rate\": sp_uniform(0.05, 0.4),\n    \"colsample_bytree\": sp_uniform(loc=0.4, scale=0.6),\n    'max_depth': sp_randint(3, 40),\n    \"subsample\": sp_uniform(loc=0.2, scale=0.8),\n    \"gamma\": sp_uniform(0, 10),\n    'reg_alpha': [0, 1e-1, 1, 2, 5, 7, 10, 50, 100],\n    \"min_child_weight\": [1e-5, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4],\n}\n\nXGBReg = xgb.XGBRegressor(n_estimators=2500, random_state=40, silent = True, n_jobs=4)\nXGBHP_opt = RandomizedSearchCV(\n    estimator=XGBReg, param_distributions=params_XGB, \n    n_iter=50,cv=2,scoring='neg_mean_squared_error',random_state=40, refit=True, verbose=True)\n","execution_count":76,"outputs":[]},{"metadata":{"_uuid":"aee3437904756cd91152e2ee6b3e5f50175e0355","trusted":true},"cell_type":"code","source":"XGBHP_opt.fit(train_x,train_y)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"FinalXGBParams = XGBHP_opt.best_params_\nFinalXGBParams","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"AdditionalParams = {'objective': 'reg:linear', 'eval_metric':'rmse', 'silent':True, 'random_state':40}\nfor i in AdditionalParams:\n    FinalXGBParams[i] = AdditionalParams[i]\nFinalXGBParams","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Save the Optimum XGB Params to increase efficiency of not having to run each time to obtain them\nSavedXGBParams = {'colsample_bytree': 0.5454951393008803,\n 'gamma': 4.834820481469037,\n 'learning_rate': 0.050158252068833425,\n 'max_depth': 36,\n 'min_child_weight': 1,\n 'reg_alpha': 100,\n 'subsample': 0.9278827742521691,\n 'objective': 'reg:linear',\n 'eval_metric': 'rmse',\n 'silent': True,\n 'random_state': 40}\nSavedXGBParams","execution_count":77,"outputs":[{"output_type":"execute_result","execution_count":77,"data":{"text/plain":"{'colsample_bytree': 0.5454951393008803,\n 'gamma': 4.834820481469037,\n 'learning_rate': 0.050158252068833425,\n 'max_depth': 36,\n 'min_child_weight': 1,\n 'reg_alpha': 100,\n 'subsample': 0.9278827742521691,\n 'objective': 'reg:linear',\n 'eval_metric': 'rmse',\n 'silent': True,\n 'random_state': 40}"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"#### Function to Run XGBoost"},{"metadata":{},"cell_type":"markdown","source":"The below function was used to run the XGBoost model on the dataset. This function utilizes early stopping with the training and validation dataset to find the optimum number of n_estimators to avoid overfitting problems. After the model is built with early stopping, predictions are obtained using the validation set and testing dataset. The function returns the final model and the predictions on both of the datasets. "},{"metadata":{"_uuid":"a53cc238fe0c8837c40fc265410c68e29d58e227","trusted":true},"cell_type":"code","source":"#Define function to run XGBoost model\ndef XGB(train_x, train_y, val_x, val_y, test_x, test_y, paramsXGB):    \n    xgb_train_dataMatrix = xgb.DMatrix(train_x, label = train_y)\n    xgb_val_dataMatrix = xgb.DMatrix(val_x, label = val_y)\n    xgb_test_dataMatrix = xgb.DMatrix(test_x, label= test_y)\n    \n    start_time = time.time()\n    model = xgb.train(paramsXGB, xgb_train_dataMatrix, \n                      num_boost_round=2000, \n                      evals= [(xgb_train_dataMatrix, 'train'), (xgb_val_dataMatrix, 'valid')],\n                      early_stopping_rounds=100, \n                      verbose_eval=100\n                     )    \n    end_time = time.time()\n    print(end_time-start_time)\n    \n    y_pred_val = model.predict(xgb_val_dataMatrix, ntree_limit=model.best_ntree_limit)\n    y_pred_test = model.predict(xgb_test_dataMatrix, ntree_limit=model.best_ntree_limit)\n    return y_pred_test, y_pred_val, model","execution_count":78,"outputs":[]},{"metadata":{"_uuid":"41c7c54b15d1d2c082f720769c39ae14ddc11cf8","trusted":true},"cell_type":"code","source":"#Run XGBM\npredictions_testingData, predictions_validationData, model = XGB(train_x, train_y, validation_x, validation_y, test_x, test_y,SavedXGBParams)","execution_count":79,"outputs":[{"output_type":"stream","text":"[0]\ttrain-rmse:1.66014\tvalid-rmse:1.7989\nMultiple eval metrics have been passed: 'valid-rmse' will be used for early stopping.\n\nWill train until valid-rmse hasn't improved in 100 rounds.\n[100]\ttrain-rmse:1.24918\tvalid-rmse:1.61975\nStopping. Best iteration:\n[59]\ttrain-rmse:1.29716\tvalid-rmse:1.61678\n\n1.7584304809570312\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"#### Evaluation Metrics XGBoost generated on the Testing Set"},{"metadata":{},"cell_type":"markdown","source":"Relevant regression evaluation metrics were obtained on both the validation and testing dataset. Similar to the LGBM, the model performs slightly worse on the testing set compared to the validation set. This indicates that the XGBoost model does not have major issues generalizing, and overfitting has been mostly avoided. The models will be compared in the section titled \"Summary and Comparison of the Two Models\". "},{"metadata":{"trusted":true},"cell_type":"code","source":"#Testing Set\nMSE_XGB_testing = sklearn.metrics.mean_squared_error(test_y,predictions_testingData)\nMAE_XGB_testing= sklearn.metrics.mean_absolute_error(test_y, predictions_testingData)\nRMSE_XGB_testing = np.sqrt(MSE_XGB_testing)\n\n#Validation Set\nMSE_XGB_validation = sklearn.metrics.mean_squared_error(validation_y, predictions_validationData)\nMAE_XGB_validation = sklearn.metrics.mean_absolute_error(validation_y, predictions_validationData)\nRMSE_XGB_validation = np.sqrt(MSE_XGB_validation)\nprint('Mean square Error for the XGB testing set: {}, Mean absolute error for the XGB testing set: {}, Root mean square error for the XGB testing set: {}'.format(MSE_XGB_testing, MAE_XGB_testing, RMSE_XGB_testing))\n\nprint('Mean square Error for the XGB validation set: {}, Mean absolute error for the XGB validation set: {}, Root mean square error for the XGB validation set: {}'.format(MSE_XGB_validation, MAE_XGB_validation, RMSE_XGB_validation))","execution_count":80,"outputs":[{"output_type":"stream","text":"Mean square Error for the XGB testing set: 3.650399237216839, Mean absolute error for the XGB testing set: 0.35364854115773003, Root mean square error for the XGB testing set: 1.910601799752329\nMean square Error for the XGB validation set: 2.6139863567086423, Mean absolute error for the XGB validation set: 0.340946571971888, Root mean square error for the XGB validation set: 1.6167827178407872\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"#### Feature Importance XGBoost"},{"metadata":{},"cell_type":"markdown","source":"The feature importances as reported by the XGBoost model are shown in the figure below. The XGBoost reports that total.sessionQualityDim, totals.hits, and totals.timeOnSite are the three most important features for this prediction. These results also seem to be fairly intuitive after the exploratory analysis. "},{"metadata":{"_uuid":"8c1e918fd5159eddb286b337e0758219b12f9a45","trusted":true},"cell_type":"code","source":"#Obtain and plot figure importance for the LGBM\nfig, ax = plt.subplots(figsize=(12,18))\nxgb.plot_importance(model, max_num_features=50, height=0.8, ax=ax)\nax.grid(False)\nplt.title(\"XGB - Feature Importance\", fontsize=15)\nplt.show()","execution_count":81,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 864x1296 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"<a id=\"3.4\"></a>\n### Summary and Comparison of the Two Models"},{"metadata":{},"cell_type":"markdown","source":"Firstly, the LightGBM showcased a much faster training time than the XGBoost model. This is best exemplified through the hyperparameter tuning that took place, as the LightGBM model was able to fit 3 cross validation folds with 100 possible combinations in each fold in approximately 8 minutes, while the XGBoost model fit 2 cross validation folds with 50 possible combinations in each fold in approximately 29 minutes. Next, the LightGBM model had slightly better accuracy on MSE and RMSE on both the validation set and test set, while performing slightly worse in terms of MAE on both datasets. Overall, it is clear the LightGBM model is the superior model on this dataset when considering the evaluation metrics with the time taken to build and run the models. It is also important to note that neither the lightGBM and XGBoost models seemed to generalize significantly better than the other, as both of the models prediction accuracy decreased around the same values from the validation set to the testing set. An interesting point of comparison between the models is that during early stopping, the LGBM model produced an optimum value of 950 estimators, while the XGBoost model produced an optimum value of 59 estimators.\n\nIn terms of feature importance, the models seem to have some agreement on the top 5 most important features for this regression task, as totals.sessionQualityDim, totals.timeOnSite, and geoNetwork.networkDomain recieved scores in the top 5 for both models feature importances. This consensus indicates these three features are crucial attributes in determining revenue per customer. "}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.1"}},"nbformat":4,"nbformat_minor":1}