{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Predicting Ad Spending on Snapchat\n", "\n", "## Cyril Gorlla\n", "### University of California, San Diego" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Summary of Findings\n", "\n", "\n", "### Introduction\n", "This project is a follow up to the [previous](https://github.com/cgorlla/Snapchat-Ads/blob/master/Targeted%20Advertising%20in%20Snapchat%20Political%20Ads.ipynb) analysis of this dataset. The Snapchat ads dataset contains political ad data for ads on Snapchat, one of the largest social media networks in the world. A key feature of the dataset is how much money an organization spends on a particular ad, found in the `Spend` column. It is reasonable to assume that this amount varies based on certain factors, but can we use those factors to figure out how much is spent on an ad? We can explore this by predicting ad spending through machine learning. Specifically, we can utilize a regression model based on other features of the dataset to predict how much money will be spent on a particular ad. That is, we can use other columns of the dataset to predict the `Spend` column, our target variable, and we can evaluate our model's performance with $R^2$, or goodness of fit, so we can ascertain how well our model is replicating the outcomes observed in the data. $R^2$ is useful in telling us how effectively our model understands the patterns in the original data.\n", "\n", "### Baseline Model\n", "For our intial model, we choose to include six features: `Impressions` (quantitative), `StartMonth` (Ordinal), `StartDay` (Ordinal), `EndMonth` (Ordinal), `EndDay` (Ordinal), and `PayingAdvertiserName` (Nominal). The date-related features were chosen as there may be a correlation between the amount spent and what day or month the ad started or ended. The number of impressions is important as an ad with more impressions likely had a higher budget behind it. Lastly, the advertiser name (which was converted into one-hot encoding) may also be useful as certain advertisers may tend to spend more. We have a total of one quantitative, four ordinal, and one nominal feature(s). With this linear regression model, we achieve a $R^2$ of .66. This essentially means our model explains 66% of the variation in the original data. This is somewhat decent, but there is still a large portion of the data that the model is not understanding, so to speak, so there is definitely room for improvement.\n", "\n", "### Final Model\n", "We can improve our model by engineering two new features. Specifically, we can standardize the number of impressions by z-scoring, $z=(x-mean)/stddev.$ This yields data with a mean of 0 and a standard deviation of 1, better allowing us to see deviations from the mean number of impressions. Second, we can utilize Pandas' datetime functionality to calculate the difference in time from when the ad ended to when it started, giving us the total duration of the ad. It's reasonable to assume that the longer the duration of the ad, the more was spent on it, so this should be a useful feature in our model. We remove the other date features in favor of this feature. After trying various other regression models, it was determined that linear regression was still the best in terms of $R^2$, so this was chosen to be the final model. `GridSearchCV` was used to determine the optimal parameters for the linear regression model, these were `fit_intercept = True` and `normalize = False`. The other parameters of the model are unrelated to the actual model output. These were the default values for the model, so they were left unchanged. Our final model yielded a $R^2$ of .84, a large improvement from our previous model. This indicates that the new model replicates the outcomes of the observed data much better.\n", "\n", "### Fairness Evaluation\n", "We now wish to ascertain how well our model performs on certain portions of the data. Specifically, on those ads with low amounts of impressions. We define \"low\" as slightly lower than the 25th percentile, 18,000 impressions. To determine how fair our model is to ads with lower impressions vs. regular and higher impressions, we separate the dataset into two, one with ads with low impressions as defined above and one with the rest of the ads. We then see how well the model performs on various permutations of each subset to get a clearer picture of its fairness to ads with low vs other amounts of impressions. We use $\\alpha$ = 0.1 with the null hypothesis that the model treats both the same in terms of $R^2$ and the alternative hypothesis being that it treats ads with low impressions more poorly with a lower $R^2$. The model has an average $R^2$ of .45 on the low dataset but .72 on the rest of the data. Using the Kolmogorov–Smirnov test, we can compare the distributions of the scores of the model for both subsets of the data. We have an extremely small p-value of $3.65* 10^{-153}$, so we reject the null hypothesis and determine that the model is likely unfair in that it performs worse on ads with lower impressions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Code" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import os\n", "import pandas as pd\n", "import seaborn as sns\n", "from sklearn import *\n", "from sklearn.preprocessing import *\n", "from sklearn.linear_model import *\n", "from sklearn.metrics import *\n", "from sklearn.model_selection import *\n", "from sklearn.pipeline import *\n", "from sklearn.compose import *\n", "import scipy.stats\n", "%matplotlib inline\n", "%config InlineBackend.figure_format = 'retina' # Higher resolution figures" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Baseline Model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#currency was converted and months/days were added in previous project\n", "sc = pd.read_csv('sc.csv').drop('Unnamed: 0',axis=1)\n", "#we drop null values, the only null values are in EndMonth/Day\n", "base = sc[['Impressions','StartMonth','StartDay','EndMonth','EndDay','PayingAdvertiserName','Spend']].dropna()\n", "#select the columns we want to use" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Numeric columns and associated transformers\n", "num_feat = ['Impressions']\n", "num_transformer = Pipeline(steps=[\n", " ('passthrough', FunctionTransformer(lambda x:x)) # passthrough\n", "])\n", "\n", "# Categorical columns and associated transformers\n", "cat_feat = ['StartMonth','StartDay','EndMonth','EndDay','PayingAdvertiserName']\n", "cat_transformer = Pipeline(steps=[\n", " ('intenc', OrdinalEncoder()), # converts to int\n", " ('onehot', OneHotEncoder()) # output from Ordinal becomes input to OneHot\n", "])\n", "\n", "# preprocessing pipeline (put them together)\n", "preproc = ColumnTransformer(transformers=[('num', num_transformer, num_feat), ('cat', cat_transformer, cat_feat)])\n", "\n", "pl = Pipeline(steps=[('regressor',LinearRegression())])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "X = preproc.fit_transform(base.drop('Spend', axis=1)) #process the dataset\n", "y = base.Spend" ] }, { "cell_type": "code", "execution_count": 437, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.6611158867619407\n" ] } ], "source": [ "score = []\n", "for x in range(100):\n", " X_train, X_test, y_train, y_test = train_test_split(X, y)\n", " pl.fit(X_train, y_train)\n", " score.append(pl.score(X_test, y_test))\n", "print(np.mean(score)) #average R^2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Final Model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Numeric columns and associated transformers\n", "num_feat = ['Impressions']\n", "num_transformer = Pipeline(steps=[\n", " ('scaler', StandardScaler()) # z-scale impressions\n", "])\n", "\n", "def get_hours(x):\n", " df = pd.to_datetime(x['EndDate']).dt.hour - pd.to_datetime(x['StartDate']).dt.hour\n", " return pd.DataFrame(df)\n", "dates = ['StartDate','EndDate']\n", "date_transformer = Pipeline(steps=[\n", " ('duration', FunctionTransformer(get_hours))\n", " #time duration\n", "])\n", "\n", "# Categorical columns and associated transformers\n", "cat_feat = ['PayingAdvertiserName']\n", "cat_transformer = Pipeline(steps=[\n", " ('intenc', OrdinalEncoder()), # converts to int\n", " ('onehot', OneHotEncoder()) # output from Ordinal becomes input to OneHot\n", "])\n", "\n", "# preprocessing pipeline (put them together)\n", "preproc2 = ColumnTransformer(transformers=[('num', num_transformer, num_feat), ('dates',date_transformer,dates), ('cat', cat_transformer, cat_feat)])\n", "\n", "pl2 = Pipeline(steps=[('regressor', LinearRegression())])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#select features for new model\n", "improved = sc[['Impressions','StartDate','EndDate','PayingAdvertiserName','Spend']].dropna()" ] }, { "cell_type": "code", "execution_count": 420, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['memory', 'steps', 'verbose', 'regressor', 'regressor__copy_X', 'regressor__fit_intercept', 'regressor__n_jobs', 'regressor__normalize'])" ] }, "execution_count": 420, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#get parameters to optimize\n", "pl2.get_params().keys()" ] }, { "cell_type": "code", "execution_count": 423, "metadata": {}, "outputs": [], "source": [ "params = {'regressor__fit_intercept': [True, False], 'regressor__normalize': [True, False]}\n", "grids = GridSearchCV(pl2, param_grid=params, cv=5)" ] }, { "cell_type": "code", "execution_count": 424, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GridSearchCV(cv=5,\n", " estimator=Pipeline(steps=[('regressor', LinearRegression())]),\n", " param_grid={'regressor__fit_intercept': [True, False],\n", " 'regressor__normalize': [True, False]})" ] }, "execution_count": 424, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_tr, X_ts, y_tr, y_ts = train_test_split(X, y)\n", "grids.fit(X_tr, y_tr)" ] }, { "cell_type": "code", "execution_count": 425, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'regressor__fit_intercept': True, 'regressor__normalize': False}" ] }, "execution_count": 425, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grids.best_params_ #these are the defaults" ] }, { "cell_type": "code", "execution_count": 426, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7636818802834835" ] }, "execution_count": 426, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grids.best_score_" ] }, { "cell_type": "code", "execution_count": 532, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.8493351530307777\n" ] } ], "source": [ "X = preproc2.fit_transform(improved.drop('Spend', axis=1)) #process the dataset\n", "y = improved.Spend\n", "score = []\n", "for x in range(100):\n", " X_train, X_test, y_train, y_test = train_test_split(X, y)\n", " pl2.fit(X_train, y_train)\n", " score.append(pl2.score(X_train, y_train))\n", "print(np.mean(score)) #R^2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fairness Evaluation" ] }, { "cell_type": "code", "execution_count": 460, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 460, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 263, "width": 410 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.scatterplot(improved['Impressions'],improved['Spend'])\n", "#There is some correlation between spend and impressions" ] }, { "cell_type": "code", "execution_count": 461, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Impressions
count4.184000e+03
mean9.269965e+05
std5.490533e+06
min1.000000e+00
25%1.851525e+04
50%1.017510e+05
75%4.533338e+05
max2.349018e+08
\n", "
" ], "text/plain": [ " Impressions\n", "count 4.184000e+03\n", "mean 9.269965e+05\n", "std 5.490533e+06\n", "min 1.000000e+00\n", "25% 1.851525e+04\n", "50% 1.017510e+05\n", "75% 4.533338e+05\n", "max 2.349018e+08" ] }, "execution_count": 461, "metadata": {}, "output_type": "execute_result" } ], "source": [ "improved[['Impressions']].describe()\n", "#what if we looked at ads with low impressions, below the 25%?" ] }, { "cell_type": "code", "execution_count": 536, "metadata": {}, "outputs": [], "source": [ "improved['Binarized'] = Binarizer(threshold=18000).fit_transform(improved[['Impressions']])" ] }, { "cell_type": "code", "execution_count": 555, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ImpressionsStartDateEndDatePayingAdvertiserNameSpendBinarized
011832872019/09/27 12:29:18Z2019/10/05 14:00:00ZFederal National Council4187.0000001
11908472019/03/20 13:00:00Z2019/04/04 03:59:59ZBen & Jerry's1576.0000001
2846871402019/10/23 13:00:00Z2019/11/16 07:59:59ZRecreational Equipment, Inc.99361.0000001
325559402019/09/30 14:00:00Z2020/06/29 03:59:00Ztruth10360.0000001
43238902019/06/03 07:00:00Z2019/09/04 06:59:59ZPlan International Canada260.2196231
532312019/11/26 00:05:10Z2019/11/26 23:00:00ZHOPE not hate Charitable Trust7.7602680
627625992019/11/12 13:11:17Z2019/11/18 23:59:59ZThe Labour Party6466.8901931
787792019/09/13 09:32:01Z2019/09/14 09:32:01ZNCDHD23.0000000
825852019/12/13 00:29:58Z2020/01/01 04:59:59ZWarren for President48.0000000
9509462019/10/17 20:09:20Z2019/11/06 00:00:00ZACRONYM365.0000001
\n", "
" ], "text/plain": [ " Impressions StartDate EndDate \\\n", "0 1183287 2019/09/27 12:29:18Z 2019/10/05 14:00:00Z \n", "1 190847 2019/03/20 13:00:00Z 2019/04/04 03:59:59Z \n", "2 84687140 2019/10/23 13:00:00Z 2019/11/16 07:59:59Z \n", "3 2555940 2019/09/30 14:00:00Z 2020/06/29 03:59:00Z \n", "4 323890 2019/06/03 07:00:00Z 2019/09/04 06:59:59Z \n", "5 3231 2019/11/26 00:05:10Z 2019/11/26 23:00:00Z \n", "6 2762599 2019/11/12 13:11:17Z 2019/11/18 23:59:59Z \n", "7 8779 2019/09/13 09:32:01Z 2019/09/14 09:32:01Z \n", "8 2585 2019/12/13 00:29:58Z 2020/01/01 04:59:59Z \n", "9 50946 2019/10/17 20:09:20Z 2019/11/06 00:00:00Z \n", "\n", " PayingAdvertiserName Spend Binarized \n", "0 Federal National Council 4187.000000 1 \n", "1 Ben & Jerry's 1576.000000 1 \n", "2 Recreational Equipment, Inc. 99361.000000 1 \n", "3 truth 10360.000000 1 \n", "4 Plan International Canada 260.219623 1 \n", "5 HOPE not hate Charitable Trust 7.760268 0 \n", "6 The Labour Party 6466.890193 1 \n", "7 NCDHD 23.000000 0 \n", "8 Warren for President 48.000000 0 \n", "9 ACRONYM 365.000000 1 " ] }, "execution_count": 555, "metadata": {}, "output_type": "execute_result" } ], "source": [ "improved.head(10)" ] }, { "cell_type": "code", "execution_count": 538, "metadata": {}, "outputs": [], "source": [ "#separate data\n", "low = df[improved['Binarized'] == 0]\n", "rest = df[improved['Binarized'] == 1]" ] }, { "cell_type": "code", "execution_count": 541, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.4502236073057152\n" ] } ], "source": [ "X_low = (preproc2.fit_transform(low.drop('Spend', axis=1)))\n", "y_low = low.Spend\n", "score_low = []\n", "for x in range(500):\n", " X_train, X_test, y_train, y_test = train_test_split(X_low, y_low)\n", " score_low.append(pl2.score(X_test, y_test))\n", "print(np.mean(score_low)) #low R^2" ] }, { "cell_type": "code", "execution_count": 542, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7288819175587933\n" ] } ], "source": [ "X_rest = (preproc2.fit_transform(rest.drop('Spend', axis=1)))\n", "y_rest = rest.Spend\n", "score_rest = []\n", "for x in range(500):\n", " X_train, X_test, y_train, y_test = train_test_split(X_rest, y_rest)\n", " score_rest.append(pl2.score(X_test, y_test))\n", "print(np.mean(score_rest)) #higher R^2" ] }, { "cell_type": "code", "execution_count": 558, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 558, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 250, "width": 364 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.distplot(score_low)\n", "sns.distplot(score_rest)" ] }, { "cell_type": "code", "execution_count": 544, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ks_2sampResult(statistic=0.832, pvalue=3.6552424432544507e-153)" ] }, "execution_count": 544, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scipy.stats.ks_2samp(score_low,score_rest) #very low P-val, dist. are not similar" ] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }