{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Charting a Marketing Acquisition Funnel\n", "> The motiviation was duplicating some of Looker's bar charts when the data itself was still a bunch of CSV files, MySQL queries, and a bunch of API calls glued together\n", "\n", "- toc: false\n", "- branch: master\n", "- badges: true\n", "- categories: [viz, jupyter]\n", "- hide: false\n", "- search_exclude: false" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "from collections import OrderedDict\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as patches\n", "\n", "import seaborn as sns\n", "sns.set_style('whitegrid')" ] }, { "cell_type": "code", "execution_count": 2, "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", "
datewebsite_trafficnew_accountsaccount_verifyproduct_activatedpaid_conversionsome_other_metric
02019-08-0153077115720126701081265413270
12019-09-0155865215900138841290990813678
\n", "
" ], "text/plain": [ " date website_traffic new_accounts account_verify \\\n", "0 2019-08-01 530771 15720 12670 \n", "1 2019-09-01 558652 15900 13884 \n", "\n", " product_activated paid_conversion some_other_metric \n", "0 10812 654 13270 \n", "1 12909 908 13678 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# start with some dummy data\n", "df = pd.DataFrame({\n", " 'date':['2019-08-01','2019-09-01'],\n", " 'website_traffic':[530771,558652],\n", " 'new_accounts':[15720,15900],\n", " 'account_verify':[12670,13884],\n", " 'product_activated':[10812,12909],\n", " 'paid_conversion':[654,908],\n", " 'some_other_metric':[13270,13678]\n", "})\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "df['date'] = pd.to_datetime(df['date'],format='%Y-%m-%d')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2 entries, 0 to 1\n", "Data columns (total 7 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 date 2 non-null datetime64[ns]\n", " 1 website_traffic 2 non-null int64 \n", " 2 new_accounts 2 non-null int64 \n", " 3 account_verify 2 non-null int64 \n", " 4 product_activated 2 non-null int64 \n", " 5 paid_conversion 2 non-null int64 \n", " 6 some_other_metric 2 non-null int64 \n", "dtypes: datetime64[ns](1), int64(6)\n", "memory usage: 240.0 bytes\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# define only the KPIs we want to see (since there are cases where other metrics are present in the dataframe)\n", "all_kpis = ['website_traffic','new_accounts','account_verify','product_activated','paid_conversion']" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "all_names = tuple([x.replace('_','\\n').title() for x in all_kpis])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def get_it_in_order(df,mask,month):\n", " \"\"\"\n", " Biggest assumption: there is a 'date' column (not index!) in the dataframe that is *literally named* 'date'\n", " Accepts entire dataframe\n", " Supply a column mask\n", " Supply a list of column names\n", " \"\"\"\n", " kpis = OrderedDict()\n", " frame_2_dict = df.set_index('date').loc[month,mask].to_dict()\n", " for i in mask:\n", " kpis[i] = frame_2_dict[i]\n", " return kpis" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def add_arrow(x_adjust,y_adjust,ratio):\n", " bbox_props = dict(boxstyle=\"rarrow,pad=0.5\", facecolor=\"grey\", edgecolor=\"grey\", alpha=0.75, lw=1)\n", " return plt.text(x_adjust,y_adjust,'{0:.1f}%'.format(ratio * 100),\n", " verticalalignment='center',\n", " horizontalalignment='left',\n", " fontsize=16,\n", " weight='black',\n", " color='white',\n", " bbox=bbox_props)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def plot_acquisition_funnel(df, month, names, metrics):\n", " data = get_it_in_order(df, metrics, month)\n", " count = range(len(data))\n", " fig, ax = plt.subplots(figsize=(10, 6))\n", " rects = ax.bar(count, data.values(), width=.5, align='center', color=sns.color_palette(\"Blues\", len(data)))\n", " plt.xticks(count, names)\n", " plt.ylim(bottom=0, top=data[metrics[1]]*2)\n", " plt.title('{0} Acquisition Funnel'.format(month), fontsize=16)\n", " plt.tick_params(labelsize=16)\n", " add_arrow(0.27, data[metrics[3]]/1.7, data[metrics[1]]/data[metrics[0]])\n", " add_arrow(1.27, data[metrics[3]]/1.7, data[metrics[2]]/data[metrics[1]])\n", " add_arrow(2.27, data[metrics[3]]/1.7, data[metrics[3]]/data[metrics[2]])\n", " add_arrow(3.27, data[metrics[3]]/1.7, data[metrics[4]]/data[metrics[3]])\n", " for rect, val in zip(rects,data.values()):\n", " height = rect.get_height()\n", " if height > 250:\n", " label_color = 'grey'\n", " else:\n", " label_color = 'white'\n", " ax.text(rect.get_x() + rect.get_width()/2,250,'{:,}'.format(val),ha='center', va='bottom',fontsize=12,weight='bold',color=label_color)\n", " plt.grid(False)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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gV1mVp3yuE3BunjNe8krzawF2NJGzT584BuLiIiISIZpVzermX1wpHXOuSFAf+AMfOtdBX6Qw38752Jm9kugCDiY5uEHgWHBz0erKTqGGhEREZGM0RFTkxzAd4OuMbP4fA6LgpD3z8Av8QMm0rXoRYCWND8fraat7YiIiIhkjBMOc2ZWg59mJNUfgEudc72ASqAwTU18HcH3dBNgpda0tR0RERGRjHHCd4Bwzo11zt0SjHhNloefQqQa2AAMds7lpdSMwo9oJagZlbLtKDCijZp++C5WQ0RERCTDdMTtvE4DfgpcHl/gnIsAnwZeNrMYsBjIwk8GHK85A5gYrCP4XuKcOydp27PxQS25ZrpzbmhSzVygEVjWAc9FREREJFQ64pq5ZcAr+Lne+gA7gS/ipys5D8DMNjrnngB+5pwrxg+S+D5+OpOFwXZeBFbg55y7HcgB7gOeNbOyoGYecDfwB+fc3cAQ4IfAo2a2qwOei4iIiEionHDLXHD3hk8BTwPfAZ4CBgAXm9lbSaU3AfPxd2z4ObAauDx+94egBe8q4FXgUeB+4H/xEwXH91WDn2tuO/A4cBfwMHDriT4PERERkTCKxGLpBod2T+Xl5bHx48ef/P3sTJ1Or/sYX1LQ2YdwSjy5emfbRSF1zZR044xERKSrKSsrKystLZ3eVl1HXDMnIiIiIp1EYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EREQkxBTmREREREJMYU5EupXG5pbOPoSTLhOeo4i0X3ZnH4CISEfKyYrypafLO/swTqr/uHp8Zx+CiHQhapkTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFOREREZEQU5gTERERCTGFORER6VLqm1o6+xBOqu7+/OTUy+7sAxAREUmWmx1l5g+WdvZhnDSv33FBZx+CdDNqmRMREREJsWNumXPOXQU8bmaFScsiwJ3AF4H+wKvAV8xsfVJN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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_acquisition_funnel(df,'2019-08-01',all_names,all_kpis)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 4 }