Created
July 27, 2017 08:18
-
-
Save Saurabh7/cb16c8cd56dc5cb338ef2bf802feaac6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 70, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import IPython.core.display as di\n", | |
"\n", | |
"# This line will hide code by default when the notebook is exported as HTML\n", | |
"di.display_html('<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>', raw=True)\n", | |
"\n", | |
"# This line will add a button to toggle visibility of code blocks, for use with the HTML export version\n", | |
"di.display_html('''<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>''', raw=True)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### Path analysis flow\n", | |
"\n", | |
"- Find check threshold.\n", | |
"- Find paths satisfy threshold.\n", | |
"- Filter according to impact factor." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### Evaluation information:\n", | |
"\n", | |
"- Evaluation metrics: precision, recall, MCC, f1 score\n", | |
"- Length of positive set\n", | |
"- Total length\n", | |
"- overall_goal_metric\n", | |
"- check threshold\n", | |
"- check threshold * overall_goal_metric " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 60, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from jarvis.mongo.mongo_paths import MongoPaths" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd\n", | |
"from IPython.display import display" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 66, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def evaluate(account_list, metric):\n", | |
"\n", | |
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'v0', 'goal_metric': 'ga_fb_roas'}))\n", | |
" df = pd.DataFrame(document_list)\n", | |
" df1 = df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop', 'goal_metric']][1:]\n", | |
"\n", | |
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': 'ga_fb_roas'}))\n", | |
" df = pd.DataFrame(document_list)\n", | |
" df2 = df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop', 'goal_metric']][1:]\n", | |
"\n", | |
" display((df1.merge(df2, on=['start_date', 'end_date'], how='inner', suffixes=('_imp_factor', '_spend_prop'))\n", | |
" [['start_date', 'end_date', 'precision_imp_factor', 'precision_spend_prop', 'recall_imp_factor',\n", | |
" 'recall_spend_prop','mcc_imp_factor', 'mcc_spend_prop', 'check_threshold_imp_factor', 'true_spend_prop_imp_factor', 'check_threshold_spend_prop', 'true_spend_prop_spend_prop']]))# 'true_spend_prop', 'goal_metric'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Zivame\n", | |
"#### GA: ROAS" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 67, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>start_date</th>\n", | |
" <th>end_date</th>\n", | |
" <th>precision_imp_factor</th>\n", | |
" <th>precision_spend_prop</th>\n", | |
" <th>recall_imp_factor</th>\n", | |
" <th>recall_spend_prop</th>\n", | |
" <th>mcc_imp_factor</th>\n", | |
" <th>mcc_spend_prop</th>\n", | |
" <th>check_threshold_imp_factor</th>\n", | |
" <th>true_spend_prop_imp_factor</th>\n", | |
" <th>check_threshold_spend_prop</th>\n", | |
" <th>true_spend_prop_spend_prop</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>0.985856</td>\n", | |
" <td>0.625602</td>\n", | |
" <td>0.623090</td>\n", | |
" <td>0.610104</td>\n", | |
" <td>0.672847</td>\n", | |
" <td>0.290224</td>\n", | |
" <td>0.365622</td>\n", | |
" <td>0.467380</td>\n", | |
" <td>0.365622</td>\n", | |
" <td>0.467380</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2017-07-21</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.891673</td>\n", | |
" <td>0.456556</td>\n", | |
" <td>0.493252</td>\n", | |
" <td>0.535627</td>\n", | |
" <td>0.479706</td>\n", | |
" <td>-0.125919</td>\n", | |
" <td>0.367768</td>\n", | |
" <td>0.508143</td>\n", | |
" <td>0.367573</td>\n", | |
" <td>0.508343</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2017-07-14</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.730230</td>\n", | |
" <td>0.646686</td>\n", | |
" <td>0.281958</td>\n", | |
" <td>0.488759</td>\n", | |
" <td>0.222045</td>\n", | |
" <td>0.222988</td>\n", | |
" <td>0.321573</td>\n", | |
" <td>0.504526</td>\n", | |
" <td>0.321622</td>\n", | |
" <td>0.504718</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.868042</td>\n", | |
" <td>0.706758</td>\n", | |
" <td>0.335098</td>\n", | |
" <td>0.599827</td>\n", | |
" <td>0.328902</td>\n", | |
" <td>0.288096</td>\n", | |
" <td>0.333902</td>\n", | |
" <td>0.555038</td>\n", | |
" <td>0.333952</td>\n", | |
" <td>0.555048</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2017-07-01</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.752315</td>\n", | |
" <td>0.727771</td>\n", | |
" <td>0.195121</td>\n", | |
" <td>0.586357</td>\n", | |
" <td>0.173911</td>\n", | |
" <td>0.332155</td>\n", | |
" <td>0.341408</td>\n", | |
" <td>0.536647</td>\n", | |
" <td>0.341453</td>\n", | |
" <td>0.538686</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>0.711727</td>\n", | |
" <td>0.654874</td>\n", | |
" <td>0.361724</td>\n", | |
" <td>0.500136</td>\n", | |
" <td>0.281152</td>\n", | |
" <td>0.290710</td>\n", | |
" <td>0.386157</td>\n", | |
" <td>0.457136</td>\n", | |
" <td>0.386157</td>\n", | |
" <td>0.457136</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>2017-05-01</td>\n", | |
" <td>2017-05-31</td>\n", | |
" <td>0.705761</td>\n", | |
" <td>0.667950</td>\n", | |
" <td>0.197365</td>\n", | |
" <td>0.172454</td>\n", | |
" <td>0.166123</td>\n", | |
" <td>0.129532</td>\n", | |
" <td>0.388255</td>\n", | |
" <td>0.499663</td>\n", | |
" <td>0.388255</td>\n", | |
" <td>0.499663</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-27</td>\n", | |
" <td>0.773614</td>\n", | |
" <td>0.662033</td>\n", | |
" <td>0.327819</td>\n", | |
" <td>0.521711</td>\n", | |
" <td>0.308334</td>\n", | |
" <td>0.303502</td>\n", | |
" <td>0.383123</td>\n", | |
" <td>0.462081</td>\n", | |
" <td>0.383123</td>\n", | |
" <td>0.462081</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>2017-07-17</td>\n", | |
" <td>2017-07-20</td>\n", | |
" <td>0.806707</td>\n", | |
" <td>0.737156</td>\n", | |
" <td>0.491152</td>\n", | |
" <td>0.724679</td>\n", | |
" <td>0.425757</td>\n", | |
" <td>0.494192</td>\n", | |
" <td>0.341671</td>\n", | |
" <td>0.472006</td>\n", | |
" <td>0.341671</td>\n", | |
" <td>0.472006</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" start_date end_date precision_imp_factor precision_spend_prop \\\n", | |
"0 2017-07-26 2017-07-26 0.985856 0.625602 \n", | |
"1 2017-07-21 2017-07-27 0.891673 0.456556 \n", | |
"2 2017-07-14 2017-07-27 0.730230 0.646686 \n", | |
"3 2017-06-30 2017-07-27 0.868042 0.706758 \n", | |
"4 2017-07-01 2017-07-27 0.752315 0.727771 \n", | |
"5 2017-06-01 2017-06-30 0.711727 0.654874 \n", | |
"6 2017-05-01 2017-05-31 0.705761 0.667950 \n", | |
"7 2017-06-01 2017-06-27 0.773614 0.662033 \n", | |
"8 2017-07-17 2017-07-20 0.806707 0.737156 \n", | |
"\n", | |
" recall_imp_factor recall_spend_prop mcc_imp_factor mcc_spend_prop \\\n", | |
"0 0.623090 0.610104 0.672847 0.290224 \n", | |
"1 0.493252 0.535627 0.479706 -0.125919 \n", | |
"2 0.281958 0.488759 0.222045 0.222988 \n", | |
"3 0.335098 0.599827 0.328902 0.288096 \n", | |
"4 0.195121 0.586357 0.173911 0.332155 \n", | |
"5 0.361724 0.500136 0.281152 0.290710 \n", | |
"6 0.197365 0.172454 0.166123 0.129532 \n", | |
"7 0.327819 0.521711 0.308334 0.303502 \n", | |
"8 0.491152 0.724679 0.425757 0.494192 \n", | |
"\n", | |
" check_threshold_imp_factor true_spend_prop_imp_factor \\\n", | |
"0 0.365622 0.467380 \n", | |
"1 0.367768 0.508143 \n", | |
"2 0.321573 0.504526 \n", | |
"3 0.333902 0.555038 \n", | |
"4 0.341408 0.536647 \n", | |
"5 0.386157 0.457136 \n", | |
"6 0.388255 0.499663 \n", | |
"7 0.383123 0.462081 \n", | |
"8 0.341671 0.472006 \n", | |
"\n", | |
" check_threshold_spend_prop true_spend_prop_spend_prop \n", | |
"0 0.365622 0.467380 \n", | |
"1 0.367573 0.508343 \n", | |
"2 0.321622 0.504718 \n", | |
"3 0.333952 0.555048 \n", | |
"4 0.341453 0.538686 \n", | |
"5 0.386157 0.457136 \n", | |
"6 0.388255 0.499663 \n", | |
"7 0.383123 0.462081 \n", | |
"8 0.341671 0.472006 " | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"evaluate(account_list = [15],\n", | |
" metric = 'ga_fb_roas')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Faballey\n", | |
"#### GA: ROAS" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 68, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>start_date</th>\n", | |
" <th>end_date</th>\n", | |
" <th>precision_imp_factor</th>\n", | |
" <th>precision_spend_prop</th>\n", | |
" <th>recall_imp_factor</th>\n", | |
" <th>recall_spend_prop</th>\n", | |
" <th>mcc_imp_factor</th>\n", | |
" <th>mcc_spend_prop</th>\n", | |
" <th>check_threshold_imp_factor</th>\n", | |
" <th>true_spend_prop_imp_factor</th>\n", | |
" <th>check_threshold_spend_prop</th>\n", | |
" <th>true_spend_prop_spend_prop</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>0.857461</td>\n", | |
" <td>0.661257</td>\n", | |
" <td>0.618888</td>\n", | |
" <td>0.725246</td>\n", | |
" <td>0.470142</td>\n", | |
" <td>0.200697</td>\n", | |
" <td>0.384966</td>\n", | |
" <td>0.587946</td>\n", | |
" <td>0.384966</td>\n", | |
" <td>0.587946</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2017-07-21</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.889858</td>\n", | |
" <td>0.748645</td>\n", | |
" <td>0.470549</td>\n", | |
" <td>0.626804</td>\n", | |
" <td>0.508153</td>\n", | |
" <td>0.488517</td>\n", | |
" <td>0.397425</td>\n", | |
" <td>0.421081</td>\n", | |
" <td>0.398098</td>\n", | |
" <td>0.422468</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.780119</td>\n", | |
" <td>0.639036</td>\n", | |
" <td>0.223097</td>\n", | |
" <td>0.321420</td>\n", | |
" <td>0.197702</td>\n", | |
" <td>0.106914</td>\n", | |
" <td>0.417940</td>\n", | |
" <td>0.553471</td>\n", | |
" <td>0.418004</td>\n", | |
" <td>0.553462</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2017-07-01</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.778153</td>\n", | |
" <td>0.679230</td>\n", | |
" <td>0.229371</td>\n", | |
" <td>0.357024</td>\n", | |
" <td>0.205005</td>\n", | |
" <td>0.163396</td>\n", | |
" <td>0.417788</td>\n", | |
" <td>0.544720</td>\n", | |
" <td>0.417770</td>\n", | |
" <td>0.552168</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>0.691892</td>\n", | |
" <td>0.674774</td>\n", | |
" <td>0.358297</td>\n", | |
" <td>0.437282</td>\n", | |
" <td>0.204466</td>\n", | |
" <td>0.215669</td>\n", | |
" <td>0.470869</td>\n", | |
" <td>0.524732</td>\n", | |
" <td>0.470869</td>\n", | |
" <td>0.524732</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2017-05-01</td>\n", | |
" <td>2017-05-31</td>\n", | |
" <td>0.499722</td>\n", | |
" <td>0.499722</td>\n", | |
" <td>0.426176</td>\n", | |
" <td>0.426176</td>\n", | |
" <td>0.258217</td>\n", | |
" <td>0.258217</td>\n", | |
" <td>0.642795</td>\n", | |
" <td>0.297185</td>\n", | |
" <td>0.642795</td>\n", | |
" <td>0.297185</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-27</td>\n", | |
" <td>0.719273</td>\n", | |
" <td>0.689721</td>\n", | |
" <td>0.367034</td>\n", | |
" <td>0.444675</td>\n", | |
" <td>0.249019</td>\n", | |
" <td>0.252497</td>\n", | |
" <td>0.466602</td>\n", | |
" <td>0.509151</td>\n", | |
" <td>0.466602</td>\n", | |
" <td>0.509151</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>2017-07-17</td>\n", | |
" <td>2017-07-20</td>\n", | |
" <td>0.878365</td>\n", | |
" <td>0.779726</td>\n", | |
" <td>0.296798</td>\n", | |
" <td>0.770325</td>\n", | |
" <td>0.361235</td>\n", | |
" <td>0.587379</td>\n", | |
" <td>0.502676</td>\n", | |
" <td>0.457521</td>\n", | |
" <td>0.502676</td>\n", | |
" <td>0.457521</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" start_date end_date precision_imp_factor precision_spend_prop \\\n", | |
"0 2017-07-26 2017-07-26 0.857461 0.661257 \n", | |
"1 2017-07-21 2017-07-27 0.889858 0.748645 \n", | |
"2 2017-06-30 2017-07-27 0.780119 0.639036 \n", | |
"3 2017-07-01 2017-07-27 0.778153 0.679230 \n", | |
"4 2017-06-01 2017-06-30 0.691892 0.674774 \n", | |
"5 2017-05-01 2017-05-31 0.499722 0.499722 \n", | |
"6 2017-06-01 2017-06-27 0.719273 0.689721 \n", | |
"7 2017-07-17 2017-07-20 0.878365 0.779726 \n", | |
"\n", | |
" recall_imp_factor recall_spend_prop mcc_imp_factor mcc_spend_prop \\\n", | |
"0 0.618888 0.725246 0.470142 0.200697 \n", | |
"1 0.470549 0.626804 0.508153 0.488517 \n", | |
"2 0.223097 0.321420 0.197702 0.106914 \n", | |
"3 0.229371 0.357024 0.205005 0.163396 \n", | |
"4 0.358297 0.437282 0.204466 0.215669 \n", | |
"5 0.426176 0.426176 0.258217 0.258217 \n", | |
"6 0.367034 0.444675 0.249019 0.252497 \n", | |
"7 0.296798 0.770325 0.361235 0.587379 \n", | |
"\n", | |
" check_threshold_imp_factor true_spend_prop_imp_factor \\\n", | |
"0 0.384966 0.587946 \n", | |
"1 0.397425 0.421081 \n", | |
"2 0.417940 0.553471 \n", | |
"3 0.417788 0.544720 \n", | |
"4 0.470869 0.524732 \n", | |
"5 0.642795 0.297185 \n", | |
"6 0.466602 0.509151 \n", | |
"7 0.502676 0.457521 \n", | |
"\n", | |
" check_threshold_spend_prop true_spend_prop_spend_prop \n", | |
"0 0.384966 0.587946 \n", | |
"1 0.398098 0.422468 \n", | |
"2 0.418004 0.553462 \n", | |
"3 0.417770 0.552168 \n", | |
"4 0.470869 0.524732 \n", | |
"5 0.642795 0.297185 \n", | |
"6 0.466602 0.509151 \n", | |
"7 0.502676 0.457521 " | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"evaluate(account_list = [261, 260],\n", | |
" metric = 'ga_fb_roas')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Zivame\n", | |
"#### FB: CTR" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 69, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>start_date</th>\n", | |
" <th>end_date</th>\n", | |
" <th>precision_imp_factor</th>\n", | |
" <th>precision_spend_prop</th>\n", | |
" <th>recall_imp_factor</th>\n", | |
" <th>recall_spend_prop</th>\n", | |
" <th>mcc_imp_factor</th>\n", | |
" <th>mcc_spend_prop</th>\n", | |
" <th>check_threshold_imp_factor</th>\n", | |
" <th>true_spend_prop_imp_factor</th>\n", | |
" <th>check_threshold_spend_prop</th>\n", | |
" <th>true_spend_prop_spend_prop</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>2017-07-26</td>\n", | |
" <td>0.985856</td>\n", | |
" <td>0.625602</td>\n", | |
" <td>0.623090</td>\n", | |
" <td>0.610104</td>\n", | |
" <td>0.672847</td>\n", | |
" <td>0.290224</td>\n", | |
" <td>0.365622</td>\n", | |
" <td>0.467380</td>\n", | |
" <td>0.365622</td>\n", | |
" <td>0.467380</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2017-07-21</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.891673</td>\n", | |
" <td>0.456556</td>\n", | |
" <td>0.493252</td>\n", | |
" <td>0.535627</td>\n", | |
" <td>0.479706</td>\n", | |
" <td>-0.125919</td>\n", | |
" <td>0.367768</td>\n", | |
" <td>0.508143</td>\n", | |
" <td>0.367573</td>\n", | |
" <td>0.508343</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2017-07-14</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.730230</td>\n", | |
" <td>0.646686</td>\n", | |
" <td>0.281958</td>\n", | |
" <td>0.488759</td>\n", | |
" <td>0.222045</td>\n", | |
" <td>0.222988</td>\n", | |
" <td>0.321573</td>\n", | |
" <td>0.504526</td>\n", | |
" <td>0.321622</td>\n", | |
" <td>0.504718</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.868042</td>\n", | |
" <td>0.706758</td>\n", | |
" <td>0.335098</td>\n", | |
" <td>0.599827</td>\n", | |
" <td>0.328902</td>\n", | |
" <td>0.288096</td>\n", | |
" <td>0.333902</td>\n", | |
" <td>0.555038</td>\n", | |
" <td>0.333952</td>\n", | |
" <td>0.555048</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2017-07-01</td>\n", | |
" <td>2017-07-27</td>\n", | |
" <td>0.752315</td>\n", | |
" <td>0.727771</td>\n", | |
" <td>0.195121</td>\n", | |
" <td>0.586357</td>\n", | |
" <td>0.173911</td>\n", | |
" <td>0.332155</td>\n", | |
" <td>0.341408</td>\n", | |
" <td>0.536647</td>\n", | |
" <td>0.341453</td>\n", | |
" <td>0.538686</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-30</td>\n", | |
" <td>0.711727</td>\n", | |
" <td>0.654874</td>\n", | |
" <td>0.361724</td>\n", | |
" <td>0.500136</td>\n", | |
" <td>0.281152</td>\n", | |
" <td>0.290710</td>\n", | |
" <td>0.386157</td>\n", | |
" <td>0.457136</td>\n", | |
" <td>0.386157</td>\n", | |
" <td>0.457136</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>2017-05-01</td>\n", | |
" <td>2017-05-31</td>\n", | |
" <td>0.705761</td>\n", | |
" <td>0.667950</td>\n", | |
" <td>0.197365</td>\n", | |
" <td>0.172454</td>\n", | |
" <td>0.166123</td>\n", | |
" <td>0.129532</td>\n", | |
" <td>0.388255</td>\n", | |
" <td>0.499663</td>\n", | |
" <td>0.388255</td>\n", | |
" <td>0.499663</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>2017-06-01</td>\n", | |
" <td>2017-06-27</td>\n", | |
" <td>0.773614</td>\n", | |
" <td>0.662033</td>\n", | |
" <td>0.327819</td>\n", | |
" <td>0.521711</td>\n", | |
" <td>0.308334</td>\n", | |
" <td>0.303502</td>\n", | |
" <td>0.383123</td>\n", | |
" <td>0.462081</td>\n", | |
" <td>0.383123</td>\n", | |
" <td>0.462081</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>2017-07-17</td>\n", | |
" <td>2017-07-20</td>\n", | |
" <td>0.806707</td>\n", | |
" <td>0.737156</td>\n", | |
" <td>0.491152</td>\n", | |
" <td>0.724679</td>\n", | |
" <td>0.425757</td>\n", | |
" <td>0.494192</td>\n", | |
" <td>0.341671</td>\n", | |
" <td>0.472006</td>\n", | |
" <td>0.341671</td>\n", | |
" <td>0.472006</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" start_date end_date precision_imp_factor precision_spend_prop \\\n", | |
"0 2017-07-26 2017-07-26 0.985856 0.625602 \n", | |
"1 2017-07-21 2017-07-27 0.891673 0.456556 \n", | |
"2 2017-07-14 2017-07-27 0.730230 0.646686 \n", | |
"3 2017-06-30 2017-07-27 0.868042 0.706758 \n", | |
"4 2017-07-01 2017-07-27 0.752315 0.727771 \n", | |
"5 2017-06-01 2017-06-30 0.711727 0.654874 \n", | |
"6 2017-05-01 2017-05-31 0.705761 0.667950 \n", | |
"7 2017-06-01 2017-06-27 0.773614 0.662033 \n", | |
"8 2017-07-17 2017-07-20 0.806707 0.737156 \n", | |
"\n", | |
" recall_imp_factor recall_spend_prop mcc_imp_factor mcc_spend_prop \\\n", | |
"0 0.623090 0.610104 0.672847 0.290224 \n", | |
"1 0.493252 0.535627 0.479706 -0.125919 \n", | |
"2 0.281958 0.488759 0.222045 0.222988 \n", | |
"3 0.335098 0.599827 0.328902 0.288096 \n", | |
"4 0.195121 0.586357 0.173911 0.332155 \n", | |
"5 0.361724 0.500136 0.281152 0.290710 \n", | |
"6 0.197365 0.172454 0.166123 0.129532 \n", | |
"7 0.327819 0.521711 0.308334 0.303502 \n", | |
"8 0.491152 0.724679 0.425757 0.494192 \n", | |
"\n", | |
" check_threshold_imp_factor true_spend_prop_imp_factor \\\n", | |
"0 0.365622 0.467380 \n", | |
"1 0.367768 0.508143 \n", | |
"2 0.321573 0.504526 \n", | |
"3 0.333902 0.555038 \n", | |
"4 0.341408 0.536647 \n", | |
"5 0.386157 0.457136 \n", | |
"6 0.388255 0.499663 \n", | |
"7 0.383123 0.462081 \n", | |
"8 0.341671 0.472006 \n", | |
"\n", | |
" check_threshold_spend_prop true_spend_prop_spend_prop \n", | |
"0 0.365622 0.467380 \n", | |
"1 0.367573 0.508343 \n", | |
"2 0.321622 0.504718 \n", | |
"3 0.333952 0.555048 \n", | |
"4 0.341453 0.538686 \n", | |
"5 0.386157 0.457136 \n", | |
"6 0.388255 0.499663 \n", | |
"7 0.383123 0.462081 \n", | |
"8 0.341671 0.472006 " | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"evaluate(account_list = [15],\n", | |
" metric = 'fb_ctr')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"account_list = [15]\n", | |
"metric = 'ga_fb_cpt'\n", | |
"imp_factor = 'v0'\n", | |
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor':imp_factor, 'goal_metric': metric}))\n", | |
"df = pd.DataFrame(document_list)\n", | |
"df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop']]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"account_list = [15]\n", | |
"metric = 'ga_fb_cpt'\n", | |
"imp_factor = 'spend_prop'\n", | |
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor':imp_factor, 'goal_metric': metric}))\n", | |
"df = pd.DataFrame(document_list)\n", | |
"df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop']]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': metric}))\n", | |
"pd.DataFrame(document_list)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def print_scores(account_list, metric):\n", | |
" print('\\n imp_factor:')\n", | |
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'v0', 'goal_metric': metric}))\n", | |
"\n", | |
" print('precision:', pd.np.mean([doc['precision'] for doc in document_list]))\n", | |
" print('recall:',pd.np.mean([doc['recall'] for doc in document_list]))\n", | |
" print('f1:',pd.np.mean([doc['f1'] for doc in document_list]))\n", | |
" print('mcc:',pd.np.mean([doc['mcc'] for doc in document_list]))\n", | |
"\n", | |
" print('\\n Spend prop:')\n", | |
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': metric}))\n", | |
"\n", | |
" print('precision:', pd.np.mean([doc['precision'] for doc in document_list]))\n", | |
" print('recall:',pd.np.mean([doc['recall'] for doc in document_list]))\n", | |
" print('f1:',pd.np.mean([doc['f1'] for doc in document_list]))\n", | |
" print('mcc:',pd.np.mean([doc['mcc'] for doc in document_list]))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"print(\"Cars24\")\n", | |
"print('ga_fb_cpt')\n", | |
"print_scores([136], 'ga_fb_cpt')\n", | |
"\n", | |
"print('-'*10)\n", | |
"print(\"Zivame\")\n", | |
"print('ga_fb_cpt')\n", | |
"print_scores([15], 'ga_fb_cpt')\n", | |
"print('ga_fb_roas')\n", | |
"print_scores([15], 'ga_fb_roas')\n", | |
"\n", | |
"print('-'*10)\n", | |
"print(\"Faballey\")\n", | |
"print('ga_fb_cpt')\n", | |
"print_scores([261, 260], 'ga_fb_cpt')\n", | |
"print('ga_fb_roas')\n", | |
"print_scores([261, 260], 'ga_fb_roas')\n", | |
"\n" | |
] | |
} | |
], | |
"metadata": { | |
"anaconda-cloud": {}, | |
"kernelspec": { | |
"display_name": "Python [jarvis1]", | |
"language": "python", | |
"name": "Python [jarvis1]" | |
}, | |
"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.5.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment