diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..18bd47b Binary files /dev/null and b/.DS_Store differ diff --git a/.ipynb_checkpoints/Cohort_Analysis_Ironhack_Project-checkpoint.ipynb b/.ipynb_checkpoints/Cohort_Analysis_Ironhack_Project-checkpoint.ipynb new file mode 100644 index 0000000..c9f695c --- /dev/null +++ b/.ipynb_checkpoints/Cohort_Analysis_Ironhack_Project-checkpoint.ipynb @@ -0,0 +1,2618 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "45a33a0d", + "metadata": {}, + "source": [ + "# Cohort Analysis for Ironhack Payments" + ] + }, + { + "cell_type": "markdown", + "id": "c510412d", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "### Business Context:\n", + "IronHack Payments offers innovative cash advance solutions since 2020. This project aims to perform a cohort analysis to understand user behavior and the performance of their financial services.\n", + "\n", + "### Deliverables:\n", + "- Python Code (Jupyter Notebook)\n", + "- Exploratory Data Analysis Report\n", + "- Data Quality Analysis Report\n", + "- Short Presentation" + ] + }, + { + "cell_type": "code", + "execution_count": 445, + "id": "a5399ab2-aef1-4fd5-8fcc-840a44da4edb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "3 10 99.0 rejected 2019-12-10 19:16:10.880172+00 \n", + "4 1594 100.0 rejected 2020-05-06 09:59:38.877376+00 \n", + "\n", + " updated_at user_id moderated_at \\\n", + "0 2019-12-11 16:47:42.40783+00 804.0 2019-12-11 16:47:42.405646+00 \n", + "1 2019-12-11 14:24:22.900054+00 231.0 2019-12-11 14:24:22.897988+00 \n", + "2 2019-12-11 09:46:59.779773+00 191.0 2019-12-11 09:46:59.777728+00 \n", + "3 2019-12-18 14:26:18.136163+00 761.0 2019-12-18 14:26:18.128407+00 \n", + "4 2020-05-07 09:21:55.34008+00 7686.0 2020-05-07 09:21:55.320193+00 \n", + "\n", + " deleted_account_id reimbursement_date \\\n", + "0 NaN 2020-01-09 19:05:21.596363+00 \n", + "1 NaN 2020-01-09 19:50:12.34778+00 \n", + "2 NaN 2020-01-09 19:13:35.825041+00 \n", + "3 NaN 2020-01-09 19:16:10.879606+00 \n", + "4 NaN 2020-06-05 22:00:00+00 \n", + "\n", + " cash_request_received_date money_back_date transfer_type send_at \\\n", + "0 NaN NaN regular NaN \n", + "1 NaN NaN regular NaN \n", + "2 NaN NaN regular NaN \n", + "3 NaN NaN regular NaN \n", + "4 NaN NaN regular NaN \n", + "\n", + " recovery_status reco_creation reco_last_update \n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + " id cash_request_id type status category \\\n", + "0 6537 14941.0 instant_payment rejected NaN \n", + "1 6961 11714.0 incident accepted rejected_direct_debit \n", + "2 16296 23371.0 instant_payment accepted NaN \n", + "3 20775 26772.0 instant_payment accepted NaN \n", + "4 11242 19350.0 instant_payment accepted NaN \n", + "\n", + " total_amount reason \\\n", + "0 5.0 Instant Payment Cash Request 14941 \n", + "1 5.0 rejected direct debit \n", + "2 5.0 Instant Payment Cash Request 23371 \n", + "3 5.0 Instant Payment Cash Request 26772 \n", + "4 5.0 Instant Payment Cash Request 19350 \n", + "\n", + " created_at updated_at \\\n", + "0 2020-09-07 10:47:27.42315+00 2020-10-13 14:25:09.396112+00 \n", + "1 2020-09-09 20:51:17.998653+00 2020-10-13 14:25:15.537063+00 \n", + "2 2020-10-23 10:10:58.352972+00 2020-10-23 10:10:58.352994+00 \n", + "3 2020-10-31 15:46:53.643958+00 2020-10-31 15:46:53.643982+00 \n", + "4 2020-10-06 08:20:17.170432+00 2020-10-13 14:25:03.267983+00 \n", + "\n", + " paid_at from_date to_date charge_moment \n", + "0 2020-12-17 14:50:07.47011+00 NaN NaN after \n", + "1 2020-12-08 17:13:10.45908+00 NaN NaN after \n", + "2 2020-11-04 19:34:37.43291+00 NaN NaN after \n", + "3 2020-11-19 05:09:22.500223+00 NaN NaN after \n", + "4 2020-11-02 14:45:20.355598+00 NaN NaN after \n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "data_cash = pd.read_csv('./datasets/cash_data_analyst.csv')\n", + "data_fees = pd.read_csv('./datasets/fees_data_analyst.csv')\n", + "lexicon_data = pd.read_excel('./datasets/Lexique_Data_Analyst.xlsx')\n", + "\n", + "dff = data_fees.copy()\n", + "\n", + "dfc = data_cash.copy()\n", + "\n", + "print(data_cash_request.head(5))\n", + "\n", + "print(data_fees.head(5))\n" + ] + }, + { + "cell_type": "markdown", + "id": "84558474-1341-4784-9dc8-ccb0652683ad", + "metadata": {}, + "source": [ + "## 2. Data Loading\n", + "- Extracting and briefly describing each dataset and its columns." + ] + }, + { + "cell_type": "code", + "execution_count": 447, + "id": "73cbbab6-a168-493a-a5b7-bdc53f795f2d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 21061 entries, 0 to 21060\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 id 21061 non-null int64 \n", + " 1 cash_request_id 21057 non-null float64\n", + " 2 type 21061 non-null object \n", + " 3 status 21061 non-null object \n", + " 4 category 2196 non-null object \n", + " 5 total_amount 21061 non-null float64\n", + " 6 reason 21061 non-null object \n", + " 7 created_at 21061 non-null object \n", + " 8 updated_at 21061 non-null object \n", + " 9 paid_at 15531 non-null object \n", + " 10 from_date 7766 non-null object \n", + " 11 to_date 7766 non-null object \n", + " 12 charge_moment 21061 non-null object \n", + "dtypes: float64(2), int64(1), object(10)\n", + "memory usage: 2.1+ MB\n" + ] + } + ], + "source": [ + "dff.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 448, + "id": "8700a78d-7163-4c56-a401-f2cf1b296e64", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 23970 entries, 0 to 23969\n", + "Data columns (total 16 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 id 23970 non-null int64 \n", + " 1 amount 23970 non-null float64\n", + " 2 status 23970 non-null object \n", + " 3 created_at 23970 non-null object \n", + " 4 updated_at 23970 non-null object \n", + " 5 user_id 21867 non-null float64\n", + " 6 moderated_at 16035 non-null object \n", + " 7 deleted_account_id 2104 non-null float64\n", + " 8 reimbursement_date 23970 non-null object \n", + " 9 cash_request_received_date 16289 non-null object \n", + " 10 money_back_date 16543 non-null object \n", + " 11 transfer_type 23970 non-null object \n", + " 12 send_at 16641 non-null object \n", + " 13 recovery_status 3330 non-null object \n", + " 14 reco_creation 3330 non-null object \n", + " 15 reco_last_update 3330 non-null object \n", + "dtypes: float64(3), int64(1), object(12)\n", + "memory usage: 2.9+ MB\n" + ] + } + ], + "source": [ + "dfc.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 449, + "id": "5913ab9b-f9eb-45ec-af8c-799902ef5c53", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtotal_amount
count21061.00000021057.00000021061.000000
mean10645.35511116318.4491625.000237
std6099.3152566656.1499490.034453
min1.0000001456.0000005.000000
25%5385.00000011745.0000005.000000
50%10652.00000017160.0000005.000000
75%15925.00000021796.0000005.000000
max21193.00000027010.00000010.000000
\n", + "
" + ], + "text/plain": [ + " id cash_request_id total_amount\n", + "count 21061.000000 21057.000000 21061.000000\n", + "mean 10645.355111 16318.449162 5.000237\n", + "std 6099.315256 6656.149949 0.034453\n", + "min 1.000000 1456.000000 5.000000\n", + "25% 5385.000000 11745.000000 5.000000\n", + "50% 10652.000000 17160.000000 5.000000\n", + "75% 15925.000000 21796.000000 5.000000\n", + "max 21193.000000 27010.000000 10.000000" + ] + }, + "execution_count": 449, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 450, + "id": "e139d5b1-5d71-4856-b056-955f5ccd7937", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountuser_iddeleted_account_id
count23970.00000023970.00000021867.0000002104.000000
mean13910.96612482.72081832581.2507899658.755228
std7788.11721426.52806527618.5657737972.743249
min3.0000001.00000034.00000091.000000
25%7427.25000050.00000010804.0000003767.000000
50%14270.500000100.00000023773.0000006121.500000
75%20607.750000100.00000046965.00000016345.000000
max27010.000000200.000000103719.00000030445.000000
\n", + "
" + ], + "text/plain": [ + " id amount user_id deleted_account_id\n", + "count 23970.000000 23970.000000 21867.000000 2104.000000\n", + "mean 13910.966124 82.720818 32581.250789 9658.755228\n", + "std 7788.117214 26.528065 27618.565773 7972.743249\n", + "min 3.000000 1.000000 34.000000 91.000000\n", + "25% 7427.250000 50.000000 10804.000000 3767.000000\n", + "50% 14270.500000 100.000000 23773.000000 6121.500000\n", + "75% 20607.750000 100.000000 46965.000000 16345.000000\n", + "max 27010.000000 200.000000 103719.000000 30445.000000" + ] + }, + "execution_count": 450, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 451, + "id": "1a8834e1-4a88-4b18-aabe-5860d15145b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21061, 13)" + ] + }, + "execution_count": 451, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 452, + "id": "732ced3d-e151-48a8-924c-e22a746a8037", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(23970, 16)" + ] + }, + "execution_count": 452, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 453, + "id": "f9b1096e-91e1-44a4-9ff3-b82c34c46a16", + "metadata": {}, + "outputs": [], + "source": [ + "n_rows = dff.shape[0]\n", + "n_columns = dff.shape[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 454, + "id": "dd020183-83b8-4d12-ba49-19ee4b4fb38b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypestatuscategorytotal_amountreasoncreated_atupdated_atpaid_atfrom_dateto_datecharge_moment
0653714941.0instant_paymentrejectedNaN5.0Instant Payment Cash Request 149412020-09-07 10:47:27.42315+002020-10-13 14:25:09.396112+002020-12-17 14:50:07.47011+00NaNNaNafter
1696111714.0incidentacceptedrejected_direct_debit5.0rejected direct debit2020-09-09 20:51:17.998653+002020-10-13 14:25:15.537063+002020-12-08 17:13:10.45908+00NaNNaNafter
21629623371.0instant_paymentacceptedNaN5.0Instant Payment Cash Request 233712020-10-23 10:10:58.352972+002020-10-23 10:10:58.352994+002020-11-04 19:34:37.43291+00NaNNaNafter
\n", + "
" + ], + "text/plain": [ + " id cash_request_id type status category \\\n", + "0 6537 14941.0 instant_payment rejected NaN \n", + "1 6961 11714.0 incident accepted rejected_direct_debit \n", + "2 16296 23371.0 instant_payment accepted NaN \n", + "\n", + " total_amount reason \\\n", + "0 5.0 Instant Payment Cash Request 14941 \n", + "1 5.0 rejected direct debit \n", + "2 5.0 Instant Payment Cash Request 23371 \n", + "\n", + " created_at updated_at \\\n", + "0 2020-09-07 10:47:27.42315+00 2020-10-13 14:25:09.396112+00 \n", + "1 2020-09-09 20:51:17.998653+00 2020-10-13 14:25:15.537063+00 \n", + "2 2020-10-23 10:10:58.352972+00 2020-10-23 10:10:58.352994+00 \n", + "\n", + " paid_at from_date to_date charge_moment \n", + "0 2020-12-17 14:50:07.47011+00 NaN NaN after \n", + "1 2020-12-08 17:13:10.45908+00 NaN NaN after \n", + "2 2020-11-04 19:34:37.43291+00 NaN NaN after " + ] + }, + "execution_count": 454, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 455, + "id": "61d26458-ef95-4164-86b0-74f138f3832c", + "metadata": {}, + "outputs": [], + "source": [ + "n_rows = dfc.shape[0]\n", + "n_columns = dfc.shape[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 456, + "id": "5d39411b-ceb9-4506-a060-8127e9c4914b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountstatuscreated_atupdated_atuser_idmoderated_atdeleted_account_idreimbursement_datecash_request_received_datemoney_back_datetransfer_typesend_atrecovery_statusreco_creationreco_last_update
05100.0rejected2019-12-10 19:05:21.596873+002019-12-11 16:47:42.40783+00804.02019-12-11 16:47:42.405646+00NaN2020-01-09 19:05:21.596363+00NaNNaNregularNaNNaNNaNNaN
170100.0rejected2019-12-10 19:50:12.34778+002019-12-11 14:24:22.900054+00231.02019-12-11 14:24:22.897988+00NaN2020-01-09 19:50:12.34778+00NaNNaNregularNaNNaNNaNNaN
27100.0rejected2019-12-10 19:13:35.82546+002019-12-11 09:46:59.779773+00191.02019-12-11 09:46:59.777728+00NaN2020-01-09 19:13:35.825041+00NaNNaNregularNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "\n", + " updated_at user_id moderated_at \\\n", + "0 2019-12-11 16:47:42.40783+00 804.0 2019-12-11 16:47:42.405646+00 \n", + "1 2019-12-11 14:24:22.900054+00 231.0 2019-12-11 14:24:22.897988+00 \n", + "2 2019-12-11 09:46:59.779773+00 191.0 2019-12-11 09:46:59.777728+00 \n", + "\n", + " deleted_account_id reimbursement_date \\\n", + "0 NaN 2020-01-09 19:05:21.596363+00 \n", + "1 NaN 2020-01-09 19:50:12.34778+00 \n", + "2 NaN 2020-01-09 19:13:35.825041+00 \n", + "\n", + " cash_request_received_date money_back_date transfer_type send_at \\\n", + "0 NaN NaN regular NaN \n", + "1 NaN NaN regular NaN \n", + "2 NaN NaN regular NaN \n", + "\n", + " recovery_status reco_creation reco_last_update \n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN " + ] + }, + "execution_count": 456, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.head(3)" + ] + }, + { + "cell_type": "markdown", + "id": "56307a51-2ca9-4902-a465-64f6410b9552", + "metadata": {}, + "source": [ + "**Similarities: id, status, created at, updated at**" + ] + }, + { + "cell_type": "code", + "execution_count": 458, + "id": "2ef52422-69d6-4cfe-9a41-a1722f830625", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['id', 'cash_request_id', 'type', 'status', 'category', 'total_amount',\n", + " 'reason', 'created_at', 'updated_at', 'paid_at', 'from_date', 'to_date',\n", + " 'charge_moment'],\n", + " dtype='object')" + ] + }, + "execution_count": 458, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 459, + "id": "26072eb5-3cb3-47b4-b7f9-61497f9c5c58", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['id', 'amount', 'status', 'created_at', 'updated_at', 'user_id',\n", + " 'moderated_at', 'deleted_account_id', 'reimbursement_date',\n", + " 'cash_request_received_date', 'money_back_date', 'transfer_type',\n", + " 'send_at', 'recovery_status', 'reco_creation', 'reco_last_update'],\n", + " dtype='object')" + ] + }, + "execution_count": 459, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.columns" + ] + }, + { + "cell_type": "markdown", + "id": "325fa04e", + "metadata": {}, + "source": [ + "## 3. Data Quality Analysis\n", + "- Checking for missing values.\n", + "- Identifying duplicates and inconsistencies.\n", + "- Validate data types.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "7c051690-3963-4ce7-a4bd-b33bf40b73e6", + "metadata": {}, + "source": [ + "**Checking for missing values and deleting columns**" + ] + }, + { + "cell_type": "code", + "execution_count": 462, + "id": "fc7e80f9-fba4-4fe0-81cd-569cc21736c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "cash_request_id 4\n", + "type 0\n", + "status 0\n", + "category 18865\n", + "total_amount 0\n", + "reason 0\n", + "created_at 0\n", + "updated_at 0\n", + "paid_at 5530\n", + "from_date 13295\n", + "to_date 13295\n", + "charge_moment 0\n", + "dtype: int64" + ] + }, + "execution_count": 462, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 463, + "id": "4a8df55a-bd26-40e9-b40e-c2dafc03b778", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "cash_request_id 0\n", + "type 0\n", + "status 0\n", + "category 18861\n", + "total_amount 0\n", + "reason 0\n", + "created_at 0\n", + "updated_at 0\n", + "paid_at 5526\n", + "from_date 13291\n", + "to_date 13291\n", + "charge_moment 0\n", + "dtype: int64" + ] + }, + "execution_count": 463, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff = dff.dropna(subset=['cash_request_id'])\n", + "dff.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 464, + "id": "955a276f-fd35-4fde-b65f-53445f94aa8d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "amount 0\n", + "status 0\n", + "created_at 0\n", + "updated_at 0\n", + "user_id 2103\n", + "moderated_at 7935\n", + "deleted_account_id 21866\n", + "reimbursement_date 0\n", + "cash_request_received_date 7681\n", + "money_back_date 7427\n", + "transfer_type 0\n", + "send_at 7329\n", + "recovery_status 20640\n", + "reco_creation 20640\n", + "reco_last_update 20640\n", + "dtype: int64" + ] + }, + "execution_count": 464, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 465, + "id": "63742b02-cdb6-4a38-8ddc-ff2bdde25aa1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "amount 0\n", + "status 0\n", + "created_at 0\n", + "updated_at 0\n", + "user_id 0\n", + "moderated_at 7758\n", + "deleted_account_id 21866\n", + "reimbursement_date 0\n", + "cash_request_received_date 6276\n", + "money_back_date 6026\n", + "transfer_type 0\n", + "send_at 6325\n", + "recovery_status 18727\n", + "reco_creation 18727\n", + "reco_last_update 18727\n", + "dtype: int64" + ] + }, + "execution_count": 465, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc = dfc.dropna(subset=['user_id'])\n", + "dfc.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 466, + "id": "1d9c4b82-160a-40b1-ac3c-aabeea8ca67b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21057, 13)" + ] + }, + "execution_count": 466, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 467, + "id": "b83b15c6-263a-49ea-bfc4-da8f915804de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21867, 16)" + ] + }, + "execution_count": 467, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 468, + "id": "51b05b6b-2514-4fda-8f1b-2cbfe167ba12", + "metadata": {}, + "outputs": [], + "source": [ + "dff = data_fees.copy()\n", + "\n", + "dfc = data_cash.copy()" + ] + }, + { + "cell_type": "markdown", + "id": "80c547f1-d7ca-46c5-81f3-2781d1d8c29d", + "metadata": {}, + "source": [ + "**Here Im checking the percentage of column Category. Since 72% of this data is \"rejected_direct_debit\", I think is safe to fill the empty values**" + ] + }, + { + "cell_type": "code", + "execution_count": 470, + "id": "c75b8136-68b2-4f56-a9d0-67bd9f8b6037", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "category\n", + "rejected_direct_debit 72.814208\n", + "month_delay_on_payment 27.185792\n", + "Name: proportion, dtype: float64\n" + ] + } + ], + "source": [ + "percentages = dff['category'].value_counts(normalize=True) * 100\n", + "\n", + "print(percentages)" + ] + }, + { + "cell_type": "code", + "execution_count": 471, + "id": "31ceb778-8a2d-4bd5-8820-3677a99ae324", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n" + ] + } + ], + "source": [ + "dff['category'] = dff['category'].fillna('rejected_direct_debit')\n", + "\n", + "print(dff['category'].isnull().sum())" + ] + }, + { + "cell_type": "markdown", + "id": "0710c515-7c4f-40f7-9432-3ad0c3e0e750", + "metadata": {}, + "source": [ + "**Here Im keeping the most important columns**" + ] + }, + { + "cell_type": "code", + "execution_count": 473, + "id": "3fbda56c-b4de-44b2-b296-5036018dd7e0", + "metadata": {}, + "outputs": [], + "source": [ + "important_columns = [\n", + " 'id', \n", + " 'cash_request_id', \n", + " 'type', \n", + " 'category',\n", + " 'status', \n", + " 'total_amount', \n", + " 'created_at', \n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 474, + "id": "85064717-63be-4e3d-be78-4573a27200dc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatustotal_amountcreated_at
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+00
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+00
........................
210561237220262.0instant_paymentrejected_direct_debitrejected5.02020-10-10 06:42:22.822743+00
210572076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+00
210581877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+00
210591654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+00
210601330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00
\n", + "

21061 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "21056 12372 20262.0 instant_payment rejected_direct_debit \n", + "21057 20768 26764.0 instant_payment rejected_direct_debit \n", + "21058 18779 25331.0 instant_payment rejected_direct_debit \n", + "21059 16542 23628.0 instant_payment rejected_direct_debit \n", + "21060 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status total_amount created_at \n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 \n", + "... ... ... ... \n", + "21056 rejected 5.0 2020-10-10 06:42:22.822743+00 \n", + "21057 rejected 5.0 2020-10-31 15:24:18.680694+00 \n", + "21058 rejected 5.0 2020-10-27 17:28:51.749177+00 \n", + "21059 rejected 5.0 2020-10-23 16:27:52.047457+00 \n", + "21060 accepted 5.0 2020-10-14 07:12:43.958192+00 \n", + "\n", + "[21061 rows x 7 columns]" + ] + }, + "execution_count": 474, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff_filtered = dff[important_columns]\n", + "dff_filtered" + ] + }, + { + "cell_type": "code", + "execution_count": 475, + "id": "f119c936-d8cc-446d-81d8-832251b6a06f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountstatuscreated_atuser_id
05100.0rejected2019-12-10 19:05:21.596873+00804.0
170100.0rejected2019-12-10 19:50:12.34778+00231.0
27100.0rejected2019-12-10 19:13:35.82546+00191.0
31099.0rejected2019-12-10 19:16:10.880172+00761.0
41594100.0rejected2020-05-06 09:59:38.877376+007686.0
..................
2396520616100.0money_back2020-10-12 13:54:11.686225+0013681.0
239662524350.0money_back2020-10-27 14:41:25.73491+00NaN
2396722357100.0money_back2020-10-20 07:58:04.006937+0082122.0
2396820256100.0money_back2020-10-10 05:40:55.700422+0064517.0
2396919886100.0direct_debit_sent2020-10-08 14:16:52.155661+0044867.0
\n", + "

23970 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "3 10 99.0 rejected 2019-12-10 19:16:10.880172+00 \n", + "4 1594 100.0 rejected 2020-05-06 09:59:38.877376+00 \n", + "... ... ... ... ... \n", + "23965 20616 100.0 money_back 2020-10-12 13:54:11.686225+00 \n", + "23966 25243 50.0 money_back 2020-10-27 14:41:25.73491+00 \n", + "23967 22357 100.0 money_back 2020-10-20 07:58:04.006937+00 \n", + "23968 20256 100.0 money_back 2020-10-10 05:40:55.700422+00 \n", + "23969 19886 100.0 direct_debit_sent 2020-10-08 14:16:52.155661+00 \n", + "\n", + " user_id \n", + "0 804.0 \n", + "1 231.0 \n", + "2 191.0 \n", + "3 761.0 \n", + "4 7686.0 \n", + "... ... \n", + "23965 13681.0 \n", + "23966 NaN \n", + "23967 82122.0 \n", + "23968 64517.0 \n", + "23969 44867.0 \n", + "\n", + "[23970 rows x 5 columns]" + ] + }, + "execution_count": 475, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "important_columns2 = [\n", + " 'id', 'amount', 'status', 'created_at', 'user_id']\n", + "dfc_filtered = dfc[important_columns2]\n", + "dfc_filtered" + ] + }, + { + "cell_type": "markdown", + "id": "555cd887-3ff0-4a68-8c1d-15df779c70cb", + "metadata": {}, + "source": [ + "## 4. Checking for Id`s\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3a5acea-0087-4e7a-a5da-e4709867cabf", + "metadata": {}, + "source": [ + "**Checking for duplicates**" + ] + }, + { + "cell_type": "code", + "execution_count": 478, + "id": "885f7788-1418-4579-8f90-89fc1e623719", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Duplicates in dff_filtered:\n", + "Duplicate 'cash_request_id': 8127\n", + "Duplicate 'id': 0\n", + "Duplicates in dfc_filtered:\n", + "Duplicate 'user_id': 13171\n", + "Duplicate 'id': 0\n" + ] + } + ], + "source": [ + "print(\"Duplicates in dff_filtered:\")\n", + "print(\"Duplicate 'cash_request_id':\", dff_filtered['cash_request_id'].duplicated().sum())\n", + "print(\"Duplicate 'id':\", dff_filtered['id'].duplicated().sum())\n", + "\n", + "print(\"Duplicates in dfc_filtered:\")\n", + "print(\"Duplicate 'user_id':\", dfc_filtered['user_id'].duplicated().sum())\n", + "print(\"Duplicate 'id':\", dfc_filtered['id'].duplicated().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 479, + "id": "07ea8eba-5085-4dc1-8137-6b5d5c3f2834", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Columns in dff_filtered: Index(['id', 'cash_request_id', 'type', 'category', 'status', 'total_amount',\n", + " 'created_at'],\n", + " dtype='object')\n", + "Columns in dfc_filtered: Index(['id', 'amount', 'status', 'created_at', 'user_id'], dtype='object')\n", + "Common columns between the datasets: {'created_at', 'id', 'status'}\n" + ] + } + ], + "source": [ + "print(\"Columns in dff_filtered:\", dff_filtered.columns)\n", + "print(\"Columns in dfc_filtered:\", dfc_filtered.columns)\n", + "\n", + "# common columns\n", + "common_columns = set(dff_filtered.columns).intersection(dfc_filtered.columns)\n", + "print(\"Common columns between the datasets:\", common_columns)" + ] + }, + { + "cell_type": "markdown", + "id": "cd4f81c9-d34a-4db6-a876-b1c3d4e3d410", + "metadata": {}, + "source": [ + "**Merging IDs**" + ] + }, + { + "cell_type": "code", + "execution_count": 481, + "id": "600a28a6-8b3c-4d64-a7b6-6867002a63b5", + "metadata": {}, + "outputs": [], + "source": [ + "# Merge 'id'\n", + "merged_df = pd.merge(dff_filtered, dfc_filtered, on='id', how='inner')" + ] + }, + { + "cell_type": "code", + "execution_count": 482, + "id": "6036f393-1532-4e44-bbd0-fb33b4a1d28a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatus_xtotal_amountcreated_at_xamountstatus_ycreated_at_yuser_id
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00100.0money_back2020-07-04 05:59:49.246265+0026978.0
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00100.0money_back2020-07-07 17:45:03.352406+0013539.0
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+0050.0money_back2020-09-15 19:05:39.267562+0013756.0
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00100.0money_back2020-10-13 08:15:07.74666+0061460.0
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+0050.0money_back2020-08-06 22:46:50.681779+0031188.0
....................................
184281237220262.0instant_paymentrejected_direct_debitrejected5.02020-10-10 06:42:22.822743+0050.0rejected2020-08-13 15:21:44.956497+00NaN
184292076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+0050.0money_back2020-10-13 07:46:38.698727+0033520.0
184301877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+0050.0rejected2020-10-01 18:51:01.003129+0055943.0
184311654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+0050.0money_back2020-09-17 07:33:06.068449+0019040.0
184321330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00100.0rejected2020-08-20 07:13:36.827124+0013661.0
\n", + "

18433 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "18428 12372 20262.0 instant_payment rejected_direct_debit \n", + "18429 20768 26764.0 instant_payment rejected_direct_debit \n", + "18430 18779 25331.0 instant_payment rejected_direct_debit \n", + "18431 16542 23628.0 instant_payment rejected_direct_debit \n", + "18432 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status_x total_amount created_at_x amount \\\n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 100.0 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 100.0 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 50.0 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 100.0 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 50.0 \n", + "... ... ... ... ... \n", + "18428 rejected 5.0 2020-10-10 06:42:22.822743+00 50.0 \n", + "18429 rejected 5.0 2020-10-31 15:24:18.680694+00 50.0 \n", + "18430 rejected 5.0 2020-10-27 17:28:51.749177+00 50.0 \n", + "18431 rejected 5.0 2020-10-23 16:27:52.047457+00 50.0 \n", + "18432 accepted 5.0 2020-10-14 07:12:43.958192+00 100.0 \n", + "\n", + " status_y created_at_y user_id \n", + "0 money_back 2020-07-04 05:59:49.246265+00 26978.0 \n", + "1 money_back 2020-07-07 17:45:03.352406+00 13539.0 \n", + "2 money_back 2020-09-15 19:05:39.267562+00 13756.0 \n", + "3 money_back 2020-10-13 08:15:07.74666+00 61460.0 \n", + "4 money_back 2020-08-06 22:46:50.681779+00 31188.0 \n", + "... ... ... ... \n", + "18428 rejected 2020-08-13 15:21:44.956497+00 NaN \n", + "18429 money_back 2020-10-13 07:46:38.698727+00 33520.0 \n", + "18430 rejected 2020-10-01 18:51:01.003129+00 55943.0 \n", + "18431 money_back 2020-09-17 07:33:06.068449+00 19040.0 \n", + "18432 rejected 2020-08-20 07:13:36.827124+00 13661.0 \n", + "\n", + "[18433 rows x 11 columns]" + ] + }, + "execution_count": 482, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged_df" + ] + }, + { + "cell_type": "markdown", + "id": "9b831c45-ea89-4297-9fde-f46502166110", + "metadata": {}, + "source": [ + "**Chercking for duplicates in merged**" + ] + }, + { + "cell_type": "code", + "execution_count": 484, + "id": "c7ae94a5-8b93-4248-8ed3-625c16894ddd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Duplicates in merged_df['id']: 0\n" + ] + } + ], + "source": [ + "print(\"Duplicates in merged_df['id']:\", merged_df['id'].duplicated().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 485, + "id": "d6c4e727-5e09-44ad-956b-b8c674bfb2f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Missing values in merged_df:\n", + "id 0\n", + "cash_request_id 2\n", + "type 0\n", + "category 0\n", + "status_x 0\n", + "total_amount 0\n", + "created_at_x 0\n", + "amount 0\n", + "status_y 0\n", + "created_at_y 0\n", + "user_id 1973\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(\"Missing values in merged_df:\")\n", + "print(merged_df.isnull().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 486, + "id": "4b18f45c-317b-4b39-99a6-2635a95c0530", + "metadata": {}, + "outputs": [], + "source": [ + "merged_df = merged_df.dropna(subset=['cash_request_id'])\n", + "merged_df = merged_df.dropna(subset=['user_id'])" + ] + }, + { + "cell_type": "markdown", + "id": "73251827-bdc6-40cf-8ebb-1895c3c61797", + "metadata": {}, + "source": [ + "**Droping rows with missing cash request**" + ] + }, + { + "cell_type": "code", + "execution_count": 488, + "id": "f2e11891-0dda-4dbe-9069-fa3386545e82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shape after cleaning: (16458, 11)\n", + "Missing values after cleaning:\n", + "id 0\n", + "cash_request_id 0\n", + "type 0\n", + "category 0\n", + "status_x 0\n", + "total_amount 0\n", + "created_at_x 0\n", + "amount 0\n", + "status_y 0\n", + "created_at_y 0\n", + "user_id 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "#droping rows with missing cash_request_id\n", + "merged_df = merged_df.dropna(subset=['cash_request_id'])\n", + "\n", + "#droping rows with missing user_id\n", + "merged_df = merged_df.dropna(subset=['user_id'])\n", + "\n", + "\n", + "print(\"Shape after cleaning:\", merged_df.shape)\n", + "print(\"Missing values after cleaning:\")\n", + "print(merged_df.isnull().sum())" + ] + }, + { + "cell_type": "markdown", + "id": "d85b9355-b4b6-4aa4-b27b-2b265d8e7fe4", + "metadata": {}, + "source": [ + "**Finally, MERGED**" + ] + }, + { + "cell_type": "code", + "execution_count": 490, + "id": "cfff1fea-af94-444d-b8e6-212eb26a5836", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatus_xtotal_amountcreated_at_xamountstatus_ycreated_at_yuser_id
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00100.0money_back2020-07-04 05:59:49.246265+0026978.0
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00100.0money_back2020-07-07 17:45:03.352406+0013539.0
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+0050.0money_back2020-09-15 19:05:39.267562+0013756.0
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00100.0money_back2020-10-13 08:15:07.74666+0061460.0
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+0050.0money_back2020-08-06 22:46:50.681779+0031188.0
....................................
184271470722050.0instant_paymentrejected_direct_debitrejected5.02020-10-19 06:48:13.655092+00100.0money_back2020-09-05 13:27:19.805671+0012229.0
184292076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+0050.0money_back2020-10-13 07:46:38.698727+0033520.0
184301877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+0050.0rejected2020-10-01 18:51:01.003129+0055943.0
184311654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+0050.0money_back2020-09-17 07:33:06.068449+0019040.0
184321330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00100.0rejected2020-08-20 07:13:36.827124+0013661.0
\n", + "

16458 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "18427 14707 22050.0 instant_payment rejected_direct_debit \n", + "18429 20768 26764.0 instant_payment rejected_direct_debit \n", + "18430 18779 25331.0 instant_payment rejected_direct_debit \n", + "18431 16542 23628.0 instant_payment rejected_direct_debit \n", + "18432 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status_x total_amount created_at_x amount \\\n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 100.0 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 100.0 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 50.0 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 100.0 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 50.0 \n", + "... ... ... ... ... \n", + "18427 rejected 5.0 2020-10-19 06:48:13.655092+00 100.0 \n", + "18429 rejected 5.0 2020-10-31 15:24:18.680694+00 50.0 \n", + "18430 rejected 5.0 2020-10-27 17:28:51.749177+00 50.0 \n", + "18431 rejected 5.0 2020-10-23 16:27:52.047457+00 50.0 \n", + "18432 accepted 5.0 2020-10-14 07:12:43.958192+00 100.0 \n", + "\n", + " status_y created_at_y user_id \n", + "0 money_back 2020-07-04 05:59:49.246265+00 26978.0 \n", + "1 money_back 2020-07-07 17:45:03.352406+00 13539.0 \n", + "2 money_back 2020-09-15 19:05:39.267562+00 13756.0 \n", + "3 money_back 2020-10-13 08:15:07.74666+00 61460.0 \n", + "4 money_back 2020-08-06 22:46:50.681779+00 31188.0 \n", + "... ... ... ... \n", + "18427 money_back 2020-09-05 13:27:19.805671+00 12229.0 \n", + "18429 money_back 2020-10-13 07:46:38.698727+00 33520.0 \n", + "18430 rejected 2020-10-01 18:51:01.003129+00 55943.0 \n", + "18431 money_back 2020-09-17 07:33:06.068449+00 19040.0 \n", + "18432 rejected 2020-08-20 07:13:36.827124+00 13661.0 \n", + "\n", + "[16458 rows x 11 columns]" + ] + }, + "execution_count": 490, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged_df" + ] + }, + { + "cell_type": "code", + "execution_count": 491, + "id": "8da161b6-405f-4fc0-8c87-37df46ed00d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "object\n" + ] + } + ], + "source": [ + "print(merged_df['created_at_x'].dtype)" + ] + }, + { + "cell_type": "markdown", + "id": "1e4db748-2dad-4cc1-82e8-44a4e94f9be2", + "metadata": {}, + "source": [ + "**Converting to datetime**" + ] + }, + { + "cell_type": "code", + "execution_count": 493, + "id": "abac70e9-704b-4db0-b37e-cc726d43deb7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2020-09-07 10:47:27.423150+00:00\n", + "1 2020-09-09 20:51:17.998653+00:00\n", + "2 2020-10-23 10:10:58.352972+00:00\n", + "3 2020-10-31 15:46:53.643958+00:00\n", + "4 2020-10-06 08:20:17.170432+00:00\n", + "Name: created_at_x, dtype: datetime64[ns, UTC]\n" + ] + } + ], + "source": [ + "merged_df['created_at_x'] = pd.to_datetime(merged_df['created_at_x'], errors='coerce')\n", + "\n", + "print(merged_df['created_at_x'].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 494, + "id": "057408e4-8a2b-4f87-b448-afea1bc46e3a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2020-09\n", + "1 2020-09\n", + "2 2020-10\n", + "3 2020-10\n", + "4 2020-10\n", + "Name: created_at_x, dtype: period[M]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cj/_ljqqgzj7bvdlj6sc0_8wd080000gn/T/ipykernel_78745/3021134120.py:1: UserWarning: Converting to PeriodArray/Index representation will drop timezone information.\n", + " merged_df['created_at_x'] = merged_df['created_at_x'].dt.to_period('M')\n" + ] + } + ], + "source": [ + "merged_df['created_at_x'] = merged_df['created_at_x'].dt.to_period('M')\n", + "\n", + "print(merged_df['created_at_x'].head())" + ] + }, + { + "cell_type": "markdown", + "id": "e68264d6-6c08-4cf7-807a-97c4e77b5340", + "metadata": {}, + "source": [ + "**Define cohort as the first interaction month for each user**" + ] + }, + { + "cell_type": "code", + "execution_count": 496, + "id": "53bfafaa-c60a-409e-9eaf-f9815d11561e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cohorts created for each user:\n", + " user_id created_at_x cohort\n", + "0 26978.0 2020-09 2020-09\n", + "1 13539.0 2020-09 2020-08\n", + "2 13756.0 2020-10 2020-09\n", + "3 61460.0 2020-10 2020-10\n", + "4 31188.0 2020-10 2020-09\n" + ] + } + ], + "source": [ + "merged_df['cohort'] = merged_df.groupby('user_id')['created_at_x'].transform('min')\n", + "\n", + "print(\"Cohorts created for each user:\")\n", + "print(merged_df[['user_id', 'created_at_x', 'cohort']].head())" + ] + }, + { + "cell_type": "markdown", + "id": "98039944-b2f4-447a-85a9-5394b5df1ae5", + "metadata": {}, + "source": [ + "**Define cohort as the first interaction month for each user**" + ] + }, + { + "cell_type": "code", + "execution_count": 498, + "id": "4ef0e2d0-5b50-4e9b-be5d-a351613d3f3d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " user_id created_at_x cohort\n", + "0 26978.0 2020-09 2020-09\n", + "1 13539.0 2020-09 2020-08\n", + "2 13756.0 2020-10 2020-09\n", + "3 61460.0 2020-10 2020-10\n", + "4 31188.0 2020-10 2020-09\n" + ] + } + ], + "source": [ + "merged_df['cohort'] = merged_df.groupby('user_id')['created_at_x'].transform('min')\n", + "\n", + "print(merged_df[['user_id', 'created_at_x', 'cohort']].head())" + ] + }, + { + "cell_type": "markdown", + "id": "25a0a9a7-f497-4937-a87f-fe5a4945ab84", + "metadata": {}, + "source": [ + "**Group by cohort and count transactions**" + ] + }, + { + "cell_type": "code", + "execution_count": 500, + "id": "1745639f-3aec-4d80-a8cf-c4ffe7417f3c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of transactions per cohort:\n", + "cohort\n", + "2020-05 12\n", + "2020-06 1609\n", + "2020-07 2594\n", + "2020-08 3673\n", + "2020-09 3782\n", + "2020-10 4667\n", + "2020-11 121\n", + "Freq: M, dtype: int64\n" + ] + } + ], + "source": [ + "transactions_per_cohort = merged_df.groupby('cohort').size()\n", + "\n", + "print(\"Number of transactions per cohort:\")\n", + "print(transactions_per_cohort)" + ] + }, + { + "cell_type": "markdown", + "id": "4e69c479-53f7-4de2-a7f5-8e0c174f74f8", + "metadata": {}, + "source": [ + "**Group by cohort and sum revenue**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 502, + "id": "0e09fd2f-5642-44e3-b931-01bb6b28e5bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Revenue per cohort:\n", + "cohort\n", + "2020-05 1189.0\n", + "2020-06 152967.0\n", + "2020-07 242199.0\n", + "2020-08 336599.0\n", + "2020-09 330237.0\n", + "2020-10 365981.0\n", + "2020-11 10440.0\n", + "Freq: M, Name: amount, dtype: float64\n" + ] + } + ], + "source": [ + "revenue_per_cohort = merged_df.groupby('cohort')['amount'].sum()\n", + "\n", + "print(\"Revenue per cohort:\")\n", + "print(revenue_per_cohort)" + ] + }, + { + "cell_type": "markdown", + "id": "3db4fd48-3b9b-4c79-9e6c-030aa43b096c", + "metadata": {}, + "source": [ + "**Displaying results**" + ] + }, + { + "cell_type": "code", + "execution_count": 504, + "id": "f259ec3f-af44-414a-91f5-da0e07144df3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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6Ym6UBQApKSk4MKFC/nuR5uamorNmzeLEBURERERERGpAlGT2pCQEFSuXBkNGzaEi4sLGjVqhLCwMOnx+Ph49OvXT8QIiYiIiIjoq6YmEe9BchE1qR03bhxcXFwQERGBhw8fwsjICO7u7njx4oWYYREREREREZGKEDWpDQwMxOzZs2Fubo6KFSvi0KFDaNWqFRo0aICnT5+KGRoRERERERGpAFEXikpJSYGGhmwIy5Ytg5qaGjw8PLB9+3aRIiMiIiIiIgKnAasAUZNaJycnBAUFoXLlyjLlS5YsgSAIaN++vUiRERERERERkSoQdfpxx44dsWPHjnyPLV26FD169ICSbKNLRERERERfIUEi3oPkIxFKZNYYInYAJKeYtIdih0By0FLTFzsEkoO2upnYIZAcJNzwUGWkZyeIHQLJQU/DUuwQSC4OYgdQaOUH7hat76dru4rWtyoRdfoxERERERGRUuM9tUpP1OnHRERERERERJ+DSS0RERERERGpLE4/JiIiIiIiKoiE04+VHUdqiYiIiIiISGVxpJaIiIiIiKggXChK6XGkloiIiIiIiFQWk1oiIiIiIiJSWZx+TEREREREVBAOAyo9XiIiIiIiIiJSWRypJSIiIiIiKgi39FF6HKklIiIiIiIilcWRWiIiIiIiooJwSx+lx6SWRGWm7Sh2CCSHe3EhYodAcrDVF8QOgeQgAf84UhURqUlih0ByKG9oKXYIRCQyTj8mIiIiIiIilcWRWiIiIiIiogIIXChK6XGkloiIiIiIiFQWR2qJiIiIiIgKwmFApcdLRERERERERCqLSS0RERERERGpLE4/JiIiIiIiKgj3qVV6HKklIiIiIiIilcWRWiIiIiIiooJwSx+lx5FaIiIiIiIiUlkcqSUiIiIiIioI76lVehypJSIiIiIiIpXFpJaIiIiIiIhUFqcfExERERERFYSzj5UeR2qJiIiIiIhIZXGkloiIiIiIqAACF4pSehypJSIiIiIiIpUlalLr4uKCGTNm4OXLl2KGQURERERERCpK1KT27t27+PPPP2Fvb4+WLVti7969yMzMFDMkIiIiIiKi99Qk4j1ILqJPP7516xb27NkDLS0t/PDDD7CxscGYMWNw//59sUMjIiIiIiIiJSd6UquhoYEOHTrg0KFDePnyJUaNGoVDhw6hatWqcHNzw/r168UOkYiI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mTIFly9fhouLCzQ1NWWO//zzz0UWHBEREREREdGnSARBEBR5gb29fcGNSSR4+vTpZwf1+ULEDoCoRLkXx8+UKrDV1xU7BJKDBJzHpioiUpPEDoHkUN7QUewQSC4OYgdQaFU3/iNa33f6NhCtb1Wi8EhtaGjol4iDiIiIiIiISGGF2qc2V+4gr4R3TxMRERERUQkkUXgVIipuhbpEmzdvhouLC3R1daGrq4tq1aphy5YtRR0bERERERER0ScpPFK7YMECTJkyBcOHD4e7uzsEQcDFixcxePBgREVFYdSoUV8iTiISkbOJ6t4H8zU5/OKJ2CGQHKqZZYodAsnp5GstsUMgOXg7KbQ8DIlEled1clKq8lM4qV2yZAlWrFiBPn36SMu+//57VKlSBb6+vkxqiYiIiIiIqNgoPP04LCwMbm5uecrd3NwQFhZWJEERERERERFRyZaVlYUbN24gNjb2s9pROKmtWLEidu3alaf8r7/+QqVKlT4rGCIiIiIiImUikYj3KGlGjhyJdevWAchJaD08PFCrVi3Y2tri7NmzhW5X4enH06ZNQ/fu3XH+/Hm4u7tDIpHgwoULOHXqVL7JLhEREREREdGePXvw448/AgAOHz6M0NBQPHjwAJs3b8akSZNw8eLFQrWr8Eht586dceXKFZibm+PAgQPYt28fzM3NcfXqVXTs2LFQQRARERERESkjjtQWnaioKFhZWQEAjh49iq5du8LBwQEDBgzA7du3C91uofap/fbbb7F169ZCd0pERERERERfF0tLS9y7dw/W1tY4fvw4li9fDgBITk6Gurp6oduVK6lNSEiAkZGR9L8/JbceERERERERUa5+/fqhW7dusLa2hkQiQfPmzQEAV65cgZOTU6HblSupNTU1RVhYGCwsLGBiYgJJPmPhgiBAIpEgKyur0MEQEREREREpE7USOA1YLL6+vqhatSpevnyJrl27QltbGwCgrq6O8ePHF7pduZLa06dPw8zMDABw5syZQndGREREREREX68uXbrkKfPy8vqsNuVKaj08PKT/bW9vD1tb2zyjtYIg4OXLl58VDBERERERkTIpiQs2ienUqVM4deoUIiIikJ2dLXNs/fr1hWpT4dWP7e3tERkZmac8JiYG9vb2hQqCiIiIiIiISrZp06ahRYsWOHXqFKKiohAbGyvzKCyFVz/OvXf2Y+/e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4UJNmDBB8+fP1/3336/M/826J0lF8uloAAAAAEChyPfjxytWrND333+vsLA/l1WoU6eOZsyYofbt2+err6VLl2r+/Plq3bq1JOmBBx5Qp06d1LlzZy1btkySc2vVAgAAAMCNwPv1ri/fI7XZ2dk5lvGRpOLFiys7O39rl508eVKhoaH2z2XLltWqVat05swZdezYsVDWwgUAAAAAFF35LmrvuecePf300zp+/Lh937Fjx/TMM8+oTZs2+eqrcuXKiouLc9jn4+Oj7777Tunp6XrggQfyGx4AAAAAFBp3Ezc4J99F7fTp03XmzBlVqVJFt912m6pXr66qVavqzJkzmjZtWr76at++vebOnZtjf6lSpbRy5UqVKFEiv+EBAAAAAG4h+X6ntnLlytq6datWrVqlvXv3yjAM1alTR23bts33ycePH+8w4ns1Hx8fff/999qyZUu++wUAAAAA3BoKvE5tu3bt1K7d9S0G7O/vL39//zzbS5UqpcjIyOs6BwAAAAAUFBNFuT6nHz/+8ccfVadOHaWlpeVoS01NVd26dbV+/fp8B3Du3DnNnj1bvXv31r333quOHTuqd+/eeu+993Tu3Ll89wcAAAAAuHU4XdS++eab6tevn3x9fXO0+fn5qX///nrjjTfydfI9e/aoZs2aGjVqlFJSUhQSEqJKlSopJSVFzz77rGrVqqU9e/bkq08AAAAAKCxuNsO0Dc5x+vHjHTt2aMqUKXm2t2/fXq+99lq+Tj548GC1atVK8+fPl4eHh0NbZmamevXqpcGDB2v16tX56hcAAAAAcGtwuqg9ceJEruvT2jsqVkzJycn5OvnmzZsVExOTo6CVJA8PD73wwgtq1KhRvvoEAAAAANw6nH78uGLFitq1a1ee7Tt37lRwcHC+Tu7v768DBw7k2X7w4MFrTiQFAAAAADeSu828Dc5xuqjt2LGjXnrpJV24cCFHW3p6usaOHav77rsvXyfv16+fevbsqddee007duxQYmKiTpw4oR07dui1117TE088of79++erTwAAAADArcNmGIZTbyCfOHFCd9xxh9zd3fXUU0+pVq1astlsiouL04wZM5SVlaWtW7cqMDAwXwFMmTJFb731lhITE2WzXf45wjAMBQUFadiwYRo1alT+r0r7C/AdAABuvGGbjpodApzEMh7W8HrjimaHACfYVMvsEAps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X1WoUEEbNmxw2B8dHa2wsDCnz+PM9QIAgIKhqAWAIqZ69epatWqVoqOjFRcXp/79+ysxMTFffcybN09z5sxRbGysDh06pIULF8rLy0uhoaEKCQmRh4eHpk2bpkOHDmnZsmV65ZVXHL7/1FNPKS0tTY888ohiYmJ04MABLVy40L4cUZUqVbRz507t27dPJ0+ezLX4HTRokH7//XcNGTJEe/fu1ZdffqmxY8dq+PDhcnMrvP98/fjjj0pISMhzHdlnn31WU6ZM0eLFi7Vv3z49//zz2r59u55++mmnz1GlShWdPXtWP/zwg06ePKnz588XUvQAAICiFgCKmDFjxuiOO+5QVFSUWrduraCgIHXt2jVffZQuXVqzZ89W8+bNVb9+ff3www/66quvVLZsWZUvX17z5s3Tp59+qjp16mjy5Ml67bXXHL5ftmxZ/fjjjzp79qwiIyMVERGh2bNn2x+17devn2rVqqU777xT5cuX108//ZQjhooVK2r58uX6+eef1aBBAw0YMEB9+vTRiy++WOB7kxtvb+88C1pJGjp0qEaMGKERI0YoPDxcK1as0LJly1SjRg2nz9GsWTMNGDBADz/8sMqXL69XX321ECIHAACSZDOufq4LAAAAAAALYaQWAAAAAGBZFLUAAAAAAMuiqAUAAAAAWBZFLQAAAADAsihqAQAAAACWRVELAAAAALAsiloAAAAAgGVR1AIAAAAALIuiFgAAAABgWRS1AAAAAADLoqgFAAAAAFjW/wPOYij3LR7ljgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "merged_df['transaction_month'] = merged_df['created_at_x'] # Ensure it's using the month-year format\n", + "cohort_data = merged_df.groupby(['cohort', 'transaction_month']).size().unstack(fill_value=0)\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "sns.heatmap(cohort_data, annot=True, fmt=\"d\", cmap=\"YlGnBu\", cbar_kws={'label': 'Transactions'})\n", + "plt.title('Transaction Frequency by Cohort Over Time')\n", + "plt.xlabel('Transaction Month')\n", + "plt.ylabel('Cohort (First Interaction Month)')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b44beaec-d48f-403e-8e9c-9a5c885cdd81", + "metadata": {}, + "source": [ + "**Distribution: The values in the heatmap show a gradual decrease in transaction frequency over time, showing a right-skewed distribution. This means that most transactions occur in the initial months, with fewer transactions in later months.\n", + "The transactional behavior across cohorts is positively skewed since the majority of the activity happens early.**" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "id": "aea5047e-8dbc-4137-b081-4716069d8876", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABAgAAAJGCAYAAADWG7c8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACC9UlEQVR4nOzdfXzNhf//8efZ1dms7Zhmm7ENabKGRLmq5vqi0CXVauyTqA+Rz/hU8qlQo4+PXHzoShfkIqpP6UqtoZCYJBMJERvZRswZsyvb+/eH387XOUOOdnZmHvfbbbc67/dr7/frnL2w8zzvC5NhGIYAAAAAAMBlzcPdDQAAAAAAAPcjIAAAAAAAAAQEAAAAAACAgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAUIXmzZsnk8lk+/Ly8lK9evV033336ddff3V3e9VWYmKi3etmNpvVtGlTPffccyosLHTZfh1/Xuf6atiwoct6cLft27dr/Pjx2rdvX4V1iYmJbnnu+/btk8lk0tSpU6tkf7/99psee+wxRUdHy8/PT7Vq1dK1116rf/3rX/r999+d3l5iYqKuuOIKF3Ra0cmTJzV+/HitWrWqSvYHAJc6L3c3AAC4/MydO1fXXHONCgsL9d133yk5OVnffPONduzYoaCgIHe3Vy35+fnp66+/liTl5uZq8eLFmjhxonbs2KH33nvPJfu87bbbtH79ertl7du31z333KPRo0fblpnNZpfsvzrYvn27JkyYoE6dOlUIA5555hk9/vjj7mmsinz++ee67777FBwcrMcee0ytWrWSyWTS1q1b9fbbb2vZsmXavHmzu9s8p5MnT2rChAmSpE6dOrm3GQC4BBAQAACqXGxsrNq0aSPp9C/tpaWleu655/Txxx/rb3/7m5u7q548PDzUrl072+PevXtr3759ev/99zVt2jTVr1//ordtGIYKCwvl5+dnt7xu3bqqW7duhfrQ0FC7XhyVlpbq1KlTNTo4kKSrrrrK3S241N69e3XfffcpOjpa33zzjSwWi21dly5dNHLkSC1dutSNHZ5b+UwDAJzDKQYAALcrDwtycnLslv/www/q16+f6tSpI19fX7Vq1Urvv/++bf2WLVtkMpn01ltvVdjml19+KZPJpE8//dS27Ndff1V8fLxCQkJkNpvVrFkzvfzyy3bft2rVKplMJi1evFjjxo1TeHi4AgMD1a1bN+3cudOutmHDhkpMTKyw706dOlX4tDIvL09jxoxRo0aN5OPjo/r162vUqFHKz8+/oNfobMrfpGdkZDi1D5PJpMcee0yvvfaamjVrJrPZrHfeeeeieig/3H3KlCl64YUX1KhRI5nNZn3zzTcqLCzU6NGjdd1118lisahOnTpq3769PvnkkwrbKe9pwYIFatasmWrVqqWWLVvq888/t6s7fPiwhg4dqoiICJnNZtWtW1cdO3bUihUrbDXLly/X7bffrgYNGsjX11dNmjTRI488oj/++KPCfnfs2KH7779foaGhMpvNioyM1MCBA1VUVKR58+apf//+kqTOnTvbTqmYN2+epLOfYlBYWKixY8fa/QyGDx+uY8eO2dU1bNhQffr0UUpKiq6//nr5+fnpmmuu0dtvv33Br31ZWZmSk5MVGRkpX19ftWnTRitXrrSt//bbb22z7Gj+/PkymUzauHHjObc/bdo05efn65VXXrELB8qZTCbddddddsvefvtttWzZUr6+vqpTp47uvPNO/fLLL2fd/u7du3XrrbfqiiuuUEREhEaPHq2ioiK7mqNHj2rYsGGqX7++fHx81LhxY40bN65C3blmujzgmjBhgu3nd7Y/swCA/88AAKCKzJ0715BkbNy40W757NmzDUnGhx9+aFv29ddfGz4+PsbNN99svPfee0ZKSoqRmJhoSDLmzp1rq2vVqpXRsWPHCvsaMGCAERISYpSUlBiGYRg///yzYbFYjObNmxvz5883UlNTjdGjRxseHh7G+PHjbd/3zTffGJKMhg0bGg888ICxbNkyY/HixUZkZKRx9dVXG6dOnbLVRkVFGYMGDaqw77i4OCMuLs72OD8/37juuuuM4OBgY9q0acaKFSuMmTNnGhaLxejSpYtRVlZ23tdt0KBBhr+/f4Xld955pyHJ2LVrl1P7kGTUr1/faNGihfHuu+8aX3/9tbFt27bz9nDm9w4fPtz2eO/evbbtde7c2fjf//5npKamGnv37jWOHTtmJCYmGgsWLDC+/vprIyUlxRgzZozh4eFhvPPOOxW227BhQ+PGG2803n//feOLL74wOnXqZHh5eRl79uyx1fXs2dOoW7euMWfOHGPVqlXGxx9/bDz77LPGkiVLbDWvvvqqMXny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rD0XDw8P22t2rm04sw/HN11/1dm2t3DhQjVq1Ejvvfee3fqzvWYXKjg4WDNmzNCMGTOUmZmpTz/9VE899ZQOHTqklJQUbdu2TVu2bNG8efM0aNAg2/ft3r3bbjt16tSRp6enDhw4cNG9OLryyit16tQpHT582C4kMAxD2dnZuuGGGyptX5JsoYjjMh8fH11xxRW2ZX//+9/14osv6u2331ZhYaFOnTqlRx999E+337NnT82aNUtpaWnnvWuF9H9hR1ZWVoV1Bw8evKAZP9s2N2zYIMMw7Obn0KFDOnXqlMtnGgAuRxxBAABwuylTpigoKEjPPvusysrK1LRpU1199dXasmWL2rRpc9avMw9F79Gjh+rXr6+5c+dq7ty58vX1tTsioVatWurcubM2b96sFi1anHV7Z/s09880bNhQP/30k92yXbt2VbjbQZ8+fbRnzx5deeWVZ92345XwL0ZV7MNZJpNJPj4+dm/csrOzz3oXg4sRGRmpxx57TN27d9ePP/5o26ekCp+Ov/7663aP/fz8FBcXpw8++OC8R3A4c+RI165dJZ0ORs704YcfKj8/37a+snz00Ud2n7gfP35cn332mW6++WZ5enralterV0/9+/fXK6+8otdee019+/a1O7XhXP7xj3/I399fw4YNk9VqrbDeMAzbKS7t27eXn59fhed+4MABff311xf13Lt27aoTJ07o448/tls+f/582/o/81eO/AGAyxFHEAAA3C4oKEhjx47VE088oXfffVcPPvigXn/9dfXu3Vs9e/ZUYmKi6tevr6NHj+qXX37Rjz/+qA8++MD2/Z6enho4cKCmTZumwMBA3XXXXRVuyzZz5kzddNNNuvnmm/X3v/9dDRs21PHjx7V792599tlntvPHnZGQkKAHH3xQw4YN0913362MjAxNmTKlwiHmo0aN0ocffqhbbrlF//jHP9SiRQuVlZUpMzNTqampGj16tNq2bXtxL14V7sNZffr00UcffaRhw4bpnnvu0f79+/X888+rXr16+vXXX53entVqVefOnRUfH69rrrlGAQEB2rhxo1JSUmxHmlxzzTW66qqr9NRTT8kwDNWpU0efffaZli9fXmF706ZN00033aS2bdvqqaeeUpMmTZSTk6NPP/1Ur7/+ugICAhQbGytJmjNnjgICAuTr66tGjRqdNVDq3r27evbsqSeffFJ5eXnq2LGjfvrpJz333HNq1aqVEhISnH7O5+Pp6anu3bsrKSlJZWVl+ve//628vDxNmDChQu3jjz9u+/nPnTv3grbfqFEjLVmyRPfee6+uu+46PfbYY2rVqpUkafv27Xr77bdlGIbuvPNO1a5dW88884yefvppDRw4UPfff7+OHDmiCRMmyNfXV88995zTz2/gwIF6+eWXNWjQIO3bt0/NmzfX2rVrNWnSJN16663q1q3bn24jICBAUVFR+uSTT9S1a1fVqVNHwcHBbgnMAOCS4MYLJAIALjPnus2hYZy+grvjrQS3bNliu12ht7e3ERYWZnTp0sV47bXXKnz/rl27DEmGJGP58uVn3f/evXuNhx56yKhfv77h7e1t1K1b1+jQoYPxwgsv2GrK72LwwQcfVPheOdxisayszJgyZYrRuHFjw9fX12jTpo3x9ddfV7iLgWEYxokTJ4x//etfRtOmTQ0fHx/bLRf/8Y9/GNnZ2ed93c51m0NHF7oPOdyJwBmO31v+uvznP/85a/2LL75oNGzY0DCbzUazZs2MN954w3juuecMx19BztXTmXeKKCwsNB599FGjRYsWRmBgoOHn52c0bdrUeO6554z8/Hzb92zfvt3o3r27ERAQYAQFBRn9+/c3MjMzz3o1++3btxv9+/c3rrzySsPHx8eIjIw0EhMT7W5JOGPGDKNRo0aGp6en3Qw43sXAME7P8ZNPPmlERUUZ3t7eRr169Yy///3vRm5uboXnddttt1V4vmebHUflr/m///1vY8KECUaDBg0MHx8fo1WrVsZXX311zu9r2LCh0axZs/Nu+2z27NljDBs2zGjSpIlhNpsNPz8/IyYmxkhKSjL27t1rV/vmm28aLVq0sM3f7bffbvz88892Neea57PNxZEjR4xHH33UqFevnuHl5WVERUUZY8eOtfv5GMb5Z3rFihVGq1atDLPZbEg6651HAACnmQzDMKo+lgAAAEBV+emnn9SyZUu9/PLLtgt9AgDgiIAAAACghtqzZ48yMjL09NNPKzMzU7t371atWrXc3RYAoJriIoUAAAA11PPPP6/u3bvrxIkT+uCDDwgHAADnxREEAAAAAACAIwgAAAAAAAABAQAAAAAAEAEBAAAAAACQ5OXuBi43ZWVlOnjwoAICAmQymdzdDgAAAACghjMMQ8ePH1d4eLg8PM59nAABQRU7ePCgIiIi3N0GAAAAAOAys3//fjVo0OCc6wkIqlhAQICk0z+YwMBAN3cDAAAAAKjp8vLyFBERYXs/ei4EBFWs/LSCwMBAAgIAAAAAQJX5s9PcuUghAAAAAAAgIAAAAAAAAAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQJKXuxsAAAAAUHMVFhYqMzPT3W24RGRkpHx9fd3dBlBpCAgAAAAAuExmZqaGDh3q7jZcYs6cOYqOjnZ3G0ClISAAAAAA4DKRkZGaM2eOy/eTkZGh5ORkjRs3TlFRUS7fn3T6uQE1CQEBAAAAAJfx9fWt0k/Zo6Ki+FQfuEhcpBAAAAAAABAQAAAAAAAAAgIAAAAAACACAgAAAAAAIAICAAAAAAAgAgIAAAAAACA3BwSvvvqqWrRoocDAQAUGBqp9+/b68ssvbesTExNlMpnsvtq1a2e3jaKiIo0YMULBwcHy9/dXv379dODAAbua3NxcJSQkyGKxyGKxKCEhQceOHbOryczMVN++feXv76/g4GCNHDlSxcXFdjVbt25VXFyc/Pz8VL9+fU2cOFGGYVTuiwIAAAAAgBu4NSBo0KCBXnzxRf3www/64Ycf1KVLF91+++36+eefbTW9evVSVlaW7euLL76w28aoUaO0dOlSLVmyRGvXrtWJEyfUp08flZaW2mri4+OVnp6ulJQUpaSkKD09XQkJCbb1paWluu2225Sfn6+1a9dqyZIl+vDDDzV69GhbTV5enrp3767w8HBt3LhRs2bN0tSpUzVt2jQXvkIAAAAAAFQNL3fuvG/fvnaPk5OT9eqrryotLU3XXnutJMlsNissLOys32+1WvXWW29pwYIF6tatmyRp4cKFioiI0IoVK9SzZ0/98ssvSklJUVpamtq2bStJeuONN9S+fXvt3LlTTZs2VWpqqrZv3679+/crPDxckvTSSy8pMTFRycnJCgwM1KJFi1RYWKh58+bJbDYrNjZWu3bt0rRp05SUlCSTyeSqlwkAAAAAAJerNtcgKC0t1ZIlS5Sfn6/27dvblq9atUohISGKjo7WkCFDdOjQIdu6TZs2qaSkRD169LAtCw8PV2xsrNatWydJWr9+vSwWiy0ckKR27drJYrHY1cTGxtrCAUnq2bOnioqKtGnTJltNXFyczGazXc3Bgwe1b9++cz6voqIi5eXl2X0BAAAAAFDduD0g2Lp1q6644gqZzWY9+uijWrp0qWJiYiRJvXv31qJFi/T111/rpZde0saNG9WlSxcVFRVJkrKzs+Xj46OgoCC7bYaGhio7O9tWExISUmG/ISEhdjWhoaF264OCguTj43PemvLH5TVnM3nyZNu1DywWiyIiIi74tQEAAAAAoKq49RQDSWratKnS09N17Ngxffjhhxo0aJBWr16tmJgY3Xvvvba62NhYtWnTRlFRUVq2bJnuuuuuc27TMAy7Q/7Pdvh/ZdSUX6DwfKcXjB07VklJSbbHeXl5hAQAAAAAgGrH7UcQ+Pj4qEmTJmrTpo0mT56sli1baubMmWetrVevnqKiovTrr79KksLCwlRcXKzc3Fy7ukOHDtk+3Q8LC1NOTk6FbR0+fNiuxvEogNzcXJWUlJy3pvx0B8cjC85kNpttd2ko/wIAAAAAoLpxe0DgyDAM2ykEjo4cOaL9+/erXr16kqTWrVvL29tby5cvt9VkZWVp27Zt6tChgySpffv2slqt+v777201GzZskNVqtavZtm2bsrKybDWpqakym81q3bq1rWbNmjV2tz5MTU1VeHi4GjZsWDlPHgAAAAAAN3FrQPD000/r22+/1b59+7R161aNGzdOq1at0gMPPKATJ05ozJgxWr9+vfbt26dVq1apb9++Cg4O1p133ilJslgsGjx4sEaPHq2VK1dq8+bNevDBB9W8eXPbXQ2aNWumXr16aciQIUpLS1NaWpqGDBmiPn36qGnTppKkHj16KCYmRgkJCdq8ebNWrlypMWPGaMiQIbZP/OPj42U2m5WYmKht27Zp6dKlmjRpEncwAAAAAADUCG69BkFOTo4SEhKUlZUli8WiFi1aKCUlRd27d1dBQYG2bt2q+fPn69ixY6pXr546d+6s9957TwEBAbZtTJ8+XV5eXhowYIAKCgrUtWtXzZs3T56enraaRYsWaeTIkba7HfTr10+zZ8+2rff09NSyZcs0bNgwdezYUX5+foqPj9fUqVNtNRaLRcuXL9fw4cPVpk0bBQUFKSkpye76AgAAAAAAXKpMRvmV9lAl8vLyZLFYZLVauR4BAAAAUEl27dqloUOHas6cOYqOjnZ3O0C1cqHvQ6vdNQgAAAAAAEDVIyAAAAAAAAAEBAAAAAAAgIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAMjNAcGrr76qFi1aKDAwUIGBgWrfvr2+/PJL23rDMDR+/HiFh4fLz89PnTp10s8//2y3jaKiIo0YMULBwcHy9/dXv379dODAAbua3NxcJSQkyGKxyGKxKCEhQceOHbOryczMVN++feXv76/g4GCNHDlSxcXFdjVbt25VXFyc/Pz8VL9+fU2cOFGGYVTuiwIAAAAAgBu4NSBo0KCBXnzxRf3www/64Ycf1KVLF91+++22EGDKlCmaNm2aZs+erY0bNyosLEzdu3fX8ePHbdsYNWqUli5dqiVLlmjt2rU6ceKE+vTpo9LSUltNfHy80tPTlZKSopSUFKWnpyshIcG2vrS0VLfddpvy8/O1du1aLVmyRB9++KFGjx5tq8nLy1P37t0VHh6ujRs3atasWZo6daqmTZtWBa8UAAAAAAAuZlQzQUFBxptvvmmUlZUZYWFhxosvvmhbV1hYaFgsFuO1114zDMMwjh07Znh7extLliyx1fz++++Gh4eHkZKSYhiGYWzfvt2QZKSlpdlq1q9fb0gyduzYYRiGYXzxxReGh4eH8fvvv9tqFi9ebJjNZsNqtRqGYRivvPKKYbFYjMLCQlvN5MmTjfDwcKOsrOyCn5/VajUk2bYLAAAA4K/buXOnERcXZ+zcudPdrQDVzoW+D6021yAoLS3VkiVLlJ+fr/bt22vv3r3Kzs5Wjx49bDVms1lxcXFat26dJGnTpk0qKSmxqwkPD1dsbKytZv369bJYLGrbtq2tpl27drJYLHY1sbGxCg8Pt9X07NlTRUVF2rRpk60mLi5OZrPZrubgwYPat2/fOZ9XUVGR8vLy7L4AAAAAAKhu3B4QbN26VVdccYXMZrMeffRRLV26VDExMcrOzpYkhYaG2tWHhoba1mVnZ8vHx0dBQUHnrQkJCamw35CQELsax/0EBQXJx8fnvDXlj8trzmby5Mm2ax9YLBZFRESc/wUBAAAAAMAN3B4QNG3aVOnp6UpLS9Pf//53DRo0SNu3b7etN5lMdvWGYVRY5six5mz1lVFj/P8LFJ6vn7Fjx8pqtdq+9u/ff97eAQAAAABwB7cHBD4+PmrSpInatGmjyZMnq2XLlpo5c6bCwsIkVfx0/tChQ7ZP7sPCwlRcXKzc3Nzz1uTk5FTY7+HDh+1qHPeTm5urkpKS89YcOnRIUsWjHM5kNpttd2ko/wIAAAAAoLpxe0DgyDAMFRUVqVGjRgoLC9Py5ctt64qLi7V69Wp16NBBktS6dWt5e3vb1WRlZWnbtm22mvbt28tqter777+31WzYsEFWq9WuZtu2bcrKyrLVpKamymw2q3Xr1raaNWvW2N36MDU1VeHh4WrYsGHlvxAAAAAAAFQhtwYETz/9tL799lvt27dPW7du1bhx47Rq1So98MADMplMGjVqlCZNmqSlS5dq27ZtSkxMVK1atRQfHy9JslgsGjx4sEaPHq2VK1dq8+bNevDBB9W8eXN169ZNktSsWTP16tVLQ4YMUVpamtLS0jRkyBD16dNHTZs2lST16NFDMTExSkhI0ObNm7Vy5UqNGTNGQ4YMsX3iHx8fL7PZrMTERG3btk1Lly7VpEmTlJSU9KenPAAAAAAAUN15uXPnOTk5SkhIUFZWliwWi1q0aKGUlBR1795dkvTEE0+ooKBAw4YNU25urtq2bavU1FQFBATYtjF9+nR5eXlpwIABKigoUNeuXTVv3jx5enraahYtWqSRI0fa7nbQr18/zZ4927be09NTy5Yt07Bhw9SxY0f5+fkpPj5eU6dOtdVYLBYtX75cw4cPV5s2bRQUFKSkpCQlJSW5+mUCAAAAAMDlTEb5lfZQJfLy8mSxWGS1WrkeAQAAAFBJdu3apaFDh2rOnDmKjo52dztAtXKh70Or3TUIAAAAAABA1SMgAAAAAAAABAQAAAAAAICAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAEjycncDAAAAAKpeTk6OrFaru9uoNBkZGXb/rSksFotCQ0Pd3QYuEybDMAx3N3E5ycvLk8VikdVqVWBgoLvbAQAAwGUoJydHDyYMVElxkbtbwZ/w9jFr4YL5hAT4Sy70fShHEAAAAACXGavVqpLiIhU0jlOZr8Xd7eAcPAqt0m+rZbVaCQhQJQgIAAAAgMtUma9FZf7B7m4DQDXBRQoBAAAAAAABAQAAAAAAICAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAAHJzQDB58mTdcMMNCggIUEhIiO644w7t3LnTriYxMVEmk8nuq127dnY1RUVFGjFihIKDg+Xv769+/frpwIEDdjW5ublKSEiQxWKRxWJRQkKCjh07ZleTmZmpvn37yt/fX8HBwRo5cqSKi4vtarZu3aq4uDj5+fmpfv36mjhxogzDqLwXBQAAAAAAN/By9hvy8/P14osvauXKlTp06JDKysrs1v/2228XvK3Vq1dr+PDhuuGGG3Tq1CmNGzdOPXr00Pbt2+Xv72+r69Wrl+bOnWt77OPjY7edUaNG6bPPPtOSJUt05ZVXavTo0erTp482bdokT09PSVJ8fLwOHDiglJQUSdLQoUOVkJCgzz77TJJUWlqq2267TXXr1tXatWt15MgRDRo0SIZhaNasWZKkvLw8de/eXZ07d9bGjRu1a9cuJSYmyt/fX6NHj3biVQQAAAAAoHpxOiB4+OGHtXr1aiUkJKhevXoymUwXvfPyN+vl5s6dq5CQEG3atEm33HKLbbnZbFZYWNhZt2G1WvXWW29pwYIF6tatmyRp4cKFioiI0IoVK9SzZ0/98ssvSklJUVpamtq2bStJeuONN9S+fXvt3LlTTZs2VWpqqrZv3679+/crPDxckvTSSy8pMTFRycnJCgwM1KJFi1RYWKh58+bJbDYrNjZWu3bt0rRp05SUlPSXXgsAAAAAANzJ6YDgyy+/1LJly9SxY8dKb8ZqtUqS6tSpY7d81apVCgkJUe3atRUXF6fk5GSFhIRIkjZt2qSSkhL16NHDVh8eHq7Y2FitW7dOPXv21Pr162WxWGzhgCS1a9dOFotF69atU9OmTbV+/XrFxsbawgFJ6tmzp4qKirRp0yZ17txZ69evV1xcnMxms13N2LFjtW/fPjVq1KjCcyoqKlJRUZHtcV5e3l98lQAAAAAAqHxOX4MgKCiowhv4ymAYhpKSknTTTTcpNjbWtrx3795atGiRvv76a7300kvauHGjunTpYnvTnZ2dLR8fHwUFBdltLzQ0VNnZ2baa8kDhTCEhIXY1oaGhduuDgoLk4+Nz3pryx+U1jiZPnmy77oHFYlFERMQFvyYAAAAAAFQVpwOC559/Xs8++6xOnjxZqY089thj+umnn7R48WK75ffee69uu+02xcbGqm/fvvryyy+1a9cuLVu27LzbMwzD7pD/sx3+Xxk15RcoPNfpBWPHjpXVarV97d+//7x9AwAAAADgDk6fYvDSSy9pz549Cg0NVcOGDeXt7W23/scff3S6iREjRujTTz/VmjVr1KBBg/PW1qtXT1FRUfr1118lSWFhYSouLlZubq7dUQSHDh1Shw4dbDU5OTkVtnX48GHbEQBhYWHasGGD3frc3FyVlJTY1TgeKXDo0CFJqnBkQTmz2Wx3SgIAAAAAANWR0wHBHXfcUWk7NwxDI0aM0NKlS7Vq1aqznsPv6MiRI9q/f7/q1asnSWrdurW8vb21fPlyDRgwQJKUlZWlbdu2acqUKZKk9u3by2q16vvvv9eNN94oSdqwYYOsVqstRGjfvr2Sk5OVlZVl23ZqaqrMZrNat25tq3n66adVXFxsu5NCamqqwsPD1bBhw0p7XQAAAAAAqGpOBwTPPfdcpe18+PDhevfdd/XJJ58oICDA9um8xWKRn5+fTpw4ofHjx+vuu+9WvXr1tG/fPj399NMKDg7WnXfeaasdPHiwRo8erSuvvFJ16tTRmDFj1Lx5c9tdDZo1a6ZevXppyJAhev311yWdvs1hnz591LRpU0lSjx49FBMTo4SEBP3nP//R0aNHNWbMGA0ZMkSBgYGSTt8qccKECUpMTNTTTz+tX3/9VZMmTdKzzz7LHQwAAAAAAJc0pwOCcps2bdIvv/wik8mkmJgYtWrVyultvPrqq5KkTp062S2fO3euEhMT5enpqa1bt2r+/Pk6duyY6tWrp86dO+u9995TQECArX769Ony8vLSgAEDVFBQoK5du2revHny9PS01SxatEgjR4603e2gX79+mj17tm29p6enli1bpmHDhqljx47y8/NTfHy8pk6daquxWCxavny5hg8frjZt2igoKEhJSUlKSkpy+rkDAAAAAFCdmIzyq+xdoEOHDum+++7TqlWrVLt2bRmGIavVqs6dO2vJkiWqW7euq3qtEfLy8mSxWGS1Wm1HJgAAAABVadeuXRo6dKjyY/qpzD/Y3e3gHDzy/5D/9k81Z84cRUdHu7sdXMIu9H2o03cxGDFihPLy8vTzzz/r6NGjys3N1bZt25SXl6eRI0f+paYBAAAAAIB7OH2KQUpKilasWKFmzZrZlsXExOjll1+2Hb4PAAAAAAAuLU4fQVBWVlbh1oaS5O3trbKyskppCgAAAAAAVC2nA4IuXbro8ccf18GDB23Lfv/9d/3jH/9Q165dK7U5AAAAAABQNZwOCGbPnq3jx4+rYcOGuuqqq9SkSRM1atRIx48f16xZs1zRIwAAAAAAcDGnr0EQERGhH3/8UcuXL9eOHTtkGIZiYmLUrVs3V/QHAAAAAACqgNMBQbnu3bure/fuldkLAAAAAABwkwsKCP773/9q6NCh8vX11X//+9/z1nKrQwAAAAAALj0XFBBMnz5dDzzwgHx9fTV9+vRz1plMJgICAAAAAAAuQRcUEOzdu/es/w8AAAAAAGoGp+9iMHHiRJ08ebLC8oKCAk2cOLFSmgIAAAAAAFXL6YBgwoQJOnHiRIXlJ0+e1IQJEyqlKQAAAAAAULWcDggMw5DJZKqwfMuWLapTp06lNAUAAAAAAKrWBd/mMCgoSCaTSSaTSdHR0XYhQWlpqU6cOKFHH33UJU0CAAAAAADXuuCAYMaMGTIMQw899JAmTJggi8ViW+fj46OGDRuqffv2LmkSAAAAAAC41gUHBIMGDZIkNWrUSB07dpSX1wV/KwAAAAAAqOacvgZBfn6+Vq5cWWH5V199pS+//LJSmgIAAAAAAFXL6YDgqaeeUmlpaYXlhmHoqaeeqpSmAAAAAABA1XI6IPj1118VExNTYfk111yj3bt3V0pTAAAAAACgajkdEFgsFv32228Vlu/evVv+/v6V0hQAAAAAAKhaTgcE/fr106hRo7Rnzx7bst27d2v06NHq169fpTYHAAAAAACqhtMBwX/+8x/5+/vrmmuuUaNGjdSoUSM1a9ZMV155paZOneqKHgEAAAAAgIs5fa9Ci8WidevWafny5dqyZYv8/PzUokUL3XLLLa7oDwAAAAAAVAGnAwJJMplM6tGjh3r06FHZ/QAAAAAAADe4qIAgPz9fq1evVmZmpoqLi+3WjRw5slIaAwAAAAAAVcfpgGDz5s269dZbdfLkSeXn56tOnTr6448/VKtWLYWEhBAQAAAAAABwCXL6IoX/+Mc/1LdvXx09elR+fn5KS0tTRkaGWrduzUUKAQAAAAC4RDkdEKSnp2v06NHy9PSUp6enioqKFBERoSlTpujpp592RY8AAAAAAMDFnA4IvL29ZTKZJEmhoaHKzMyUdPruBuX/DwAAAAAALi1OX4OgVatW+uGHHxQdHa3OnTvr2Wef1R9//KEFCxaoefPmrugRAAAAAAC4mNNHEEyaNEn16tWTJD3//PO68sor9fe//12HDh3SnDlzKr1BAAAAAADgek4fQdCmTRvb/9etW1dffPFFpTYEAAAAAACqntNHEBQUFOjkyZO2xxkZGZoxY4ZSU1MrtTEAAAAAAFB1nA4Ibr/9ds2fP1+SdOzYMd1444166aWXdPvtt+vVV1+t9AYBAAAAAIDrOR0Q/Pjjj7r55pslSf/73/8UFhamjIwMzZ8/X//9738rvUEAAAAAAOB6TgcEJ0+eVEBAgCQpNTVVd911lzw8PNSuXTtlZGRUeoMAAAAAAMD1nA4ImjRpoo8//lj79+/XV199pR49ekiSDh06pMDAwEpvEAAAAAAAuJ7TAcGzzz6rMWPGqGHDhmrbtq3at28v6fTRBK1atar0BgEAAAAAgOs5fZvDe+65RzfddJOysrLUsmVL2/KuXbvqzjvvrNTmAAAAAABA1XA6IJCksLAwhYWF2S278cYbK6UhAAAAAABQ9ZwOCPLz8/Xiiy9q5cqVOnTokMrKyuzW//bbb5XWHAAAAAAAqBpOBwQPP/ywVq9erYSEBNWrV08mk8kVfQEAAAAAgCrkdEDw5ZdfatmyZerYsaMr+gEAAAAAAG7g9F0MgoKCVKdOHVf0AgAAAAAA3MTpgOD555/Xs88+q5MnT7qiHwAAAAAA4AZOn2Lw0ksvac+ePQoNDVXDhg3l7e1tt/7HH3+stOYAAAAAAEDVcDoguOOOO1zQBgAAAAAAcCenTzF47rnnzvvljMmTJ+uGG25QQECAQkJCdMcdd2jnzp12NYZhaPz48QoPD5efn586deqkn3/+2a6mqKhII0aMUHBwsPz9/dWvXz8dOHDAriY3N1cJCQmyWCyyWCxKSEjQsWPH7GoyMzPVt29f+fv7Kzg4WCNHjlRxcbFdzdatWxUXFyc/Pz/Vr19fEydOlGEYTj1vAAAAAACqG6cDgsq0evVqDR8+XGlpaVq+fLlOnTqlHj16KD8/31YzZcoUTZs2TbNnz9bGjRsVFham7t276/jx47aaUaNGaenSpVqyZInWrl2rEydOqE+fPiotLbXVxMfHKz09XSkpKUpJSVF6eroSEhJs60tLS3XbbbcpPz9fa9eu1ZIlS/Thhx9q9OjRtpq8vDx1795d4eHh2rhxo2bNmqWpU6dq2rRpLn6lAAAAAABwLZPh5MffpaWlmj59ut5//31lZmZW+IT96NGjF93M4cOHFRISotWrV+uWW26RYRgKDw/XqFGj9OSTT0o6fbRAaGio/v3vf+uRRx6R1WpV3bp1tWDBAt17772SpIMHDyoiIkJffPGFevbsqV9++UUxMTFKS0tT27ZtJUlpaWlq3769duzYoaZNm+rLL79Unz59tH//foWHh0uSlixZosTERB06dEiBgYF69dVXNXbsWOXk5MhsNkuSXnzxRc2aNUsHDhyQyWT60+eYl5cni8Uiq9WqwMDAi36tAAAAgIu1a9cuDR06VPkx/VTmH+zudnAOHvl/yH/7p5ozZ46io6Pd3Q4uYRf6PtTpIwgmTJigadOmacCAAbJarUpKStJdd90lDw8PjR8//q/0LKvVKkm22yju3btX2dnZ6tGjh63GbDYrLi5O69atkyRt2rRJJSUldjXh4eGKjY211axfv14Wi8UWDkhSu3btZLFY7GpiY2Nt4YAk9ezZU0VFRdq0aZOtJi4uzhYOlNccPHhQ+/btO+tzKioqUl5ent0XAAAAAADVjdMBwaJFi/TGG29ozJgx8vLy0v33368333xTzz77rNLS0i66EcMwlJSUpJtuukmxsbGSpOzsbElSaGioXW1oaKhtXXZ2tnx8fBQUFHTempCQkAr7DAkJsatx3E9QUJB8fHzOW1P+uLzG0eTJk23XPbBYLIqIiPiTVwIAAAAAgKrndECQnZ2t5s2bS5KuuOIK26f+ffr00bJlyy66kccee0w//fSTFi9eXGGd46H7hmH86eH8jjVnq6+MmvIzNM7Vz9ixY2W1Wm1f+/fvP2/fAAAAAAC4g9MBQYMGDZSVlSVJatKkiVJTUyVJGzdutDv03hkjRozQp59+qm+++UYNGjSwLQ8LC5NU8dP5Q4cO2T65DwsLU3FxsXJzc89bk5OTU2G/hw8ftqtx3E9ubq5KSkrOW3Po0CFJFY9yKGc2mxUYGGj3BQAAAABAdeN0QHDnnXdq5cqVkqTHH39czzzzjK6++moNHDhQDz30kFPbMgxDjz32mD766CN9/fXXatSokd36Ro0aKSwsTMuXL7ctKy4u1urVq9WhQwdJUuvWreXt7W1Xk5WVpW3bttlq2rdvL6vVqu+//95Ws2HDBlmtVruabdu22cIPSUpNTZXZbFbr1q1tNWvWrLG7MGNqaqrCw8PVsGFDp547AAAAAADViZez3/Diiy/a/v+ee+5RRESEvvvuOzVp0kT9+vVzalvDhw/Xu+++q08++UQBAQG2T+ctFov8/PxkMpk0atQoTZo0SVdffbWuvvpqTZo0SbVq1VJ8fLytdvDgwRo9erSuvPJK1alTR2PGjFHz5s3VrVs3SVKzZs3Uq1cvDRkyRK+//rokaejQoerTp4+aNm0qSerRo4diYmKUkJCg//znPzp69KjGjBmjIUOG2D71j4+P14QJE5SYmKinn35av/76qyZNmqRnn332gu5gAAAAAABAdeVUQFBSUqKhQ4fqmWeeUePGjSVJbdu2tbs7gDNeffVVSVKnTp3sls+dO1eJiYmSpCeeeEIFBQUaNmyYcnNz1bZtW6WmpiogIMBWP336dHl5eWnAgAEqKChQ165dNW/ePHl6etpqFi1apJEjR9rudtCvXz/Nnj3btt7T01PLli3TsGHD1LFjR/n5+Sk+Pl5Tp0611VgsFi1fvlzDhw9XmzZtFBQUpKSkJCUlJV3U8wcAAAAAoLowGeVX2btAtWvX1o8//mgLCOCcC73/JAAAAOAqu3bt0tChQ5Uf009l/sHubgfn4JH/h/y3f6o5c+YoOjra3e3gEnah70Mv6hoEH3/88V/pDQAAAAAAVDNOX4OgSZMmev7557Vu3Tq1bt1a/v7+dutHjhxZac0BAAAAAICqccEBQePGjbVx40a9+eabql27tjZt2qRNmzbZ1ZhMJgICAAAAAAAuQRccEOzbt0+lpaXau3evK/sBAAAAAABu4PQ1CAAAAAAAQM3j1DUItm/fruzs7PPWtGjR4i81BAAAAAAAqp5TAUHXrl11trsimkwmGYYhk8mk0tLSSmsOAAAAAABUDacCgg0bNqhu3bqu6gUAAAAAALiJUwFBZGSkQkJCXNULAAAAAABwEy5SCAAAAAAALjwgiIuLk4+Pjyt7AQAAAAAAbnLBpxh88803ruwDAAAAAAC4kVPXIAAAAABQc3gUHHN3CzgPfj6oagQEAAAAwGXKb+8ad7cAoBohIAAAAAAuUwWNblGZX213t4Fz8Cg4RoiDKuVUQFBSUqKmTZvq888/V0xMjKt6AgAAAFAFyvxqq8w/2N1tAKgmnLrNobe3t4qKimQymVzVDwAAAAAAcAOnAgJJGjFihP7973/r1KlTrugHAAAAAAC4gdPXINiwYYNWrlyp1NRUNW/eXP7+/nbrP/roo0prDgAAAAAAVA2nA4LatWvr7rvvdkUvAAAAAADATZwOCObOneuKPgAAAAAAgBs5fQ0CSTp16pRWrFih119/XcePH5ckHTx4UCdOnKjU5gAAAAAAQNVw+giCjIwM9erVS5mZmSoqKlL37t0VEBCgKVOmqLCwUK+99por+gQAAAAAAC7k9BEEjz/+uNq0aaPc3Fz5+fnZlt95551auXJlpTYHAAAAAACqhtNHEKxdu1bfffedfHx87JZHRUXp999/r7TGAAAAAABA1XE6ICgrK1NpaWmF5QcOHFBAQEClNAUAAIBLU2FhoTIzM93dhktERkbK19fX3W0AgMs4HRB0795dM2bM0Jw5cyRJJpNJJ06c0HPPPadbb7210hsEAADApSMzM1NDhw51dxsuMWfOHEVHR7u7DQBwGacDgunTp6tz586KiYlRYWGh4uPj9euvvyo4OFiLFy92RY8AAAC4RERGRto+SHKljIwMJScna9y4cYqKinL5/qTTzw0AajKnA4Lw8HClp6dr8eLF+vHHH1VWVqbBgwfrgQcesLtoIQAAAC4/vr6+Vfope1RUFJ/qA0AlcTogkCQ/Pz899NBDeuihhyq7HwAAAAAA4AYXFRDs3LlTs2bN0i+//CKTyaRrrrlGjz32mK655prK7g8AAAAAAFQBD2e/4X//+59iY2O1adMmtWzZUi1atNCPP/6o5s2b64MPPnBFjwAAAAAAwMWcPoLgiSee0NixYzVx4kS75c8995yefPJJ9e/fv9KaAwAAAAAAVcPpIwiys7M1cODACssffPBBZWdnV0pTAAAAAACgajl9BEGnTp307bffqkmTJnbL165dq5tvvrnSGgMAAEDlycnJkdVqdXcblSYjI8PuvzWJxWJRaGiou9sAcBlyOiDo16+fnnzySW3atEnt2rWTJKWlpemDDz7QhAkT9Omnn9rVAgAAwL1ycnL0YMJAlRQXubuVSpecnOzuFiqdt49ZCxfMJyQAUOWcDgiGDRsmSXrllVf0yiuvnHWdJJlMJpWWlv7F9gAAAPBXWa1WlRQXqaBxnMp8Le5uB+fhUWiVflstq9VKQACgyjkdEJSVlbmiDwAAALhYma9FZf7B7m4DAFBNOX2RQgAAAAAAUPMQEAAAAAAAAAICAAAAAABAQAAAAAAAAERAAAAAAAAAdBF3MZCkPXv2aO7cudqzZ49mzpypkJAQpaSkKCIiQtdee21l9wgAAIBK4FFwzN0t4E/wMwLgTk4HBKtXr1bv3r3VsWNHrVmzRsnJyQoJCdFPP/2kN998U//73/9c0ScAAAD+Ir+9a9zdAgCgGnM6IHjqqaf0wgsvKCkpSQEBAbblnTt31syZMyu1OQAAAFSegka3qMyvtrvbwHl4FBwjyAHgNk4HBFu3btW7775bYXndunV15MiRSmkKAAAAla/Mr7bK/IPd3QYAoJpy+iKFtWvXVlZWVoXlmzdvVv369SulKQAAAAAAULWcDgji4+P15JNPKjs7WyaTSWVlZfruu+80ZswYDRw40KltrVmzRn379lV4eLhMJpM+/vhju/WJiYkymUx2X+3atbOrKSoq0ogRIxQcHCx/f3/169dPBw4csKvJzc1VQkKCLBaLLBaLEhISdOzYMbuazMxM9e3bV/7+/goODtbIkSNVXFxsV7N161bFxcXJz89P9evX18SJE2UYhlPPGQAAAACA6sjpgCA5OVmRkZGqX7++Tpw4oZiYGN1yyy3q0KGD/vWvfzm1rfz8fLVs2VKzZ88+Z02vXr2UlZVl+/riiy/s1o8aNUpLly7VkiVLtHbtWp04cUJ9+vRRaWmprSY+Pl7p6elKSUlRSkqK0tPTlZCQYFtfWlqq2267Tfn5+Vq7dq2WLFmiDz/8UKNHj7bV5OXlqXv37goPD9fGjRs1a9YsTZ06VdOmTXPqOQMAAAAAUB05fQ0Cb29vLVq0SBMnTtTmzZtVVlamVq1a6eqrr3Z6571791bv3r3PW2M2mxUWFnbWdVarVW+99ZYWLFigbt26SZIWLlyoiIgIrVixQj179tQvv/yilJQUpaWlqW3btpKkN954Q+3bt9fOnTvVtGlTpaamavv27dq/f7/Cw8MlSS+99JISExOVnJyswMBALVq0SIWFhZo3b57MZrNiY2O1a9cuTZs2TUlJSTKZTGftsaioSEVFRbbHeXl5Tr9OAAAAAAC4mtNHEJS76qqrdM8992jAgAEXFQ5cqFWrVikkJETR0dEaMmSIDh06ZFu3adMmlZSUqEePHrZl4eHhio2N1bp16yRJ69evl8VisYUDktSuXTtZLBa7mtjYWFs4IEk9e/ZUUVGRNm3aZKuJi4uT2Wy2qzl48KD27dt3zv4nT55sO7XBYrEoIiLir70gAAAAAAC4gNNHEDz00EPnXf/2229fdDOOevfurf79+ysqKkp79+7VM888oy5dumjTpk0ym83Kzs6Wj4+PgoKC7L4vNDRU2dnZkqTs7GyFhIRU2HZISIhdTWhoqN36oKAg+fj42NU0bNiwwn7K1zVq1Oisz2Hs2LFKSkqyPc7LyyMkAAAAAABUO04HBLm5uXaPS0pKtG3bNh07dkxdunSptMYk6d5777X9f2xsrNq0aaOoqCgtW7ZMd9111zm/zzAMu0P+z3b4f2XUlF+g8FynF0inT5E486gDAAAAAACqI6cDgqVLl1ZYVlZWpmHDhqlx48aV0tS51KtXT1FRUfr1118lSWFhYSouLlZubq7dUQSHDh1Shw4dbDU5OTkVtnX48GHbEQBhYWHasGGD3frc3FyVlJTY1ZQfTXDmfiRVOPoAAAAAAIBLzUVfg8BuIx4e+sc//qHp06dXxubO6ciRI9q/f7/q1asnSWrdurW8vb21fPlyW01WVpa2bdtmCwjat28vq9Wq77//3lazYcMGWa1Wu5pt27YpKyvLVpOamiqz2azWrVvbatasWWN368PU1FSFh4dXOPUAAAAAAIBLTaUEBJK0Z88enTp1yqnvOXHihNLT05Weni5J2rt3r9LT05WZmakTJ05ozJgxWr9+vfbt26dVq1apb9++Cg4O1p133ilJslgsGjx4sEaPHq2VK1dq8+bNevDBB9W8eXPbXQ2aNWumXr16aciQIUpLS1NaWpqGDBmiPn36qGnTppKkHj16KCYmRgkJCdq8ebNWrlypMWPGaMiQIQoMDJR0+laJZrNZiYmJ2rZtm5YuXapJkyad9w4GAAAAAABcKpw+xeDMC+5Jp8/Dz8rK0rJlyzRo0CCntvXDDz+oc+fOFbY9aNAgvfrqq9q6davmz5+vY8eOqV69eurcubPee+89BQQE2L5n+vTp8vLy0oABA1RQUKCuXbtq3rx58vT0tNUsWrRII0eOtN3toF+/fpo9e7Ztvaenp5YtW6Zhw4apY8eO8vPzU3x8vKZOnWqrsVgsWr58uYYPH642bdooKChISUlJFV4PAAAAAAAuRU4HBJs3b7Z77OHhobp16+qll1760zscOOrUqZPtQn9n89VXX/3pNnx9fTVr1izNmjXrnDV16tTRwoULz7udyMhIff755+etad68udasWfOnPQEAAAAAcKlxOiD45ptvXNEHAAAAAABwo0q7BgEAAAAAALh0OR0Q5OTkKCEhQeHh4fLy8pKnp6fdFwAAAAAAuPQ4fYpBYmKiMjMz9cwzz6hevXpcwR8AAAAAgBrA6YBg7dq1+vbbb3Xddde5oB0AAAAAAOAOTp9iEBERcd47DwAAAAAAgEuP0wHBjBkz9NRTT2nfvn0uaAcAAAAAALiD06cY3HvvvTp58qSuuuoq1apVS97e3nbrjx49WmnNAQCA6q2wsFCZmZnubsMlIiMj5evr6+42AACoMk4HBDNmzHBBGwAA4FKUmZmpoUOHursNl5gzZ46io6Pd3QYAAFXG6YBg0KBBrugDAABcgiIjIzVnzpwq2VdGRoaSk5M1btw4RUVFuXx/kZGRLt8HAADVidMBgSTt2bNHc+fO1Z49ezRz5kyFhIQoJSVFERERuvbaayu7RwAAUE35+vpW+afsUVFRfLIPAIALOH2RwtWrV6t58+basGGDPvroI504cUKS9NNPP+m5556r9AYBAAAAAIDrOR0QPPXUU3rhhRe0fPly+fj42JZ37txZ69evr9TmAAAAAABA1XA6INi6davuvPPOCsvr1q2rI0eOVEpTAAAAAACgajkdENSuXVtZWVkVlm/evFn169evlKYAAAAAAEDVcjogiI+P15NPPqns7GyZTCaVlZXpu+++05gxYzRw4EBX9AgAAAAAAFzM6YAgOTlZkZGRql+/vk6cOKGYmBjdcsst6tChg/71r3+5okcAAAAAAOBiTt/m0NvbW4sWLdLEiRO1efNmlZWVqVWrVrr66qtd0R8AALgIOTk5slqt7m6jUmVkZNj9t6awWCwKDQ11dxsAADgfEKxevVpxcXG66qqrdNVVV7miJwAA8Bfk5OTowYSBKikucncrLpGcnOzuFiqVt49ZCxfMJyQAALid0wFB9+7dFRYWpvj4eD344IOKjY11RV8AAOAiWa1WlRQXqaBxnMp8Le5uB+fhUWiVflstq9VKQAAAcDunA4KDBw9qyZIlWrx4saZMmaLY2Fg9+OCDio+PV4MGDVzRIwAAuAhlvhaV+Qe7uw0AAHCJcPoihcHBwXrsscf03Xffac+ePbr33ns1f/58NWzYUF26dHFFjwAAAAAAwMWcDgjO1KhRIz311FN68cUX1bx5c61evbqy+gIAAAAAAFXoogOC7777TsOGDVO9evUUHx+va6+9Vp9//nll9gYAAAAAAKqI09cgePrpp7V48WIdPHhQ3bp104wZM3THHXeoVq1arugPAAAAAABUAacDglWrVmnMmDG69957FRzMhY8AAAAAAKgJnA4I1q1b54o+AAAAAACAG13UNQgWLFigjh07Kjw8XBkZGZKkGTNm6JNPPqnU5gAAAAAAQNVwOiB49dVXlZSUpFtvvVXHjh1TaWmpJKl27dqaMWNGZfcHAAAAAACqgNMBwaxZs/TGG29o3Lhx8vT0tC1v06aNtm7dWqnNAQAAAACAquF0QLB37161atWqwnKz2az8/PxKaQoAAAAAAFQtpwOCRo0aKT09vcLyL7/8UjExMZXREwAAAAAAqGJO38Xgn//8p4YPH67CwkIZhqHvv/9eixcv1uTJk/Xmm2+6okcAAAAAAOBiTgcEf/vb33Tq1Ck98cQTOnnypOLj41W/fn3NnDlT9913nyt6BAAAAAAALuZ0QCBJQ4YM0ZAhQ/THH3+orKxMISEhkqTff/9d9evXr9QGAQAAAACA6zl9DYIzBQcHKyQkRNnZ2RoxYoSaNGlSWX0BAAAAAIAqdMEBwbFjx/TAAw+obt26Cg8P13//+1+VlZXp2WefVePGjZWWlqa3337blb0CAAAAAAAXueBTDJ5++mmtWbNGgwYNUkpKiv7xj38oJSVFhYWF+vLLLxUXF+fKPgEAAAAAgAtdcECwbNkyzZ07V926ddOwYcPUpEkTRUdHa8aMGS5sDwAAAAAAVIULPsXg4MGDiomJkSQ1btxYvr6+evjhh13WGAAAAAAAqDoXHBCUlZXJ29vb9tjT01P+/v4uaQoAAAAAAFStCz7FwDAMJSYmymw2S5IKCwv16KOPVggJPvroo8rtEAAAAAAAuNwFBwSDBg2ye/zggw9WejMAAAAAAMA9LjggmDt3riv7AAAAAAAAbnTB1yAAAAAAAAA1FwEBAAAAAAAgIAAAAAAAAG4OCNasWaO+ffsqPDxcJpNJH3/8sd16wzA0fvx4hYeHy8/PT506ddLPP/9sV1NUVKQRI0YoODhY/v7+6tevnw4cOGBXk5ubq4SEBFksFlksFiUkJOjYsWN2NZmZmerbt6/8/f0VHByskSNHqri42K5m69atiouLk5+fn+rXr6+JEyfKMIxKez0AAAAAAHAXtwYE+fn5atmypWbPnn3W9VOmTNG0adM0e/Zsbdy4UWFhYerevbuOHz9uqxk1apSWLl2qJUuWaO3atTpx4oT69Omj0tJSW018fLzS09OVkpKilJQUpaenKyEhwba+tLRUt912m/Lz87V27VotWbJEH374oUaPHm2rycvLU/fu3RUeHq6NGzdq1qxZmjp1qqZNm+aCVwYAAAAAgKp1wXcxcIXevXurd+/eZ11nGIZmzJihcePG6a677pIkvfPOOwoNDdW7776rRx55RFarVW+99ZYWLFigbt26SZIWLlyoiIgIrVixQj179tQvv/yilJQUpaWlqW3btpKkN954Q+3bt9fOnTvVtGlTpaamavv27dq/f7/Cw8MlSS+99JISExOVnJyswMBALVq0SIWFhZo3b57MZrNiY2O1a9cuTZs2TUlJSTKZTFXwigEAAAAA4BrV9hoEe/fuVXZ2tnr06GFbZjabFRcXp3Xr1kmSNm3apJKSErua8PBwxcbG2mrWr18vi8ViCwckqV27drJYLHY1sbGxtnBAknr27KmioiJt2rTJVhMXFyez2WxXc/DgQe3bt++cz6OoqEh5eXl2XwAAAAAAVDduPYLgfLKzsyVJoaGhdstDQ0OVkZFhq/Hx8VFQUFCFmvLvz87OVkhISIXth4SE2NU47icoKEg+Pj52NQ0bNqywn/J1jRo1OuvzmDx5siZMmPCnzxcAgMrmUXDM3S3gT/AzAgBUJ9U2ICjneOi+YRh/eji/Y83Z6iujpvwChefrZ+zYsUpKSrI9zsvLU0RExHn7BwCgMvjtXePuFgAAwCWk2gYEYWFhkk5/Ol+vXj3b8kOHDtk+uQ8LC1NxcbFyc3PtjiI4dOiQOnToYKvJycmpsP3Dhw/bbWfDhg1263Nzc1VSUmJXU340wZn7kSoe5XAms9lsd1oCAABVpaDRLSrzq+3uNnAeHgXHCHIAANVGtQ0IGjVqpLCwMC1fvlytWrWSJBUXF2v16tX697//LUlq3bq1vL29tXz5cg0YMECSlJWVpW3btmnKlCmSpPbt28tqter777/XjTfeKEnasGGDrFarLURo3769kpOTlZWVZQsjUlNTZTab1bp1a1vN008/reLiYvn4+NhqwsPDK5x6AABAdVDmV1tl/sHubgMAAFwi3HqRwhMnTig9PV3p6emSTl+YMD09XZmZmTKZTBo1apQmTZqkpUuXatu2bUpMTFStWrUUHx8vSbJYLBo8eLBGjx6tlStXavPmzXrwwQfVvHlz210NmjVrpl69emnIkCFKS0tTWlqahgwZoj59+qhp06aSpB49eigmJkYJCQnavHmzVq5cqTFjxmjIkCEKDAyUdPpWiWazWYmJidq2bZuWLl2qSZMmcQcDAAAAAECN4NYjCH744Qd17tzZ9rj8XP1BgwZp3rx5euKJJ1RQUKBhw4YpNzdXbdu2VWpqqgICAmzfM336dHl5eWnAgAEqKChQ165dNW/ePHl6etpqFi1apJEjR9rudtCvXz/Nnj3btt7T01PLli3TsGHD1LFjR/n5+Sk+Pl5Tp0611VgsFi1fvlzDhw9XmzZtFBQUpKSkJLvrCwAAAAAAcKlya0DQqVMn24X+zsZkMmn8+PEaP378OWt8fX01a9YszZo165w1derU0cKFC8/bS2RkpD7//PPz1jRv3lxr1nCeIAAAAGoGj0Kru1vAefDzQVWrttcgAAAAAOAaFotF3j5m6bfV7m4Ff8LbxyyLxeLuNnCZICAAAAAALjOhoaFauGC+rNaa8wl1RkaGkpOTNW7cOEVFRbm7nUpjsVjOe9c0oDIREAAAAACXodDQ0Br5xjMqKkrR0dHubgO4JLn1LgYAAAAAAKB6ICAAAAAAAACcYgAAuHCFhYXKzMx0dxsuERkZKV9fX3e3AQAA4DYEBACAC5aZmamhQ4e6uw2XmDNnDuesAgCAyxoBAQDggkVGRmrOnDlVsq+qvhp1ZGSky/cBAABQnREQAAAumK+vb5V/ys7VqAEAAKoGFykEAAAAAAAEBAAAAAAAgIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAEjycncDAAAAqBoehVZ3t4A/wc8IgDsREAAAANRwFotF3j5m6bfV7m4FF8DbxyyLxeLuNgBchggIAAAAarjQ0FAtXDBfVmvN+XQ6IyNDycnJGjdunKKiotzdTqWyWCwKDQ11dxsALkMEBAAAAJeB0NDQGvmmMyoqStHR0e5uAwBqBC5SCAAAAAAACAgAAAAAAAABAQAAAAAAENcgAIAaIycnp8ZdgOzM/9YUXHwMAABUVwQEAFAD5OTk6MGEgSopLnJ3K5UuOTnZ3S1UKm8fsxYumE9IAAAAqh0CAgCoAaxWq0qKi1TQOE5lvtw7u7ryKLRKv62W1WolIAAAANUOAQEA1CBlvhaV+Qe7uw0AAABcgrhIIQAAAAAAICAAAAAAAAAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAECSl7sbAAAAruFRaHV3C/gT/IwAANUJAQGAcyosLFRmZqa723CJyMhI+fr6ursNwCUsFou8fczSb6vd3QougLePWRaLxd1tAABAQADg3DIzMzV06FB3t+ESc+bMUXR0tLvbAFwiNDRUCxfMl9Vasz6dzsjIUHJyssaNG6eoqCh3t1NpLBaLQkND3d0GAADVOyAYP368JkyYYLcsNDRU2dnZkiTDMDRhwgTNmTNHubm5atu2rV5++WVde+21tvqioiKNGTNGixcvVkFBgbp27apXXnlFDRo0sNXk5uZq5MiR+vTTTyVJ/fr106xZs1S7dm1bTWZmpoYPH66vv/5afn5+io+P19SpU+Xj4+PCVwBwr8jISM2ZM6dK9lXVv/hHRka6fB+AO4WGhtbYN51RUVEEfAAAuEC1Dggk6dprr9WKFStsjz09PW3/P2XKFE2bNk3z5s1TdHS0XnjhBXXv3l07d+5UQECAJGnUqFH67LPPtGTJEl155ZUaPXq0+vTpo02bNtm2FR8frwMHDiglJUWSNHToUCUkJOizzz6TJJWWluq2225T3bp1tXbtWh05ckSDBg2SYRiaNWtWVb0UQJXz9fWt8l/C+cUfAAAAcI9qHxB4eXkpLCyswnLDMDRjxgyNGzdOd911lyTpnXfeUWhoqN5991098sgjslqteuutt7RgwQJ169ZNkrRw4UJFRERoxYoV6tmzp3755RelpKQoLS1Nbdu2lSS98cYbat++vXbu3KmmTZsqNTVV27dv1/79+xUeHi5Jeumll5SYmKjk5GQFBgZW0asBAAAAAIBrVPvbHP76668KDw9Xo0aNdN999+m3336TJO3du1fZ2dnq0aOHrdZsNisuLk7r1q2TJG3atEklJSV2NeHh4YqNjbXVrF+/XhaLxRYOSFK7du1ksVjsamJjY23hgCT17NlTRUVF2rRp03n7LyoqUl5ent0XAAAAAADVTbUOCNq2bav58+frq6++0htvvKHs7Gx16NBBR44csV2HwPH8yjOvUZCdnS0fHx8FBQWdtyYkJKTCvkNCQuxqHPcTFBQkHx8fW825TJ48WRaLxfYVERHhxCsAAAAAAEDVqNYBQe/evXX33XerefPm6tatm5YtWybp9KkE5Uwmk933GIZRYZkjx5qz1V9MzdmMHTtWVqvV9rV///7z1gMAAAAA4A7VOiBw5O/vr+bNm+vXX3+1XZfA8RP8Q4cO2T7tDwsLU3FxsXJzc89bk5OTU2Ffhw8ftqtx3E9ubq5KSkr+9ArRZrNZgYGBdl8AAAAAAFQ3l1RAUFRUpF9++UX16tVTo0aNFBYWpuXLl9vWFxcXa/Xq1erQoYMkqXXr1vL29rarycrK0rZt22w17du3l9Vq1ffff2+r2bBhg6xWq13Ntm3blJWVZatJTU2V2WxW69atXfqcAQAAAACoCtX6LgZjxoxR3759FRkZqUOHDumFF15QXl6eBg0aJJPJpFGjRmnSpEm6+uqrdfXVV2vSpEmqVauW4uPjJUkWi0WDBw/W6NGjdeWVV6pOnToaM2aM7ZQFSWrWrJl69eqlIUOG6PXXX5d0+jaHffr0UdOmTSVJPXr0UExMjBISEvSf//xHR48e1ZgxYzRkyBCOCAAAAAAA1AjVOiA4cOCA7r//fv3xxx+qW7eu2rVrp7S0NEVFRUmSnnjiCRUUFGjYsGHKzc1V27ZtlZqaqoCAANs2pk+fLi8vLw0YMEAFBQXq2rWr5s2bJ09PT1vNokWLNHLkSNvdDvr166fZs2fb1nt6emrZsmUaNmyYOnbsKD8/P8XHx2vq1KlV9EoAAAAAAOBa1TogWLJkyXnXm0wmjR8/XuPHjz9nja+vr2bNmqVZs2ads6ZOnTpauHDhefcVGRmpzz///Lw1AAAAAABcqi6paxAAAAAAAADXICAAAAAAAADV+xQDAIBzPAqOubsFnAc/HwAAUJ0REABADeK3d427WwAAAMAlioAAAGqQgka3qMyvtrvbwDl4FBwjxAEAANUW1yAAgJrEZHJ3Bzgffj4AAKAa4wgCAKgBLBaLvH3M0m+r3d0K/oS3j1kWi8XdbQAAAFRAQABconJycmS1Wt3dRqXJyMiw+29NYbFYFBoa6vL9hIaGauGC+TVuJpKTkzVu3DhFRUW5u51KU1UzAQAA4CwCAuASlJOTowcTBqqkuMjdrVS65ORkd7dQqbx9zFq4YH6VhQQ18Y1nVFSUoqOj3d0GAABAjUdAAFyCrFarSoqLVNA4TmW+HKpcXXkUWqXfVstqtdbIN+4AAACoWQgIgEtYma9FZf7B7m4DAAAAQA3AXQwAAAAAAAABAQAAAAAAICAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAACSvNzdAICL51FwzN0t4Dz4+QAAAOBSQkAAXML89q5xdwsAAAAAaggCAuASVtDoFpX51XZ3GzgHj4JjhDgAAAC4ZBAQAJewMr/aKvMPdncbAAAAAGoALlIIAAAAAAAICAAAAAAAAAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAAJDk5e4GAFw8j0Kru1vAefDzAQAAwKWEgAC4BFksFnn7mKXfVru7FfwJbx+zLBaLu9sAAAAA/hQBAXAJCg0N1cIF82W11pxPqDMyMpScnKxx48YpKirK3e1UGovFotDQUHe3AQAAAPwpAgLgEhUaGloj33hGRUUpOjra3W0AAAAAlx0CAgAAAACAdu/erb1797p8PydPntSePXtcvh93uOqqq1SrVi2X7qNRo0Zq0qSJS7ZNQAAAAAAA0KxZs7RlyxZ3t4E/0bJlS82cOdMl2yYgAAAAAABoxIgRHEHwF1XVEQSuQkAAAAAAAFCTJk1cdug6Lg0e7m4AAAAAAAC4HwEBAAAAAADgFAMAAAAArlNYWKjMzEyX7ycjI8Puv1UhMjJSvr6+VbY/wNUICAAAAAC4TGZmpoYOHVpl+0tOTq6yfc2ZM0fR0dFVtj/A1QgIAAAAALhMZGSk5syZ4+42XCIyMtLdLQCVioDgIrzyyiv6z3/+o6ysLF177bWaMWOGbr75Zne3BQBAlauqQ4elqj98mEOHLw6Hk8ORr68vn7IDlwgCAie99957GjVqlF555RV17NhRr7/+unr37q3t27eTIAIALjtVfeiwVHWHD3Po8MXhcHIAuHQREDhp2rRpGjx4sB5++GFJ0owZM/TVV1/p1Vdf1eTJk93c3V9TlZ8CuQOpv/P4ZBCOmAk44tBhOGImAODSZTIMw3B3E5eK4uJi1apVSx988IHuvPNO2/LHH39c6enpWr16dYXvKSoqUlFRke1xXl6eIiIiZLVaFRgYeMH73r17t/bu3fvXnsCf2L9/v+bPn+/SfbjTwIEDFRER4dJ9NGrUSE2aNHHpPqrSrl27qvyTwarCp0AXh5kAAAC49OTl5clisfzp+1COIHDCH3/8odLSUoWGhtotDw0NVXZ29lm/Z/LkyZowYcJf3vesWbO0ZcuWv7ydy1lVhB8tW7bUzJkzXb6fqsKnQHDETAAAANRcBAQXwWQy2T02DKPCsnJjx45VUlKS7XH5EQTOGjFihMuPICgpKdEff/zh0n24U3BwsLy9vV26j0aNGrl0+1WNiwrBETMBAABQcxEQOCE4OFienp4VjhY4dOhQhaMKypnNZpnN5r+87yZNmtSoQ9cBAAAAANWLh7sbuJT4+PiodevWWr58ud3y5cuXq0OHDm7qCgAAAACAv44jCJyUlJSkhIQEtWnTRu3bt9ecOXOUmZmpRx991N2tAQAAAABw0QgInHTvvffqyJEjmjhxorKyshQbG6svvvhCUVFR7m4NAAAAAICLxm0Oq9iF3l4CAAAAAIDKcKHvQ7kGAQAAAAAAICAAAAAAAAAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABABAQAAAAAAEAEBAAAAAAAQAQEAAAAAABAkpe7G7jcGIYhScrLy3NzJwAAAACAy0H5+8/y96PnQkBQxY4fPy5JioiIcHMnAAAAAIDLyfHjx2WxWM653mT8WYSASlVWVqaDBw8qICBAJpPJ3e24TV5eniIiIrR//34FBga6ux1UA8wEHDETcMRM4EzMAxwxE3DETPwfwzB0/PhxhYeHy8Pj3Fca4AiCKubh4aEGDRq4u41qIzAw8LL/wwp7zAQcMRNwxEzgTMwDHDETcMRMnHa+IwfKcZFCAAAAAABAQAAAAAAAAAgI4CZms1nPPfeczGazu1tBNcFMwBEzAUfMBM7EPMARMwFHzITzuEghAAAAAADgCAIAAAAAAEBAAAAAAAAAREAAAAAAAABEQAAAAAAAAERAAAAAAAAAREAAoAYoKipydwuoZg4dOuTuFlCNlZWVubsFVDPc1AuOmAlcrggIcEnZvHmzXn75ZXe3gWpkx44deu655/Tjjz+6uxVUEzt27FDLli01c+ZMd7eCauLQoUP66aeftG7dOkmSh4cHv/xf5goLC3XixAmdOnVKkmQymQiOLnMnT56U1WpVcXGxJGYCp12OM0BAgEvGTz/9pNatWysjI8PdraCa2Lp1q9q1a6eioiIFBQXZreOX/8tTenq62rRpo5ycHEIjSDr990T37t3Vv39/3X333XrooYcknf7lH5enbdu2qX///rr55pvVv39//etf/5J0OjjC5Wnbtm2688471a5dO91+++0aN26cJGbicrVv3z7Nnz9fpaWl8vDwuOxCAqYel4QtW7aoffv2+uc//6kpU6a4ux1UA0eOHNHgwYP18MMPa/r06WrUqJGsVqt+//13SfzyfznasmWLOnbsqPHjx+ubb77RwoULlZqa6u624Ea//vqrunTpottvv10LFy7UCy+8oLS0NGVmZtpqCBMvLzt37lRcXJyuvvpqJSUlKSYmRq+99pruuOMOWa1WSczE5WbPnj2Ki4tT06ZNNWrUKF177bWaP3++OnXqpLy8PEnMxOVk165duv766zVx4kS9+eabl2VIYDKYeFRzmZmZatiwoZ588klNnjxZJSUlmj59urZt26YrrrhCbdq0sX0ihMvH7t271b9/f33++ecKCQnR4MGD9fPPP+v48eNq1qyZ5s+fL4vFIsMwCAsuA1u3btV1112np556SsnJyTp8+LDuu+8+RUdH67///a88PT35JOgyYxiGJk6cqO3bt+u9996TJGVlZen+++9XcnKy8vPz1a1bN+biMlJaWqonnnhCJ06c0Ouvvy5JKigoUHx8vD755BN17txZK1eulCT+7biMvPbaa3rvvff01VdfycfHR6dOndIPP/yggQMHqm7duvruu+8knT7UnL8varbc3Fw98MAD8vPzk4eHhw4ePKiEhAQNGTJEnp6el80M1PxniEvegQMHVLt2bdsnw7169dJHH32kgoIC7dixQ1OmTNFjjz3m5i5R1X7//XedOHFC9evXV0JCgo4cOaIxY8boX//6l3bu3KmuXbtK4kiCy0FJSYlmzZql8ePHKzk5WZJUt25dde7cWYsXL9axY8c45/wyZDKZtHfvXu3fv9+27J133tHGjRv1yCOPaPDgwWrdurWOHz8uiU8ILweenp7avXu38vPzJZ1+w+fn56e4uDgNHTpUu3bt0t/+9jdJ/NtxOcnIyNCBAwfk4+MjSfLy8lK7du30/vvv6/fff9edd94pidMNLgenTp3SVVddpSFDhuiNN95Qw4YNtWDBAr3xxhu2Iwkuh38rmHRUe23bttUnn3yi5cuXy8PDQ0FBQfroo4/0wQcf6LPPPtPQoUO1YsUKrV271t2togqU/8XcqlUrlZWVacSIEcrLy9OkSZN0//33a+DAgVq+fLlycnI0fvx49zaLKuHt7a3JkyfrmWeekfR/FxQaM2aMGjRooOeff15lZWX8wn8ZKS0tlST16dNH2dnZ6tatmwYPHqzx48fr/fff1xdffKHvv/9eJ0+e1IgRIyTxhrCmKy0t1alTpxQdHa28vDxt3rxZHh4e2rdvn55//nm1bt1aTz75pNLT05WTk+PudlGFbr31Vp06dUoffPCB3fIWLVpo+vTp2rFjh1avXu2m7lCV6tatq2eeeUY9e/ZU7dq1NWvWLFtIMGfOHNvvEiUlJe5u1aUICFAtlf+CbxiGPD091a5dOy1evFj33nuvHnvsMYWHh8swDPn7+2vAgAHat2+fdu/e7eau4UqO5355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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "revenue_data = merged_df.groupby(['cohort', 'transaction_month'])['amount'].sum().reset_index()\n", + "\n", + "plt.figure(figsize=(12, 6))\n", + "sns.boxplot(x='cohort', y='amount', data=revenue_data)\n", + "plt.title('Revenue Per Transaction by Cohort')\n", + "plt.xlabel('Cohort (First Interaction Month)')\n", + "plt.ylabel('Revenue per Transaction')\n", + "plt.xticks(rotation=45)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "35c7d382-62b1-414b-9ae3-82e93efde06a", + "metadata": {}, + "source": [ + "**Distribution: The box plot highlights the spread of revenue within each cohort. The cohorts have varying levels of skewness:\n", + "\t•\tEarlier cohorts (e.g., 2020-06) show a narrow distribution, meaning revenue was more consistent.\n", + "\t•\tLater cohorts (e.g., 2020-10) show a wide spread, indicating variability in transaction values.\n", + "\t•\tOutliers: The 2020-10 cohort displays outliers, suggesting that a few transactions are contributing significantly to the total revenue.**" + ] + }, + { + "cell_type": "code", + "execution_count": 508, + "id": "b61e12db-3d70-48ef-a8af-d812a84aa028", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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3bu38fLyMo8//rjLutO394EHHjBff/21+emnn0zNmjWNl5eX2bVrV7b6MGjQoAzvibS0NGv5RYoUMRUrVjRTp041CxcuNJs3bzZbtmwxTqfTVKhQwfz73/828+bNM927dzceHh6mb9++1joSEhJMSEiIKVKkiBk/frz56aefTMuWLa337qXPd2RkpMtrPN3lz8/p06dNpUqVTMGCBc3QoUPNL7/8Yj755BPjdDrNo48+atV+Lc/Phg0bTJ48eUzx4sXNmDFjzIIFC8zkyZNN06ZNzYkTJ4wxxjz11FOmWLFi5sKFCy71PfvssyY8PNycP38+y+f6+PHjpk2bNmbSpElm4cKFZs6cOaZHjx7Gw8PDTJw40WVsdmv+5ZdfjKenp3nooYfMzJkzzTfffGPuv/9+67m9mtatW5vAwMAM05955hnj5eVlDh06ZE378MMPjcPhMO3atTOzZ882M2fONDExMSYwMNBs2bLFGGPMkSNHjI+Pj3n77bddlnfhwgUTHh5umjRpYk2bNGmScTgcpnHjxmbmzJnmhx9+MA0aNDCenp7ml19+scalf76UKlXKvPvuu2b+/Plm6NChxtfX17Rt29Yal/5avvTvxqXP56Wf5dl97WYlMjLSPPHEE1nOf+utt4wks3Tp0ixruJ6/J+nLy+x9mdm60v9WREREmHbt2pmff/7ZfP755yYkJMRERESYxMREl2272nswKSnJWuY777xj1bZv3z5jzP/v2aWu9btLdHS0GTNmjJk/f77p3LmzkZThfYJbB4EMbi0hIcFIsr60Xc22bduMJNO5c2eX6atWrTKSzL/+9S9rWo0aNYwks3btWmva0aNHjaenp/H393cJXxs2bDCSzKeffmpNS/9Afe2111zWNWXKFCPJTJ482WVdmQWyChUquHxxWb16tZFkpk2bZk0rXbq0uffeezN8kWnQoIEpXLiwSU1NNcYY06xZM+Pv728SEhKsMRcuXDClS5e+pkB2pdvVAln58uVN48aNr7iel19+OdMvQnPmzDGSzODBg12mz5gxw0gyn3/+uTHm4hcFSaZnz54u46ZNm2YkZRrIWrVqdcWajLn4XKWkpJjo6GiXnqaHoIYNG7qM79atm5Fkunbt6jK9cePGJigoyGVav379jKenp1m8ePFV60h3pUD2yCOPZGt7zp8/b2rXrm2eeuqpDMu92mvvn3/+MZLM8OHDs11zWlqaOX/+vFmyZImRZDZu3GjNu+uuu8xdd91lzp49m+XjP/rooyxfq5e/h8aMGWMkma+//tpl3KBBg4wkM2/ePGuaJBMaGmqFBmMufrZ4eHiYAQMGXHGb0p+vzG7z58+3lu90Os2xY8dcHhsbG2uKFi1qhcp0r7zyivHz87PG9+zZ0zgcDrNhwwaXcXXr1s1xIBswYIDx8PAwa9ascRn37bffGknmp59+uubn59FHHzX58+c3hw8fzvL5Sn+Nzpo1y5p24MAB4+XlZfr165fl4zKT/hpu3769uffee13mZbfmqlWrmvDwcJfX3YkTJ0xQUNA1BbL0EP7PP/+Y0aNHGw8PD5e/J3v37jVeXl4Z/jHm5MmTJiwszDRt2tSa1qRJE1O0aFHrs9sYY3766Scjyfzwww/GmIuBOigoKMPnTmpqqrnnnnvMAw88YE1L/+y+/LOzc+fOxs/Pzwrf1xLIsvvazcrVAtno0aONJDNjxowsa7ievyfpy8vsfZnZutL/Vlz6WWmMMb/99puRZD744AOXbcvOe3DNmjVZPt+XB7KcfHdZtWqVy9iyZcua2NjYDOvCrYFDFnFHWbRokSRlOJzggQceUJkyZTIc6lG4cGFVrlzZuh8UFKSQkBBVqlRJ4eHh1vQyZcpIkvbs2ZNhnS1btnS537RpU3l5eVm1XMkTTzwhT09P637FihVd1vPnn3/qjz/+sNZx4cIF6/b4448rPj5e27dvt7a9du3aCg0NtZbn6empZs2aXbWOS/3yyy9as2ZNhttdd9111cc+8MAD+vnnn/XWW29p8eLFOnv2bLbXm37S/OW9e/bZZxUYGGj1bsmSJZIuPs+XeuaZZ7I8j+rpp5/OMO3ChQvq37+/ypYtKx8fH3l5ecnHx0c7d+7Utm3bMoxv0KCBy/3018QTTzyRYfqxY8dcDlt89913deHCBdWoUSPT+q5VZtsjSWPGjNF9990nPz8/eXl5ydvbWwsWLMh0e6722gsKCtJdd92ljz76SEOHDtXvv/+e6eEwf/31l1q0aKGwsDB5enrK29vb2s709e7YsUO7du1S+/bt5efnd30b/38WLlyowMBAPfPMMy7T018/l7/Xa9Wqpbx581r3Q0NDFRISkul7OjOvvvpqhvdE1apVrfmPPvqoChQoYN0/d+6cFixYoKeeekoBAQEZ3rvnzp2zDhFdtGiRypUrp3vuucdlnZdfRORazJ49W+XLl1elSpVc1h0bG5vhMEjp6s/PmTNntGTJEjVt2lSFChXKcr01a9bUPffc43Jo25gxY+RwONSpU6er1v3NN9+oevXqypMnj/UaHjduXKav4avVfPr0aa1Zs0ZNmjRxed3lzZtXDRs2vGot6U6fPi1vb295e3urYMGCeumll9SsWTN9+OGH1pi5c+fqwoULatWqlcvz7efnpxo1arg8323bttX+/fv1yy+/WNPGjx+vsLAwPfbYY5IuXuDm2LFjat26tcvy0tLSVL9+fa1ZsybDoaeXHrovXXxPnzt3TocPH872tkrX9trNKWPMVcdcz9+TdJe/L6/m8r/n1apVU2RkZLb+nl+Pa/3uEhYWpgceeMBlWsWKFbP9eYab7/Y+yxu3vYIFCyogIEC7d+/O1vijR49Kuhi0LhceHp7hwyooKCjDOB8fnwzTfXx8JMnlePd0YWFhLve9vLwUHBxs1XIlwcHBLvfTz5FL/8OTfn5Cjx491KNHj0yXkX6+wdGjRzPUkll9V3PPPfeoYMGCGaZn54v0p59+qqJFi2rGjBkaNGiQ/Pz8FBsbq48++kjR0dFXfOzRo0fl5eWV4cuew+FQWFiY9Xym//fS4Cn9/+c9M5m9Hl5//XWNGjVKPXv2VI0aNVSgQAF5eHioQ4cOmf7hz+o1caXXyo26Cl9m2zN06FB1795dL774ot5//30VLFhQnp6e6t27d6ZfZq/22nM4HFqwYIHee+89DR48WN27d1dQUJBatmypDz/8UHnz5tWpU6f08MMPy8/PTx988IFKliypgIAA67zK9GWln1OZmyexp7/eLz8PIyQkRF5eXhnef5m9Nnx9fbP9Ja9o0aJXvMz95T05evSoLly4oBEjRmjEiBGZPubS925mF4a41vfupQ4dOqQ///zT5Sp2ma073dWen8TERKWmpmarh127dlWHDh20fft2lShRQl988YWeeeaZq27PzJkz1bRpUz377LN64403FBYWJi8vL40ePVpfffVVhvHZqTktLe26Pxf9/f3166+/SpISEhI0ZMgQTZs2TRUrVtRbb70l6f9/VqefN3Q5D4///+/jjz32mAoXLqzx48erXr16SkxM1Pfff69XX33V+keS9OVd/g8Olzp27JgCAwOt+1d7T2fXtbx2cyr9b/Gl//B5uev5e5Ius8/KK8nqtZKdv+fX41q/u1zv5xluPgIZ3Jqnp6dq166tn3/+Wfv377/ql4H0D6n4+PgMYw8ePJhp0LheCQkJKlKkiHX/woULOnr0aJbh4Fqk19urVy81adIk0zGlSpWSdHHbExISMq3vZgkMDFS/fv3Ur18/HTp0yPrXzYYNG+qPP/644mODg4N14cIFHTlyxCWUGWOUkJBgfdFJf14PHTqU6fOemcyuqDh58mS1atVK/fv3d5n+zz//ZLjk+q0mq+2pWbOmRo8e7TL95MmTOV5PZGSkxo0bJ+niXq6vv/5affv2VUpKisaMGaOFCxfq4MGDWrx4scvev8svwpLez8tPTr8ewcHBWrVqlYwxLs/H4cOHdeHChRvyXr+Sy3tSoEABeXp6Ki4uTi+//HKmj0kPYdfy3vXz88tw0RLp4uv20m0uWLCg/P39Mw0y6fOvRVBQkDw9PbPVwxYtWqhnz54aNWqUHnzwQSUkJGT5HFxq8uTJioqK0owZM1yez8y2NzsKFCggh8Nx3Z+LHh4eLmG8bt26qly5svr166eWLVsqIiLCej6//fZbRUZGXnF56a+LTz/9VMePH9fUqVOVnJystm3bWmPSlzdixIgsrwh4+T9KXU36P6pd/nxe/rl5La/dnDDG6IcfflBgYOAV/5Hjev6epLvWq+lm9Vq5++67rfvZfQ9eCzu+u+Dm4pBFuL1evXrJGKOOHTsqJSUlw/zz58/rhx9+kHTx8ATp4h/2S61Zs0bbtm1T7dq1c72+KVOmuNz/+uuvdeHChVz5EdtSpUopOjpaGzduVJUqVTK9pR+yU6tWLS1YsMDlql+pqamaMWPGddeRE6GhoWrTpo2aN2+u7du368yZM5Ky/lfb9N5c3rv//Oc/On36tDX/kUcekaQM2/Xtt9/qwoUL2a7P4XBkuGrnjz/+qAMHDmR7GbeSzLZn06ZNWrFiRa4sv2TJknrnnXdUoUIFrV+/3lqnpAzrHTt2bIbH3nXXXfrqq6+u+OX6Wv5Fv3bt2jp16pS+++47l+n//ve/rfl2CggIUK1atfT777+rYsWKmb5307+E1apVS1u2bNHGjRtdljF16tQMyy1evLg2bdrkMm3Hjh3WocvpGjRooF27dik4ODjTdRcvXvyatsff3181atTQN998c9W9I35+furUqZMmTpyooUOHqlKlSqpevfpV15H+w8uXfolOSEjI9CqL2REYGKgHHnhAM2fOdDm64eTJk9bfjJzw9fXVqFGjdO7cOX3wwQeSpNjYWHl5eWnXrl1ZflZfqm3btjp37pymTZumCRMmKCYmRqVLl7bmV69eXfnz59fWrVuzXF763vjsCg0NlZ+fX4bXz+XP77W8dnOiX79+2rp1q1599dVsH8J8rX9Pcuryv+fLly/Xnj17XP6eZ/c9eC212fHdBTcXe8jg9mJiYjR69Gh17txZlStX1ksvvaRy5crp/Pnz+v333/X555+rfPnyatiwoUqVKqVOnTppxIgR8vDw0GOPPaa///5bvXv3VkREhF577bVcr2/mzJny8vJS3bp1tWXLFvXu3Vv33HNPhnOccmrs2LF67LHHFBsbqzZt2qhIkSI6duyYtm3bpvXr11uXkX7nnXf0/fff69FHH9W7776rgIAAjRo1KtPLj98oVatWVYMGDVSxYkUVKFBA27Zt06RJkxQTE6OAgABJUoUKFSRJgwYN0mOPPSZPT09VrFhRdevWVWxsrHr27KkTJ06oevXq2rRpk/r06aN7771XcXFxkqRy5cqpefPmGjJkiDw9PfXoo49qy5YtGjJkiJxOp8uhQVfSoEEDTZgwQaVLl1bFihW1bt06ffTRRzfkt2Hee+89vffee1qwYEGunUd2uQYNGuj9999Xnz59VKNGDW3fvl3vvfeeoqKirimoptu0aZNeeeUVPfvss4qOjpaPj48WLlyoTZs2WYdpVatWTQUKFNCLL76oPn36yNvbW1OmTMkQLCRp1KhRatiwoR588EG99tprKlasmPbu3au5c+daX4LSXxuffPKJWrduLW9vb5UqVcrlPKF0rVq10qhRo9S6dWv9/fffqlChgpYtW6b+/fvr8ccfV506da55m3PbJ598ooceekgPP/ywXnrpJRUvXlwnT57Un3/+qR9++ME6b7Jbt2766quv9MQTT+iDDz5QaGiopkyZkulegLi4OD3//PPq3Lmznn76ae3Zs0eDBw/OcKhvt27d9J///EePPPKIXnvtNVWsWFFpaWnau3ev5s2bp+7du7ucA5cdQ4cO1UMPPaSqVavqrbfe0t13361Dhw7p+++/19ixY1361LlzZw0ePFjr1q3Tl19+ma3lN2jQQDNnzlTnzp31zDPPaN++fXr//fdVuHBh7dy585pqTff++++rfv361m9WpqamatCgQQoMDNSxY8dytExJqlGjhh5//HGNHz9eb731lqKiovTee+/p7bff1l9//aX69eurQIECOnTokFavXm3t7UlXunRpxcTEaMCAAdq3b58+//xzl+XnyZNHI0aMUOvWrXXs2DE988wzCgkJ0ZEjR7Rx40YdOXIkw97wq3E4HHr++ef11Vdf6a677tI999yj1atXZxr8s/vavZLjx49b55qdPn3a+mHopUuXqmnTpi7PR2au5+/JtYbVdGvXrlWHDh307LPPat++fXr77bdVpEgRde7c2RqT3ffgXXfdJX9/f02ZMkVlypRRnjx5FB4enulhmnZ8d8FNZuslRYBctGHDBtO6dWtTrFgx4+PjY10O/d1333W56ldqaqoZNGiQKVmypPH29jYFCxY0zz//vHW52XQ1atQw5cqVy7CerK4OJcm8/PLL1v30qyStW7fONGzY0OTJk8fkzZvXNG/e3OVSyOnryuwqi5deQe/S9Vx69SdjjNm4caNp2rSpCQkJMd7e3iYsLMw8+uijZsyYMS7jfvvtN+sS/WFhYeaNN94wn3/++TVdZfHSy+teKjuXvX/rrbdMlSpVTIECBYyvr68pUaKEee2118w///xjjUlOTjYdOnQwhQoVMg6Hw6W2s2fPmp49e5rIyEjj7e1tChcubF566SWXSw4bY8y5c+fM66+/bkJCQoyfn5958MEHzYoVK4zT6XS5QmL6lbMuv9KcMcYkJiaa9u3bm5CQEBMQEGAeeughs3Tp0gy9Sr9q3DfffOPy+KyWndnzmNuXvb+8FmMuPq89evQwRYoUMX5+fua+++4z3333nWndurWJjIy84nLTXdrPQ4cOmTZt2pjSpUubwMBAkydPHlOxYkUzbNgwl6szLl++3MTExJiAgABTqFAh06FDB7N+/fpMry62YsUK89hjjxmn02l8fX3NXXfdleEqpb169TLh4eHGw8PD5Tm7vC/GXLwq6osvvmgKFy5svLy8TGRkpOnVq5fLTySkb9el7910WV0t7VJXer6utvz0x7dr184UKVLEeHt7m0KFCplq1aq5XLXNGGO2bt1q6tata/z8/ExQUJBp3769+e9//5vhdZOWlmYGDx5sSpQoYfz8/EyVKlXMwoULM31+Tp06Zd555x1TqlQp4+PjY13G/LXXXnO5Guu1PD9bt241zz77rAkODjY+Pj6mWLFipk2bNhmec2OMqVmzpgkKCjJnzpzJ8rm73MCBA03x4sWNr6+vKVOmjPniiy8yvUT4tdT8/fffm4oVK1r1Dhw4MNNlZiary94bY8z//vc/4+Hh4XJp+e+++87UqlXL5MuXz/j6+prIyEjzzDPPuFymPl36Z7O/v3+GqxmmW7JkiXniiSdMUFCQ8fb2NkWKFDFPPPGEy2dAVp/d6Z9Rl372JyUlmQ4dOpjQ0FATGBhoGjZsaP7+++9M/+5k97WbmcjISOtqpA6Hw+TJk8eUKlXKxMXFmblz52b6mNz+e3Kl9+Xl60p/rubNm2fi4uJM/vz5jb+/v3n88cfNzp07XR57Le/BadOmmdKlSxtvb2+XdWb2+rve7y6Xf9bj1uIwJhuXsgEAN7d8+XJVr15dU6ZMua6r0wG3isWLF6tWrVpatGhRrhwCfTMdPnxYkZGR6tKliwYPHmx3OQBgKw5ZBHDbmT9/vlasWKHKlSvL399fGzdu1MCBAxUdHZ3lxU8A3Hj79+/XX3/9pY8++kgeHh569dVX7S4JAGxHIANw28mXL5/mzZun4cOH6+TJkypYsKAee+wxDRgwINd+5wrAtfvyyy/13nvvqXjx4poyZYrLlVAB4E7FIYsAAAAAYBMuew8AAAAANiGQAQAAAIBNCGQAAAAAYBMu6pGL0tLSdPDgQeXNm1cOh8PucgAAAADYxBijkydPKjw8XB4eWe8HI5DlooMHDyoiIsLuMgAAAADcIvbt26eiRYtmOZ9Alovy5s0r6eKTni9fPpurAQAAAGCXEydOKCIiwsoIWSGQ5aL0wxTz5ctHIAMAAABw1VOZuKgHAAAAANiEQAYAAAAANiGQAQAAAIBNOIcMAADgNpKamqrz58/bXQZw2/P09JSXl9d1/9wVgQwAAOA2cerUKe3fv1/GGLtLAe4IAQEBKly4sHx8fHK8DAIZAADAbSA1NVX79+9XQECAChUqdN3/ag8ga8YYpaSk6MiRI9q9e7eio6Ov+OPPV0IgAwAAuA2cP39exhgVKlRI/v7+dpcD3Pb8/f3l7e2tPXv2KCUlRX5+fjlaDhf1AAAAuI2wZwy4eXK6V8xlGblQBwAAAAAgBwhkAAAAAGATziEDAAC4jbWfsOamrm9cm/tv6vqArBQvXlzdunVTt27d7C7lithDBgAAANu0adNGDodDDodDXl5eKlasmF566SUlJibaXdptp2bNmtZzndmtePHidpeYIxMmTFD+/PkzTF+zZo06dep08wu6RuwhAwAAgK3q16+v8ePH68KFC9q6davatWun48ePa9q0aXaX5rZSUlIy/DbWzJkzlZKSIknat2+fHnjgAf3yyy8qV66cpIs/dHy1ZbiTQoUK2V1CtrCHDAAAALby9fVVWFiYihYtqnr16qlZs2aaN2+ey5jx48erTJky8vPzU+nSpfXZZ59Z82JiYvTWW2+5jD9y5Ii8vb21aNEiSRfDxZtvvqkiRYooMDBQVatW1eLFi63x6XtZ5s6dqzJlyihPnjyqX7++4uPjrTE1a9bMcPhb48aN1aZNG+v+1daTGYfDodGjR+uxxx6Tv7+/oqKi9M0337iMOXDggJo1a6YCBQooODhYTz75pP7++29rfps2bdS4cWMNGDBA4eHhKlmyZIb1BAUFKSwsTGFhYVZYCQ4Otqbdf//9+uCDD9SmTRs5nU517NhRktSzZ0+VLFlSAQEBKlGihHr37q3z589by+3bt68qVaqkSZMmqXjx4nI6nXruued08uRJa8y3336rChUqyN/fX8HBwapTp45Onz4t6eKerLp166pgwYJyOp2qUaOG1q9f71L78ePH1alTJ4WGhsrPz0/ly5fX7NmztXjxYrVt21ZJSUnWnr6+fftKunjI4vDhw61l7N27V08++aTy5MmjfPnyqWnTpjp06NA1bceNQCADAADALeOvv/7SnDlz5O3tbU374osv9Pbbb+vDDz/Utm3b1L9/f/Xu3VsTJ06UJLVs2VLTpk2TMcZ6zIwZMxQaGqoaNWpIktq2bavffvtN06dP16ZNm/Tss8+qfv362rlzp/WYM2fO6OOPP9akSZP066+/au/everRo8c11Z+d9WSmd+/eevrpp7Vx40Y9//zzat68ubZt22bVVatWLeXJk0e//vqrli1bZgXG9D1ekrRgwQJt27ZN8+fP1+zZs6+p7nQfffSRypcvr3Xr1ql3796SpLx582rChAnaunWrPvnkE33xxRcaNmyYy+N27dql7777TrNnz9bs2bO1ZMkSDRw4UJIUHx+v5s2bq127dtq2bZsWL16sJk2aWP06efKkWrduraVLl2rlypWKjo7W448/bgWhtLQ0PfbYY1q+fLkmT56srVu3auDAgfL09FS1atU0fPhw5cuXT/Hx8YqPj8+0Z8YYNW7cWMeOHdOSJUs0f/587dq1S82aNcv2dtwoHLIIAAAAW82ePVt58uRRamqqzp07J0kaOnSoNf/999/XkCFD1KRJE0lSVFSUtm7dqrFjx6p169Zq1qyZXnvtNS1btkwPP/ywJGnq1Klq0aKFPDw8tGvXLk2bNk379+9XeHi4JKlHjx6aM2eOxo8fr/79+0u6+OPaY8aM0V133SVJeuWVV/Tee+9lezuyu57MPPvss+rQoYO1vfPnz9eIESP02Wefafr06fLw8NCXX35p/c7c+PHjlT9/fi1evFj16tWTJAUGBurLL7+8rsMMH3300QyB5p133rH+v3jx4urevbtmzJihN99805qelpamCRMmKG/evJKkuLg4LViwQB9++KHi4+N14cIFNWnSRJGRkZKkChUquKzzUmPHjlWBAgW0ZMkSNWjQQL/88otWr16tbdu2WXv+SpQoYY13Op1yOBwKCwvLcrt++eUXbdq0Sbt371ZERIQkadKkSSpXrpzWrFmj+++//6rbcaMQyAAAAGCrWrVqafTo0Tpz5oy+/PJL7dixQ126dJF08dDDffv2qX379tYhdJJ04cIFOZ1OSRfPFapbt66mTJmihx9+WLt379aKFSs0evRoSdL69etljMlwGF9ycrKCg4Ot+wEBAVYYk6TChQvr8OHD2d6O7K4nMzExMRnub9iwQZK0bt06/fnnn1ZISHfu3Dnt2rXLul+hQoXrPuerSpUqGaZ9++23Gj58uP7880+dOnVKFy5cUL58+VzGFC9e3KW+S5+7e+65R7Vr11aFChUUGxurevXq6ZlnnlGBAgUkSYcPH9a7776rhQsX6tChQ0pNTdWZM2e0d+9eSdKGDRtUtGjRTA/DzK5t27YpIiLCCmOSVLZsWeXPn1/btm2zAtmVtuNGIZABAADAVoGBgbr77rslSZ9++qlq1aqlfv366f3331daWpqki4ctVq1a1eVxl16EomXLlnr11Vc1YsQITZ06VeXKldM999wj6eJeD09PT61bty7DhSvy5Mlj/f+lh0lKF8/tuvQwSA8PD5f7klzOpcruerIrfW9YWlqaKleurClTpmQYc+mFKwIDA695HZe7fBkrV67Uc889p379+ik2NlZOp1PTp0/XkCFDXMZl9tyl987T01Pz58/X8uXLNW/ePI0YMUJvv/22Vq1apaioKLVp00ZHjhzR8OHDFRkZKV9fX8XExFiHY/r7+1/3dhljrOfzStOvtB03CueQAQAA4JbSp08fffzxxzp48KBCQ0NVpEgR/fXXX7r77rtdblFRUdZjGjdurHPnzmnOnDmaOnWqnn/+eWvevffeq9TUVB0+fDjDMq50mNvlChUq5HKRj9TUVG3evDlX1rNy5coM90uXLi1Juu+++7Rz506FhIRkWG76XsIb5bffflNkZKTefvttValSRdHR0dqzZ881L8fhcKh69erq16+ffv/9d/n4+GjWrFmSpKVLl6pr1656/PHHVa5cOfn6+uqff/6xHluxYkXt379fO3bsyHTZPj4+Sk1NveL6y5Ytq71792rfvn3WtK1btyopKUllypS55u3JTQQyAAAA3FJq1qypcuXKWedc9e3bVwMGDNAnn3yiHTt26H//+5/Gjx/vcp5ZYGCgnnzySfXu3Vvbtm1TixYtrHklS5ZUy5Yt1apVK82cOVO7d+/WmjVrNGjQIP3000/ZruvRRx/Vjz/+qB9//FF//PGHOnfurOPHj+fKer755ht99dVX2rFjh/r06aPVq1frlVdekXRx71/BggX15JNPaunSpdq9e7eWLFmiV199Vfv37892/Tlx9913a+/evZo+fbp27dqlTz/91ApS2bVq1Sr1799fa9eu1d69ezVz5kwdOXLECkJ33323Jk2apG3btmnVqlVq2bKly16xGjVq6JFHHtHTTz+t+fPna/fu3fr55581Z84cSRcPMzx16pQWLFigf/75R2fOnMlQQ506dVSxYkW1bNlS69ev1+rVq9WqVSvVqFEj08M0bypjoyVLlpgGDRqYwoULG0lm1qxZ1ryUlBTz5ptvmvLly5uAgABTuHBhExcXZw4cOOCyjHPnzplXXnnFBAcHm4CAANOwYUOzb98+lzHHjh0zzz//vMmXL5/Jly+fef75501iYqLLmD179pgGDRqYgIAAExwcbLp06WKSk5OvaXuSkpKMJJOUlHRNjwMAALheZ8+eNVu3bjVnz561u5Rr0rp1a/Pkk09mmD5lyhTj4+Nj9u7da92vVKmS8fHxMQUKFDCPPPKImTlzpstjfvzxRyPJPPLIIxmWl5KSYt59911TvHhx4+3tbcLCwsxTTz1lNm3aZIwxZvz48cbpdLo8ZtasWebSr8spKSnmpZdeMkFBQSYkJMQMGDDAPPnkk6Z169bZXk9mJJlRo0aZunXrGl9fXxMZGWmmTZvmMiY+Pt60atXKFCxY0Pj6+poSJUqYjh07Wt87s3oes7J7924jyfz+++/WtMjISDNs2LAMY9944w0THBxs8uTJY5o1a2aGDRvm8lz16dPH3HPPPS6PGTZsmImMjDTGGLN161YTGxtrChUqZHx9fU3JkiXNiBEjrLHr1683VapUMb6+viY6Otp88803GWo5evSoadu2rQkODjZ+fn6mfPnyZvbs2db8F1980QQHBxtJpk+fPpluz549e0yjRo1MYGCgyZs3r3n22WdNQkJCtrcjM1d632U3GziMuexA2Jvo559/1m+//ab77rtPTz/9tGbNmqXGjRtLkpKSkvTMM8+oY8eOuueee5SYmKhu3brpwoULWrt2rbWMl156ST/88IMmTJig4OBgde/eXceOHXM5dvexxx7T/v379fnnn0uSOnXqpOLFi+uHH36QdHF3c6VKlVSoUCENGTJER48eVevWrdWkSRONGDEi29tz4sQJOZ1OJSUlZTjREQAA4EY6d+6cdu/eraioKPn5+dldDq6Bw+Fw+R4M93Gl9112s4GtF/V47LHH9Nhjj2U6z+l0av78+S7TRowYoQceeEB79+5VsWLFlJSUpHHjxmnSpEmqU6eOJGny5MmKiIjQL7/8otjYWG3btk1z5szRypUrrRNBv/jiC8XExGj79u0qVaqU5s2bp61bt2rfvn3WJUqHDBmiNm3a6MMPPyRcAQAAALgh3OocsvRf4M6fP7+ki5cAPX/+vPXbC5IUHh6u8uXLa/ny5ZKkFStWyOl0ulyV58EHH5TT6XQZU758eSuMSVJsbKySk5O1bt26LOtJTk7WiRMnXG4AAAAAkF1uc9n7c+fO6a233lKLFi2sPVYJCQny8fGxfsMgXWhoqBISEqwxISEhGZYXEhLiMiY0NNRlfoECBeTj42ONycyAAQPUr1+/69ouAAAA3NlsPIMItwC32EN2/vx5Pffcc0pLS9Nnn3121fHmst8TyM5vDmRnzOV69eqlpKQk63bpZTQBAAAA4Gpu+UB2/vx5NW3aVLt379b8+fNdzucKCwtTSkqKEhMTXR5z+PBha49XWFiYDh06lGG5R44ccRlz+Z6wxMREnT9/PsOes0v5+voqX758LjcAAAAAyK5bOpClh7GdO3fql19+UXBwsMv8ypUry9vb2+XiH/Hx8dq8ebOqVasmSYqJiVFSUpJWr15tjVm1apWSkpJcxmzevNnlh/7mzZsnX19fVa5c+UZuIgAAAIA7mK3nkJ06dUp//vmndX/37t3asGGDgoKCFB4ermeeeUbr16/X7NmzlZqaau3FCgoKko+Pj5xOp9q3b6/u3bsrODhYQUFB6tGjhypUqGBddbFMmTKqX7++OnbsqLFjx0q6eNn7Bg0aqFSpUpKkevXqqWzZsoqLi9NHH32kY8eOqUePHurYsSN7vQAAAADcMLYGsrVr16pWrVrW/ddff12S1Lp1a/Xt21fff/+9JKlSpUouj1u0aJFq1qwpSRo2bJi8vLzUtGlTnT17VrVr19aECROs3yCTpClTpqhr167W1RgbNWqkkSNHWvM9PT31448/qnPnzqpevbr8/f3VokULffzxxzdiswEAAABAkmTrD0PfbvhhaAAAYBd+GBq4+dz+h6EBAABwY7WfsOamrm9cm/tv6vrcxd9//62oqCj9/vvvGY7+wp3tlr6oBwAAAG5fDofjirc2bdrYXWKOtGnTRo0bN3aZFhERofj4eJUvX96eonDLYg8ZAAAAbHHpFa5nzJihd999V9u3b7em+fv7u4w/f/68vL29b1p9ucnT01NhYWF2l4FbEHvIAAAAYIuwsDDr5nQ65XA4rPvnzp1T/vz59fXXX6tmzZry8/PT5MmTdfToUTVv3lxFixZVQECAKlSooGnTprkst2bNmuratavefPNNBQUFKSwsTH379nUZ07dvXxUrVky+vr4KDw9X165drXmTJ09WlSpVlDdvXoWFhalFixY6fPiwy+O3bNmiJ554Qvny5VPevHn18MMPa9euXerbt68mTpyo//73v9aevsWLF+vvv/+Ww+HQhg0brGUsWbJEDzzwgHx9fVW4cGG99dZbunDhQq5tB9wDgQwAAAC3rJ49e6pr167atm2bYmNjde7cOVWuXFmzZ8/W5s2b1alTJ8XFxWnVqlUuj5s4caICAwO1atUqDR48WO+9957127Xffvuthg0bprFjx2rnzp367rvvVKFCBeuxKSkpev/997Vx40Z999132r17t8vhkwcOHNAjjzwiPz8/LVy4UOvWrVO7du104cIF9ejRQ02bNlX9+vUVHx+v+Ph467dvL3XgwAE9/vjjuv/++7Vx40aNHj1a48aN0wcffJBr2wH3wCGLAAAAuGV169ZNTZo0cZnWo0cP6/+7dOmiOXPm6JtvvlHVqlWt6RUrVlSfPn0kSdHR0Ro5cqQWLFigunXrau/evQoLC1OdOnXk7e2tYsWK6YEHHrAe265dO+v/S5QooU8//VQPPPCATp06pTx58mjUqFFyOp2aPn26dQhlyZIlrcf4+/srOTn5iocofvbZZ4qIiNDIkSPlcDhUunRpHTx4UD179tS7774rDw+P694OuAf2kAEAAOCWVaVKFZf7qamp+vDDD1WxYkUFBwcrT548mjdvnvbu3esyrmLFii73CxcubB12+Oyzz+rs2bMqUaKEOnbsqFmzZrkcKvj777/rySefVGRkpPLmzWv9/m36OjZs2KCHH374us5n27Ztm2JiYuRwOKxp1atX16lTp7R///5c2Q64BwIZAAAAblmBgYEu94cMGaJhw4bpzTff1MKFC7VhwwbFxsYqJSXFZdzlYcnhcCgtLU3SxSsebt++XaNGjZK/v786d+6sRx55ROfPn9fp06dVr1495cmTR5MnT9aaNWs0a9YsSbLWcfnFRnLCGOMSxtKnpdd6vdsB98EhiwAAAHAbS5cu1ZNPPqnnn39ekpSWlqadO3eqTJky17Qcf39/NWrUSI0aNdLLL7+s0qVL63//+5+MMfrnn380cOBARURESJLWrl3r8tiKFStq4sSJWV710cfHR6mpqVdcf9myZfWf//zHJZgtX75cefPmVZEiRa57O+67775sLwP2Yg8ZAAAA3Mbdd9+t+fPna/ny5dq2bZteeOEFJSQkXNMyJkyYoHHjxmnz5s3666+/NGnSJPn7+ysyMlLFihWTj4+PRowYob/++kvff/+93n//fZfHv/LKKzpx4oSee+45rV27Vjt37tSkSZOsS/YXL15cmzZt0vbt2/XPP/9kuseqc+fO2rdvn7p06aI//vhD//3vf9WnTx+9/vrr1vlj17MdcB/sIQMAALiNjWtzv90l5KrevXtr9+7dio2NVUBAgDp16qTGjRsrKSkp28vInz+/Bg4cqNdff12pqamqUKGCfvjhBwUHB0u6GHT+9a9/6dNPP9V9992njz/+WI0aNbIeHxwcrIULF+qNN95QjRo15OnpqUqVKql69eqSpI4dO2rx4sWqUqWKTp06pUWLFql48eIu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4sX2FIhM0Tf3Re/cF71zX3xPcU+857LGHjJkULlyZa1fvz7LDzpfX18VK1bsJleF7BgxYoTq1aunkJAQ1ahRw+VHvX/99Vf5+vryQ6e3IPrmvuid+6J37ovvKe6J91zW2EOGDJKTk5WamqqAgAC7S0EOnDx5UpMnT870R71btGihfPny2VwhMkPf3Be9c1/0zj3xPcV98Z7LHIEMAAAAAGzC75AhW5544gnFx8fbXQZygN65J/rmvuid+6J37oveuSf6dhGBDNny66+/6uzZs3aXgRygd+6Jvrkveue+6J37onfuib5dRCADAAAAAJsQyJAtkZGR8vb2trsM5AC9c0/0zX3RO/dF79wXvXNP9O0iLuoBAAAAADbhd8iQpZ07d2r58uVKSEiQw+FQaGioqlWrpujoaLtLw1XQO/dE39wXvXNf9M590Tv3RN8yIpAhg6SkJLVq1Uo//PCDnE6nQkJCZIzRkSNHdOLECTVs2FD//ve/79jfiriV0Tv3RN/cF71zX/TOfdE790TfssY5ZMigS5cu2r17t1asWKHExERt375dO3bsUGJiopYvX67du3erS5cudpeJTNA790Tf3Be9c1/0zn3RO/dE37LGOWTIIH/+/Jo7d66qVq2a6fyVK1eqfv36On78+M0tDFdF79wTfXNf9M590Tv3Re/cE33LGnvIkCmHw5GjebAfvXNP9M190Tv3Re/cF71zT/QtcwQyZNCwYUN17NhRa9euzTBv7dq1evHFF9WoUSMbKsPV0Dv3RN/cF71zX/TOfdE790TfssYhi8jg+PHjat68uebOnav8+fMrJCREDodDhw4dUlJSkmJjYzV16lTlz5/f7lJxGXrnnuib+6J37oveuS96557oW9YIZMjSH3/8oRUrVighIUGSFBYWppiYGJUuXdrmynA19M490Tf3Re/cF71zX/TOPdG3jAhkAAAAAGATziFDltLS0rKcvnfv3ptcDa4FvXNP9M190Tv3Re/cF71zT/QtIwIZMjhx4oSaNm2qwMBAhYaGqk+fPkpNTbXmHzlyRFFRUTZWiKzQO/dE39wXvXNf9M590Tv3RN+y5mV3Abj19O7dWxs3btSkSZN0/PhxffDBB1q3bp1mzpwpHx8fSRJHut6a6J17om/ui965L3rnvuide6JvWeMcMmQQGRmpiRMnqmbNmpKko0eP6oknnpDT6dT333+v48ePKzw83OVfNXBroHfuib65L3rnvuid+6J37om+ZY1DFpHBP//8o8jISOt+cHCw5s+fr5MnT+rxxx/XmTNnbKwOV0Lv3BN9c1/0zn3RO/dF79wTfcsagQwZREREaNu2bS7T8ubNq3nz5uns2bN66qmnbKoMV0Pv3BN9c1/0zn3RO/dF79wTfcsagQwZ1KtXT+PHj88wPU+ePJo7d678/PxsqArZQe/cE31zX/TOfdE790Xv3BN9yxrnkCGDxMREHTx4UOXKlct0/qlTp7Ru3TrVqFHjJleGq6F37om+uS96577onfuid+6JvmWNQAYAAAAANuGy98jU6dOnNXXqVC1fvlwJCQlyOBwKDQ1V9erV1bx5cwUGBtpdIrJA79wTfXNf9M590Tv3Re/cE33LHHvIkMHWrVtVt25dnTlzRjVq1FBoaKiMMTp8+LCWLFmiwMBAzZs3T2XLlrW7VFyG3rkn+ua+6J37onfui965J/qWNQIZMqhVq5bCwsI0ceJE64f60qWkpKhNmzaKj4/XokWLbKoQWaF37om+uS96577onfuid+6JvmWNQIYMAgICtHbt2iz/hWLz5s164IEH7ujfi7hV0Tv3RN/cF71zX/TOfdE790TfssZl75FBgQIFtHPnzizn//nnnypQoMBNrAjZRe/cE31zX/TOfdE790Xv3BN9yxoX9UAGHTt2VOvWrfXOO++obt26Cg0NlcPhUEJCgubPn6/+/furW7dudpeJTNA790Tf3Be9c1/0zn3RO/dE367AAJkYOHCgKVy4sHE4HMbDw8N4eHgYh8NhChcubAYNGmR3ebgCeuee6Jv7onfui965L3rnnuhb5jiHDFe0e/duJSQkSJLCwsIUFRVlc0XILnrnnuib+6J37oveuS96557omysCGQAAAADYhIt6IFNnz57VsmXLtHXr1gzzzp07p3//+982VIXsoHfuib65L3rnvuid+6J37om+ZcHeIyZxK9q+fbuJjIy0ju+tUaOGOXjwoDU/ISHBeHh42FghskLv3BN9c1/0zn3RO/dF79wTfcsae8iQQc+ePVWhQgUdPnxY27dvV758+VS9enXt3bvX7tJwFfTOPdE390Xv3Be9c1/0zj3RtyuwOxHi1hMSEmI2bdrkMq1z586mWLFiZteuXXf0v2Dc6uide6Jv7oveuS96577onXuib1njd8iQwdmzZ+Xl5frSGDVqlDw8PFSjRg1NnTrVpspwNfTOPdE390Xv3Be9c1/0zj3Rt6wRyJBB6dKltXbtWpUpU8Zl+ogRI2SMUaNGjWyqDFdD79wTfXNf9M590Tv3Re/cE33LGueQIYOnnnpK06ZNy3TeyJEj1bx5cxl+LeGWRO/cE31zX/TOfdE790Xv3BN9yxq/QwYAAAAANmEPGQAAAADYhEAGAAAAADYhkAEAAACATQhkAAAAAGATAhkAALmkZs2a6tatm91lAADcCIEMAABJDRs2VJ06dTKdt2LFCjkcDq1fv/4mVwUAuN0RyAAAkNS+fXstXLhQe/bsyTDvq6++UqVKlXTffffZUBkA4HZGIAMAQFKDBg0UEhKiCRMmuEw/c+aMZsyYocaNG6t58+YqWrSoAgICVKFChSx/5DSdw+HQd9995zItf/78Lus4cOCAmjVrpgIFCig4OFhPPvmk/v7779zZKADALY9ABgCAJC8vL7Vq1UoTJkyQMcaa/s033yglJUUdOnRQ5cqVNXv2bG3evFmdOnVSXFycVq1aleN1njlzRrVq1VKePHn066+/atmyZcqTJ4/q16+vlJSU3NgsAMAtjkAGAMD/adeunf7++28tXrzYmvbVV1+pSZMmKlKkiHr06KFKlSqpRIkS6tKli2JjY/XNN9/keH3Tp0+Xh4eHvvzyS1WoUEFlypTR+PHjtXfvXpcaAAC3Ly+7CwAA4FZRunRpVatWTV999ZVq1aqlXbt2aenSpZo3b55SU1M1cOBAzZgxQwcOHFBycrKSk5MVGBiY4/WtW7dOf/75p/Lmzesy/dy5c9q1a9f1bg4AwA0QyAAAuET79u31yiuvaNSoURo/frwiIyNVu3ZtffTRRxo2bJiGDx+uChUqKDAwUN26dbvioYUOh8Pl8EdJOn/+vPX/aWlpqly5sqZMmZLhsYUKFcq9jQIA3LIIZAAAXKJp06Z69dVXNXXqVE2cOFEdO3aUw+HQ0qVL9eSTT+r555+XdDFM7dy5U2XKlMlyWYUKFVJ8fLx1f+fOnTpz5ox1/7777tOMGTMUEhKifPny3biNAgDcsjiHDACAS+TJk0fNmjXTv/71Lx08eFBt2rSRJN19992aP3++li9frm3btumFF15QQkLCFZf16KOPauTIkVq/fr3Wrl2rF198Ud7e3tb8li1bqmDBgnryySe1dOlS7d69W0uWLNGrr76q/fv338jNBADcIghkAABcpn379kpMTFSdOnVUrFgxSVLv3r113333KTY2VjVr1lRYWJgaN258xeUMGTJEEREReuSRR9SiRQv16NFDAQEB1vyAgAD9+uuvKlasmJo0aaIyZcqoXbt2Onv2LHvMAOAO4TCXH9wOAAAAALgp2EMGAAAAADYhkAEAAACATQhkAAAAAGATAhkAAAAA2IRABgAAAAA2IZABAAAAgE0IZAAAAABgEwIZAAAAANiEQAYAAAAANiGQAQAAAIBNCGQAAAAAYJP/B5Z3X6vBiRKMAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "merged_df['transaction_month'].value_counts().plot(kind='bar', alpha=0.7, label='Transactions')\n", + "\n", + "plt.hist(merged_df['amount'], bins=30, alpha=0.7, label='Revenue per Transaction')\n", + "\n", + "plt.title('Combined Histogram: Transaction Frequency and Revenue Distribution')\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "951c4497", + "metadata": {}, + "source": [ + "## 5. Cohort Analysis and deliveries:\n", + "\n", + "Observations\n", + "\n", + "**Dominance of the 2020-10 Cohort:**\n", + "\n", + "- The 2020-10 cohort has the highest transaction frequency by far, with over 9,000 transactions. This aligns with previous analyses showing newer cohorts perform better.\n", + "\n", + "- This could indicate a successful marketing campaign, increased onboarding efforts, or seasonal demand during this period.\n", + " \n", + "**Decline in Transactions for Earlier Cohorts:**\n", + "\n", + "- Older cohorts, such as 2020-06 and 2020-07, have significantly fewer transactions. This drop might be due to lower retention rates or reduced engagement over time.\n", + " \n", + "**Revenue per Transaction Remains Consistent:**\n", + "\n", + "- While transaction frequency fluctuates, the bars for revenue per transaction are fairly consistent across cohorts. This suggests that the average revenue per transaction does not depend heavily on cohort age.\n", + " \n", + "**Outliers (2020-10):**\n", + " \n", + "- The 2020-10 cohort not only has the most transactions but also displays a wider spread of revenue per transaction (as seen in earlier box plots). This could indicate diverse customer behavior, with both low- and high-value transactions occurring in this cohort.\n", + "\n", + "**Questions**\n", + "\n", + "**Frequency of Service Usage: Understand how often users from each cohort utilize IronHack Payments' cash advance services over time.**\n", + "\n", + "The frequency of transactions generally decreases over time for earlier cohorts (e.g., 2020-06 and 2020-07). This suggests weaker long-term engagement or a natural drop-off in service usage. Newer cohorts (2020-09 and 2020-10) exhibit stronger engagement in their first and second months, with transaction counts significantly higher than earlier cohorts.\n", + " \n", + "**Incident Rate: Determine the incident rate, specifically focusing on payment incidents, for each cohort. Identify if there are variations in incident rates among different cohorts.**\n", + "\n", + "Earlier cohorts (2020-06) have a higher incident rate, possibly due to operational inefficiencies or lack of proper user education in the early days of the service. Newer cohorts (2020-09 and 2020-10) show a lower incident rate, indicating improvements in processes or better customer targeting.\n", + " \n", + "**Revenue Generated by the Cohort: Calculate the total revenue generated by each cohort over months to assess the financial impact of user behavior.**\n", + "\n", + "Later cohorts (2020-09 and 2020-10) generate significantly higher revenue compared to earlier ones. This indicates either higher transaction sizes or increased activity from high-value users. Revenue increases sharply for newer cohorts indicating better customer targeting.\n", + "\n", + "**New Relevant Metric: Propose and calculate a new relevant metric that provides additional insights into user behavior or the performance of IronHack Payments' services.**\n", + "\n", + "Would be necessary the implementation of the average revenue per user. This metric provides insight into the average revenue generated per active user within each cohort. \n", + "Develop personalized offers or incentives for high-value users to sustain engagement and spending. \n", + "Create retention strategies." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20d82bc2-276e-45c7-bcee-194ed06f89be", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Cohort_Analysis_Ironhack_Project.ipynb b/Cohort_Analysis_Ironhack_Project.ipynb new file mode 100644 index 0000000..c9f695c --- /dev/null +++ b/Cohort_Analysis_Ironhack_Project.ipynb @@ -0,0 +1,2618 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "45a33a0d", + "metadata": {}, + "source": [ + "# Cohort Analysis for Ironhack Payments" + ] + }, + { + "cell_type": "markdown", + "id": "c510412d", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "### Business Context:\n", + "IronHack Payments offers innovative cash advance solutions since 2020. This project aims to perform a cohort analysis to understand user behavior and the performance of their financial services.\n", + "\n", + "### Deliverables:\n", + "- Python Code (Jupyter Notebook)\n", + "- Exploratory Data Analysis Report\n", + "- Data Quality Analysis Report\n", + "- Short Presentation" + ] + }, + { + "cell_type": "code", + "execution_count": 445, + "id": "a5399ab2-aef1-4fd5-8fcc-840a44da4edb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "3 10 99.0 rejected 2019-12-10 19:16:10.880172+00 \n", + "4 1594 100.0 rejected 2020-05-06 09:59:38.877376+00 \n", + "\n", + " updated_at user_id moderated_at \\\n", + "0 2019-12-11 16:47:42.40783+00 804.0 2019-12-11 16:47:42.405646+00 \n", + "1 2019-12-11 14:24:22.900054+00 231.0 2019-12-11 14:24:22.897988+00 \n", + "2 2019-12-11 09:46:59.779773+00 191.0 2019-12-11 09:46:59.777728+00 \n", + "3 2019-12-18 14:26:18.136163+00 761.0 2019-12-18 14:26:18.128407+00 \n", + "4 2020-05-07 09:21:55.34008+00 7686.0 2020-05-07 09:21:55.320193+00 \n", + "\n", + " deleted_account_id reimbursement_date \\\n", + "0 NaN 2020-01-09 19:05:21.596363+00 \n", + "1 NaN 2020-01-09 19:50:12.34778+00 \n", + "2 NaN 2020-01-09 19:13:35.825041+00 \n", + "3 NaN 2020-01-09 19:16:10.879606+00 \n", + "4 NaN 2020-06-05 22:00:00+00 \n", + "\n", + " cash_request_received_date money_back_date transfer_type send_at \\\n", + "0 NaN NaN regular NaN \n", + "1 NaN NaN regular NaN \n", + "2 NaN NaN regular NaN \n", + "3 NaN NaN regular NaN \n", + "4 NaN NaN regular NaN \n", + "\n", + " recovery_status reco_creation reco_last_update \n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + " id cash_request_id type status category \\\n", + "0 6537 14941.0 instant_payment rejected NaN \n", + "1 6961 11714.0 incident accepted rejected_direct_debit \n", + "2 16296 23371.0 instant_payment accepted NaN \n", + "3 20775 26772.0 instant_payment accepted NaN \n", + "4 11242 19350.0 instant_payment accepted NaN \n", + "\n", + " total_amount reason \\\n", + "0 5.0 Instant Payment Cash Request 14941 \n", + "1 5.0 rejected direct debit \n", + "2 5.0 Instant Payment Cash Request 23371 \n", + "3 5.0 Instant Payment Cash Request 26772 \n", + "4 5.0 Instant Payment Cash Request 19350 \n", + "\n", + " created_at updated_at \\\n", + "0 2020-09-07 10:47:27.42315+00 2020-10-13 14:25:09.396112+00 \n", + "1 2020-09-09 20:51:17.998653+00 2020-10-13 14:25:15.537063+00 \n", + "2 2020-10-23 10:10:58.352972+00 2020-10-23 10:10:58.352994+00 \n", + "3 2020-10-31 15:46:53.643958+00 2020-10-31 15:46:53.643982+00 \n", + "4 2020-10-06 08:20:17.170432+00 2020-10-13 14:25:03.267983+00 \n", + "\n", + " paid_at from_date to_date charge_moment \n", + "0 2020-12-17 14:50:07.47011+00 NaN NaN after \n", + "1 2020-12-08 17:13:10.45908+00 NaN NaN after \n", + "2 2020-11-04 19:34:37.43291+00 NaN NaN after \n", + "3 2020-11-19 05:09:22.500223+00 NaN NaN after \n", + "4 2020-11-02 14:45:20.355598+00 NaN NaN after \n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "data_cash = pd.read_csv('./datasets/cash_data_analyst.csv')\n", + "data_fees = pd.read_csv('./datasets/fees_data_analyst.csv')\n", + "lexicon_data = pd.read_excel('./datasets/Lexique_Data_Analyst.xlsx')\n", + "\n", + "dff = data_fees.copy()\n", + "\n", + "dfc = data_cash.copy()\n", + "\n", + "print(data_cash_request.head(5))\n", + "\n", + "print(data_fees.head(5))\n" + ] + }, + { + "cell_type": "markdown", + "id": "84558474-1341-4784-9dc8-ccb0652683ad", + "metadata": {}, + "source": [ + "## 2. Data Loading\n", + "- Extracting and briefly describing each dataset and its columns." + ] + }, + { + "cell_type": "code", + "execution_count": 447, + "id": "73cbbab6-a168-493a-a5b7-bdc53f795f2d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 21061 entries, 0 to 21060\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 id 21061 non-null int64 \n", + " 1 cash_request_id 21057 non-null float64\n", + " 2 type 21061 non-null object \n", + " 3 status 21061 non-null object \n", + " 4 category 2196 non-null object \n", + " 5 total_amount 21061 non-null float64\n", + " 6 reason 21061 non-null object \n", + " 7 created_at 21061 non-null object \n", + " 8 updated_at 21061 non-null object \n", + " 9 paid_at 15531 non-null object \n", + " 10 from_date 7766 non-null object \n", + " 11 to_date 7766 non-null object \n", + " 12 charge_moment 21061 non-null object \n", + "dtypes: float64(2), int64(1), object(10)\n", + "memory usage: 2.1+ MB\n" + ] + } + ], + "source": [ + "dff.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 448, + "id": "8700a78d-7163-4c56-a401-f2cf1b296e64", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 23970 entries, 0 to 23969\n", + "Data columns (total 16 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 id 23970 non-null int64 \n", + " 1 amount 23970 non-null float64\n", + " 2 status 23970 non-null object \n", + " 3 created_at 23970 non-null object \n", + " 4 updated_at 23970 non-null object \n", + " 5 user_id 21867 non-null float64\n", + " 6 moderated_at 16035 non-null object \n", + " 7 deleted_account_id 2104 non-null float64\n", + " 8 reimbursement_date 23970 non-null object \n", + " 9 cash_request_received_date 16289 non-null object \n", + " 10 money_back_date 16543 non-null object \n", + " 11 transfer_type 23970 non-null object \n", + " 12 send_at 16641 non-null object \n", + " 13 recovery_status 3330 non-null object \n", + " 14 reco_creation 3330 non-null object \n", + " 15 reco_last_update 3330 non-null object \n", + "dtypes: float64(3), int64(1), object(12)\n", + "memory usage: 2.9+ MB\n" + ] + } + ], + "source": [ + "dfc.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 449, + "id": "5913ab9b-f9eb-45ec-af8c-799902ef5c53", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtotal_amount
count21061.00000021057.00000021061.000000
mean10645.35511116318.4491625.000237
std6099.3152566656.1499490.034453
min1.0000001456.0000005.000000
25%5385.00000011745.0000005.000000
50%10652.00000017160.0000005.000000
75%15925.00000021796.0000005.000000
max21193.00000027010.00000010.000000
\n", + "
" + ], + "text/plain": [ + " id cash_request_id total_amount\n", + "count 21061.000000 21057.000000 21061.000000\n", + "mean 10645.355111 16318.449162 5.000237\n", + "std 6099.315256 6656.149949 0.034453\n", + "min 1.000000 1456.000000 5.000000\n", + "25% 5385.000000 11745.000000 5.000000\n", + "50% 10652.000000 17160.000000 5.000000\n", + "75% 15925.000000 21796.000000 5.000000\n", + "max 21193.000000 27010.000000 10.000000" + ] + }, + "execution_count": 449, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 450, + "id": "e139d5b1-5d71-4856-b056-955f5ccd7937", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountuser_iddeleted_account_id
count23970.00000023970.00000021867.0000002104.000000
mean13910.96612482.72081832581.2507899658.755228
std7788.11721426.52806527618.5657737972.743249
min3.0000001.00000034.00000091.000000
25%7427.25000050.00000010804.0000003767.000000
50%14270.500000100.00000023773.0000006121.500000
75%20607.750000100.00000046965.00000016345.000000
max27010.000000200.000000103719.00000030445.000000
\n", + "
" + ], + "text/plain": [ + " id amount user_id deleted_account_id\n", + "count 23970.000000 23970.000000 21867.000000 2104.000000\n", + "mean 13910.966124 82.720818 32581.250789 9658.755228\n", + "std 7788.117214 26.528065 27618.565773 7972.743249\n", + "min 3.000000 1.000000 34.000000 91.000000\n", + "25% 7427.250000 50.000000 10804.000000 3767.000000\n", + "50% 14270.500000 100.000000 23773.000000 6121.500000\n", + "75% 20607.750000 100.000000 46965.000000 16345.000000\n", + "max 27010.000000 200.000000 103719.000000 30445.000000" + ] + }, + "execution_count": 450, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 451, + "id": "1a8834e1-4a88-4b18-aabe-5860d15145b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21061, 13)" + ] + }, + "execution_count": 451, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 452, + "id": "732ced3d-e151-48a8-924c-e22a746a8037", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(23970, 16)" + ] + }, + "execution_count": 452, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 453, + "id": "f9b1096e-91e1-44a4-9ff3-b82c34c46a16", + "metadata": {}, + "outputs": [], + "source": [ + "n_rows = dff.shape[0]\n", + "n_columns = dff.shape[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 454, + "id": "dd020183-83b8-4d12-ba49-19ee4b4fb38b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypestatuscategorytotal_amountreasoncreated_atupdated_atpaid_atfrom_dateto_datecharge_moment
0653714941.0instant_paymentrejectedNaN5.0Instant Payment Cash Request 149412020-09-07 10:47:27.42315+002020-10-13 14:25:09.396112+002020-12-17 14:50:07.47011+00NaNNaNafter
1696111714.0incidentacceptedrejected_direct_debit5.0rejected direct debit2020-09-09 20:51:17.998653+002020-10-13 14:25:15.537063+002020-12-08 17:13:10.45908+00NaNNaNafter
21629623371.0instant_paymentacceptedNaN5.0Instant Payment Cash Request 233712020-10-23 10:10:58.352972+002020-10-23 10:10:58.352994+002020-11-04 19:34:37.43291+00NaNNaNafter
\n", + "
" + ], + "text/plain": [ + " id cash_request_id type status category \\\n", + "0 6537 14941.0 instant_payment rejected NaN \n", + "1 6961 11714.0 incident accepted rejected_direct_debit \n", + "2 16296 23371.0 instant_payment accepted NaN \n", + "\n", + " total_amount reason \\\n", + "0 5.0 Instant Payment Cash Request 14941 \n", + "1 5.0 rejected direct debit \n", + "2 5.0 Instant Payment Cash Request 23371 \n", + "\n", + " created_at updated_at \\\n", + "0 2020-09-07 10:47:27.42315+00 2020-10-13 14:25:09.396112+00 \n", + "1 2020-09-09 20:51:17.998653+00 2020-10-13 14:25:15.537063+00 \n", + "2 2020-10-23 10:10:58.352972+00 2020-10-23 10:10:58.352994+00 \n", + "\n", + " paid_at from_date to_date charge_moment \n", + "0 2020-12-17 14:50:07.47011+00 NaN NaN after \n", + "1 2020-12-08 17:13:10.45908+00 NaN NaN after \n", + "2 2020-11-04 19:34:37.43291+00 NaN NaN after " + ] + }, + "execution_count": 454, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 455, + "id": "61d26458-ef95-4164-86b0-74f138f3832c", + "metadata": {}, + "outputs": [], + "source": [ + "n_rows = dfc.shape[0]\n", + "n_columns = dfc.shape[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 456, + "id": "5d39411b-ceb9-4506-a060-8127e9c4914b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountstatuscreated_atupdated_atuser_idmoderated_atdeleted_account_idreimbursement_datecash_request_received_datemoney_back_datetransfer_typesend_atrecovery_statusreco_creationreco_last_update
05100.0rejected2019-12-10 19:05:21.596873+002019-12-11 16:47:42.40783+00804.02019-12-11 16:47:42.405646+00NaN2020-01-09 19:05:21.596363+00NaNNaNregularNaNNaNNaNNaN
170100.0rejected2019-12-10 19:50:12.34778+002019-12-11 14:24:22.900054+00231.02019-12-11 14:24:22.897988+00NaN2020-01-09 19:50:12.34778+00NaNNaNregularNaNNaNNaNNaN
27100.0rejected2019-12-10 19:13:35.82546+002019-12-11 09:46:59.779773+00191.02019-12-11 09:46:59.777728+00NaN2020-01-09 19:13:35.825041+00NaNNaNregularNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "\n", + " updated_at user_id moderated_at \\\n", + "0 2019-12-11 16:47:42.40783+00 804.0 2019-12-11 16:47:42.405646+00 \n", + "1 2019-12-11 14:24:22.900054+00 231.0 2019-12-11 14:24:22.897988+00 \n", + "2 2019-12-11 09:46:59.779773+00 191.0 2019-12-11 09:46:59.777728+00 \n", + "\n", + " deleted_account_id reimbursement_date \\\n", + "0 NaN 2020-01-09 19:05:21.596363+00 \n", + "1 NaN 2020-01-09 19:50:12.34778+00 \n", + "2 NaN 2020-01-09 19:13:35.825041+00 \n", + "\n", + " cash_request_received_date money_back_date transfer_type send_at \\\n", + "0 NaN NaN regular NaN \n", + "1 NaN NaN regular NaN \n", + "2 NaN NaN regular NaN \n", + "\n", + " recovery_status reco_creation reco_last_update \n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN " + ] + }, + "execution_count": 456, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.head(3)" + ] + }, + { + "cell_type": "markdown", + "id": "56307a51-2ca9-4902-a465-64f6410b9552", + "metadata": {}, + "source": [ + "**Similarities: id, status, created at, updated at**" + ] + }, + { + "cell_type": "code", + "execution_count": 458, + "id": "2ef52422-69d6-4cfe-9a41-a1722f830625", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['id', 'cash_request_id', 'type', 'status', 'category', 'total_amount',\n", + " 'reason', 'created_at', 'updated_at', 'paid_at', 'from_date', 'to_date',\n", + " 'charge_moment'],\n", + " dtype='object')" + ] + }, + "execution_count": 458, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 459, + "id": "26072eb5-3cb3-47b4-b7f9-61497f9c5c58", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['id', 'amount', 'status', 'created_at', 'updated_at', 'user_id',\n", + " 'moderated_at', 'deleted_account_id', 'reimbursement_date',\n", + " 'cash_request_received_date', 'money_back_date', 'transfer_type',\n", + " 'send_at', 'recovery_status', 'reco_creation', 'reco_last_update'],\n", + " dtype='object')" + ] + }, + "execution_count": 459, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.columns" + ] + }, + { + "cell_type": "markdown", + "id": "325fa04e", + "metadata": {}, + "source": [ + "## 3. Data Quality Analysis\n", + "- Checking for missing values.\n", + "- Identifying duplicates and inconsistencies.\n", + "- Validate data types.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "7c051690-3963-4ce7-a4bd-b33bf40b73e6", + "metadata": {}, + "source": [ + "**Checking for missing values and deleting columns**" + ] + }, + { + "cell_type": "code", + "execution_count": 462, + "id": "fc7e80f9-fba4-4fe0-81cd-569cc21736c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "cash_request_id 4\n", + "type 0\n", + "status 0\n", + "category 18865\n", + "total_amount 0\n", + "reason 0\n", + "created_at 0\n", + "updated_at 0\n", + "paid_at 5530\n", + "from_date 13295\n", + "to_date 13295\n", + "charge_moment 0\n", + "dtype: int64" + ] + }, + "execution_count": 462, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 463, + "id": "4a8df55a-bd26-40e9-b40e-c2dafc03b778", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "cash_request_id 0\n", + "type 0\n", + "status 0\n", + "category 18861\n", + "total_amount 0\n", + "reason 0\n", + "created_at 0\n", + "updated_at 0\n", + "paid_at 5526\n", + "from_date 13291\n", + "to_date 13291\n", + "charge_moment 0\n", + "dtype: int64" + ] + }, + "execution_count": 463, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff = dff.dropna(subset=['cash_request_id'])\n", + "dff.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 464, + "id": "955a276f-fd35-4fde-b65f-53445f94aa8d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "amount 0\n", + "status 0\n", + "created_at 0\n", + "updated_at 0\n", + "user_id 2103\n", + "moderated_at 7935\n", + "deleted_account_id 21866\n", + "reimbursement_date 0\n", + "cash_request_received_date 7681\n", + "money_back_date 7427\n", + "transfer_type 0\n", + "send_at 7329\n", + "recovery_status 20640\n", + "reco_creation 20640\n", + "reco_last_update 20640\n", + "dtype: int64" + ] + }, + "execution_count": 464, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 465, + "id": "63742b02-cdb6-4a38-8ddc-ff2bdde25aa1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "id 0\n", + "amount 0\n", + "status 0\n", + "created_at 0\n", + "updated_at 0\n", + "user_id 0\n", + "moderated_at 7758\n", + "deleted_account_id 21866\n", + "reimbursement_date 0\n", + "cash_request_received_date 6276\n", + "money_back_date 6026\n", + "transfer_type 0\n", + "send_at 6325\n", + "recovery_status 18727\n", + "reco_creation 18727\n", + "reco_last_update 18727\n", + "dtype: int64" + ] + }, + "execution_count": 465, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc = dfc.dropna(subset=['user_id'])\n", + "dfc.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 466, + "id": "1d9c4b82-160a-40b1-ac3c-aabeea8ca67b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21057, 13)" + ] + }, + "execution_count": 466, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 467, + "id": "b83b15c6-263a-49ea-bfc4-da8f915804de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(21867, 16)" + ] + }, + "execution_count": 467, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfc.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 468, + "id": "51b05b6b-2514-4fda-8f1b-2cbfe167ba12", + "metadata": {}, + "outputs": [], + "source": [ + "dff = data_fees.copy()\n", + "\n", + "dfc = data_cash.copy()" + ] + }, + { + "cell_type": "markdown", + "id": "80c547f1-d7ca-46c5-81f3-2781d1d8c29d", + "metadata": {}, + "source": [ + "**Here Im checking the percentage of column Category. Since 72% of this data is \"rejected_direct_debit\", I think is safe to fill the empty values**" + ] + }, + { + "cell_type": "code", + "execution_count": 470, + "id": "c75b8136-68b2-4f56-a9d0-67bd9f8b6037", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "category\n", + "rejected_direct_debit 72.814208\n", + "month_delay_on_payment 27.185792\n", + "Name: proportion, dtype: float64\n" + ] + } + ], + "source": [ + "percentages = dff['category'].value_counts(normalize=True) * 100\n", + "\n", + "print(percentages)" + ] + }, + { + "cell_type": "code", + "execution_count": 471, + "id": "31ceb778-8a2d-4bd5-8820-3677a99ae324", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n" + ] + } + ], + "source": [ + "dff['category'] = dff['category'].fillna('rejected_direct_debit')\n", + "\n", + "print(dff['category'].isnull().sum())" + ] + }, + { + "cell_type": "markdown", + "id": "0710c515-7c4f-40f7-9432-3ad0c3e0e750", + "metadata": {}, + "source": [ + "**Here Im keeping the most important columns**" + ] + }, + { + "cell_type": "code", + "execution_count": 473, + "id": "3fbda56c-b4de-44b2-b296-5036018dd7e0", + "metadata": {}, + "outputs": [], + "source": [ + "important_columns = [\n", + " 'id', \n", + " 'cash_request_id', \n", + " 'type', \n", + " 'category',\n", + " 'status', \n", + " 'total_amount', \n", + " 'created_at', \n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 474, + "id": "85064717-63be-4e3d-be78-4573a27200dc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatustotal_amountcreated_at
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+00
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+00
........................
210561237220262.0instant_paymentrejected_direct_debitrejected5.02020-10-10 06:42:22.822743+00
210572076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+00
210581877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+00
210591654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+00
210601330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00
\n", + "

21061 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "21056 12372 20262.0 instant_payment rejected_direct_debit \n", + "21057 20768 26764.0 instant_payment rejected_direct_debit \n", + "21058 18779 25331.0 instant_payment rejected_direct_debit \n", + "21059 16542 23628.0 instant_payment rejected_direct_debit \n", + "21060 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status total_amount created_at \n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 \n", + "... ... ... ... \n", + "21056 rejected 5.0 2020-10-10 06:42:22.822743+00 \n", + "21057 rejected 5.0 2020-10-31 15:24:18.680694+00 \n", + "21058 rejected 5.0 2020-10-27 17:28:51.749177+00 \n", + "21059 rejected 5.0 2020-10-23 16:27:52.047457+00 \n", + "21060 accepted 5.0 2020-10-14 07:12:43.958192+00 \n", + "\n", + "[21061 rows x 7 columns]" + ] + }, + "execution_count": 474, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dff_filtered = dff[important_columns]\n", + "dff_filtered" + ] + }, + { + "cell_type": "code", + "execution_count": 475, + "id": "f119c936-d8cc-446d-81d8-832251b6a06f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idamountstatuscreated_atuser_id
05100.0rejected2019-12-10 19:05:21.596873+00804.0
170100.0rejected2019-12-10 19:50:12.34778+00231.0
27100.0rejected2019-12-10 19:13:35.82546+00191.0
31099.0rejected2019-12-10 19:16:10.880172+00761.0
41594100.0rejected2020-05-06 09:59:38.877376+007686.0
..................
2396520616100.0money_back2020-10-12 13:54:11.686225+0013681.0
239662524350.0money_back2020-10-27 14:41:25.73491+00NaN
2396722357100.0money_back2020-10-20 07:58:04.006937+0082122.0
2396820256100.0money_back2020-10-10 05:40:55.700422+0064517.0
2396919886100.0direct_debit_sent2020-10-08 14:16:52.155661+0044867.0
\n", + "

23970 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " id amount status created_at \\\n", + "0 5 100.0 rejected 2019-12-10 19:05:21.596873+00 \n", + "1 70 100.0 rejected 2019-12-10 19:50:12.34778+00 \n", + "2 7 100.0 rejected 2019-12-10 19:13:35.82546+00 \n", + "3 10 99.0 rejected 2019-12-10 19:16:10.880172+00 \n", + "4 1594 100.0 rejected 2020-05-06 09:59:38.877376+00 \n", + "... ... ... ... ... \n", + "23965 20616 100.0 money_back 2020-10-12 13:54:11.686225+00 \n", + "23966 25243 50.0 money_back 2020-10-27 14:41:25.73491+00 \n", + "23967 22357 100.0 money_back 2020-10-20 07:58:04.006937+00 \n", + "23968 20256 100.0 money_back 2020-10-10 05:40:55.700422+00 \n", + "23969 19886 100.0 direct_debit_sent 2020-10-08 14:16:52.155661+00 \n", + "\n", + " user_id \n", + "0 804.0 \n", + "1 231.0 \n", + "2 191.0 \n", + "3 761.0 \n", + "4 7686.0 \n", + "... ... \n", + "23965 13681.0 \n", + "23966 NaN \n", + "23967 82122.0 \n", + "23968 64517.0 \n", + "23969 44867.0 \n", + "\n", + "[23970 rows x 5 columns]" + ] + }, + "execution_count": 475, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "important_columns2 = [\n", + " 'id', 'amount', 'status', 'created_at', 'user_id']\n", + "dfc_filtered = dfc[important_columns2]\n", + "dfc_filtered" + ] + }, + { + "cell_type": "markdown", + "id": "555cd887-3ff0-4a68-8c1d-15df779c70cb", + "metadata": {}, + "source": [ + "## 4. Checking for Id`s\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3a5acea-0087-4e7a-a5da-e4709867cabf", + "metadata": {}, + "source": [ + "**Checking for duplicates**" + ] + }, + { + "cell_type": "code", + "execution_count": 478, + "id": "885f7788-1418-4579-8f90-89fc1e623719", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Duplicates in dff_filtered:\n", + "Duplicate 'cash_request_id': 8127\n", + "Duplicate 'id': 0\n", + "Duplicates in dfc_filtered:\n", + "Duplicate 'user_id': 13171\n", + "Duplicate 'id': 0\n" + ] + } + ], + "source": [ + "print(\"Duplicates in dff_filtered:\")\n", + "print(\"Duplicate 'cash_request_id':\", dff_filtered['cash_request_id'].duplicated().sum())\n", + "print(\"Duplicate 'id':\", dff_filtered['id'].duplicated().sum())\n", + "\n", + "print(\"Duplicates in dfc_filtered:\")\n", + "print(\"Duplicate 'user_id':\", dfc_filtered['user_id'].duplicated().sum())\n", + "print(\"Duplicate 'id':\", dfc_filtered['id'].duplicated().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 479, + "id": "07ea8eba-5085-4dc1-8137-6b5d5c3f2834", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Columns in dff_filtered: Index(['id', 'cash_request_id', 'type', 'category', 'status', 'total_amount',\n", + " 'created_at'],\n", + " dtype='object')\n", + "Columns in dfc_filtered: Index(['id', 'amount', 'status', 'created_at', 'user_id'], dtype='object')\n", + "Common columns between the datasets: {'created_at', 'id', 'status'}\n" + ] + } + ], + "source": [ + "print(\"Columns in dff_filtered:\", dff_filtered.columns)\n", + "print(\"Columns in dfc_filtered:\", dfc_filtered.columns)\n", + "\n", + "# common columns\n", + "common_columns = set(dff_filtered.columns).intersection(dfc_filtered.columns)\n", + "print(\"Common columns between the datasets:\", common_columns)" + ] + }, + { + "cell_type": "markdown", + "id": "cd4f81c9-d34a-4db6-a876-b1c3d4e3d410", + "metadata": {}, + "source": [ + "**Merging IDs**" + ] + }, + { + "cell_type": "code", + "execution_count": 481, + "id": "600a28a6-8b3c-4d64-a7b6-6867002a63b5", + "metadata": {}, + "outputs": [], + "source": [ + "# Merge 'id'\n", + "merged_df = pd.merge(dff_filtered, dfc_filtered, on='id', how='inner')" + ] + }, + { + "cell_type": "code", + "execution_count": 482, + "id": "6036f393-1532-4e44-bbd0-fb33b4a1d28a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatus_xtotal_amountcreated_at_xamountstatus_ycreated_at_yuser_id
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00100.0money_back2020-07-04 05:59:49.246265+0026978.0
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00100.0money_back2020-07-07 17:45:03.352406+0013539.0
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+0050.0money_back2020-09-15 19:05:39.267562+0013756.0
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00100.0money_back2020-10-13 08:15:07.74666+0061460.0
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+0050.0money_back2020-08-06 22:46:50.681779+0031188.0
....................................
184281237220262.0instant_paymentrejected_direct_debitrejected5.02020-10-10 06:42:22.822743+0050.0rejected2020-08-13 15:21:44.956497+00NaN
184292076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+0050.0money_back2020-10-13 07:46:38.698727+0033520.0
184301877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+0050.0rejected2020-10-01 18:51:01.003129+0055943.0
184311654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+0050.0money_back2020-09-17 07:33:06.068449+0019040.0
184321330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00100.0rejected2020-08-20 07:13:36.827124+0013661.0
\n", + "

18433 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "18428 12372 20262.0 instant_payment rejected_direct_debit \n", + "18429 20768 26764.0 instant_payment rejected_direct_debit \n", + "18430 18779 25331.0 instant_payment rejected_direct_debit \n", + "18431 16542 23628.0 instant_payment rejected_direct_debit \n", + "18432 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status_x total_amount created_at_x amount \\\n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 100.0 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 100.0 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 50.0 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 100.0 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 50.0 \n", + "... ... ... ... ... \n", + "18428 rejected 5.0 2020-10-10 06:42:22.822743+00 50.0 \n", + "18429 rejected 5.0 2020-10-31 15:24:18.680694+00 50.0 \n", + "18430 rejected 5.0 2020-10-27 17:28:51.749177+00 50.0 \n", + "18431 rejected 5.0 2020-10-23 16:27:52.047457+00 50.0 \n", + "18432 accepted 5.0 2020-10-14 07:12:43.958192+00 100.0 \n", + "\n", + " status_y created_at_y user_id \n", + "0 money_back 2020-07-04 05:59:49.246265+00 26978.0 \n", + "1 money_back 2020-07-07 17:45:03.352406+00 13539.0 \n", + "2 money_back 2020-09-15 19:05:39.267562+00 13756.0 \n", + "3 money_back 2020-10-13 08:15:07.74666+00 61460.0 \n", + "4 money_back 2020-08-06 22:46:50.681779+00 31188.0 \n", + "... ... ... ... \n", + "18428 rejected 2020-08-13 15:21:44.956497+00 NaN \n", + "18429 money_back 2020-10-13 07:46:38.698727+00 33520.0 \n", + "18430 rejected 2020-10-01 18:51:01.003129+00 55943.0 \n", + "18431 money_back 2020-09-17 07:33:06.068449+00 19040.0 \n", + "18432 rejected 2020-08-20 07:13:36.827124+00 13661.0 \n", + "\n", + "[18433 rows x 11 columns]" + ] + }, + "execution_count": 482, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged_df" + ] + }, + { + "cell_type": "markdown", + "id": "9b831c45-ea89-4297-9fde-f46502166110", + "metadata": {}, + "source": [ + "**Chercking for duplicates in merged**" + ] + }, + { + "cell_type": "code", + "execution_count": 484, + "id": "c7ae94a5-8b93-4248-8ed3-625c16894ddd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Duplicates in merged_df['id']: 0\n" + ] + } + ], + "source": [ + "print(\"Duplicates in merged_df['id']:\", merged_df['id'].duplicated().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 485, + "id": "d6c4e727-5e09-44ad-956b-b8c674bfb2f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Missing values in merged_df:\n", + "id 0\n", + "cash_request_id 2\n", + "type 0\n", + "category 0\n", + "status_x 0\n", + "total_amount 0\n", + "created_at_x 0\n", + "amount 0\n", + "status_y 0\n", + "created_at_y 0\n", + "user_id 1973\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(\"Missing values in merged_df:\")\n", + "print(merged_df.isnull().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 486, + "id": "4b18f45c-317b-4b39-99a6-2635a95c0530", + "metadata": {}, + "outputs": [], + "source": [ + "merged_df = merged_df.dropna(subset=['cash_request_id'])\n", + "merged_df = merged_df.dropna(subset=['user_id'])" + ] + }, + { + "cell_type": "markdown", + "id": "73251827-bdc6-40cf-8ebb-1895c3c61797", + "metadata": {}, + "source": [ + "**Droping rows with missing cash request**" + ] + }, + { + "cell_type": "code", + "execution_count": 488, + "id": "f2e11891-0dda-4dbe-9069-fa3386545e82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shape after cleaning: (16458, 11)\n", + "Missing values after cleaning:\n", + "id 0\n", + "cash_request_id 0\n", + "type 0\n", + "category 0\n", + "status_x 0\n", + "total_amount 0\n", + "created_at_x 0\n", + "amount 0\n", + "status_y 0\n", + "created_at_y 0\n", + "user_id 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "#droping rows with missing cash_request_id\n", + "merged_df = merged_df.dropna(subset=['cash_request_id'])\n", + "\n", + "#droping rows with missing user_id\n", + "merged_df = merged_df.dropna(subset=['user_id'])\n", + "\n", + "\n", + "print(\"Shape after cleaning:\", merged_df.shape)\n", + "print(\"Missing values after cleaning:\")\n", + "print(merged_df.isnull().sum())" + ] + }, + { + "cell_type": "markdown", + "id": "d85b9355-b4b6-4aa4-b27b-2b265d8e7fe4", + "metadata": {}, + "source": [ + "**Finally, MERGED**" + ] + }, + { + "cell_type": "code", + "execution_count": 490, + "id": "cfff1fea-af94-444d-b8e6-212eb26a5836", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idcash_request_idtypecategorystatus_xtotal_amountcreated_at_xamountstatus_ycreated_at_yuser_id
0653714941.0instant_paymentrejected_direct_debitrejected5.02020-09-07 10:47:27.42315+00100.0money_back2020-07-04 05:59:49.246265+0026978.0
1696111714.0incidentrejected_direct_debitaccepted5.02020-09-09 20:51:17.998653+00100.0money_back2020-07-07 17:45:03.352406+0013539.0
21629623371.0instant_paymentrejected_direct_debitaccepted5.02020-10-23 10:10:58.352972+0050.0money_back2020-09-15 19:05:39.267562+0013756.0
32077526772.0instant_paymentrejected_direct_debitaccepted5.02020-10-31 15:46:53.643958+00100.0money_back2020-10-13 08:15:07.74666+0061460.0
41124219350.0instant_paymentrejected_direct_debitaccepted5.02020-10-06 08:20:17.170432+0050.0money_back2020-08-06 22:46:50.681779+0031188.0
....................................
184271470722050.0instant_paymentrejected_direct_debitrejected5.02020-10-19 06:48:13.655092+00100.0money_back2020-09-05 13:27:19.805671+0012229.0
184292076826764.0instant_paymentrejected_direct_debitrejected5.02020-10-31 15:24:18.680694+0050.0money_back2020-10-13 07:46:38.698727+0033520.0
184301877925331.0instant_paymentrejected_direct_debitrejected5.02020-10-27 17:28:51.749177+0050.0rejected2020-10-01 18:51:01.003129+0055943.0
184311654223628.0instant_paymentrejected_direct_debitrejected5.02020-10-23 16:27:52.047457+0050.0money_back2020-09-17 07:33:06.068449+0019040.0
184321330120982.0instant_paymentrejected_direct_debitaccepted5.02020-10-14 07:12:43.958192+00100.0rejected2020-08-20 07:13:36.827124+0013661.0
\n", + "

16458 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " id cash_request_id type category \\\n", + "0 6537 14941.0 instant_payment rejected_direct_debit \n", + "1 6961 11714.0 incident rejected_direct_debit \n", + "2 16296 23371.0 instant_payment rejected_direct_debit \n", + "3 20775 26772.0 instant_payment rejected_direct_debit \n", + "4 11242 19350.0 instant_payment rejected_direct_debit \n", + "... ... ... ... ... \n", + "18427 14707 22050.0 instant_payment rejected_direct_debit \n", + "18429 20768 26764.0 instant_payment rejected_direct_debit \n", + "18430 18779 25331.0 instant_payment rejected_direct_debit \n", + "18431 16542 23628.0 instant_payment rejected_direct_debit \n", + "18432 13301 20982.0 instant_payment rejected_direct_debit \n", + "\n", + " status_x total_amount created_at_x amount \\\n", + "0 rejected 5.0 2020-09-07 10:47:27.42315+00 100.0 \n", + "1 accepted 5.0 2020-09-09 20:51:17.998653+00 100.0 \n", + "2 accepted 5.0 2020-10-23 10:10:58.352972+00 50.0 \n", + "3 accepted 5.0 2020-10-31 15:46:53.643958+00 100.0 \n", + "4 accepted 5.0 2020-10-06 08:20:17.170432+00 50.0 \n", + "... ... ... ... ... \n", + "18427 rejected 5.0 2020-10-19 06:48:13.655092+00 100.0 \n", + "18429 rejected 5.0 2020-10-31 15:24:18.680694+00 50.0 \n", + "18430 rejected 5.0 2020-10-27 17:28:51.749177+00 50.0 \n", + "18431 rejected 5.0 2020-10-23 16:27:52.047457+00 50.0 \n", + "18432 accepted 5.0 2020-10-14 07:12:43.958192+00 100.0 \n", + "\n", + " status_y created_at_y user_id \n", + "0 money_back 2020-07-04 05:59:49.246265+00 26978.0 \n", + "1 money_back 2020-07-07 17:45:03.352406+00 13539.0 \n", + "2 money_back 2020-09-15 19:05:39.267562+00 13756.0 \n", + "3 money_back 2020-10-13 08:15:07.74666+00 61460.0 \n", + "4 money_back 2020-08-06 22:46:50.681779+00 31188.0 \n", + "... ... ... ... \n", + "18427 money_back 2020-09-05 13:27:19.805671+00 12229.0 \n", + "18429 money_back 2020-10-13 07:46:38.698727+00 33520.0 \n", + "18430 rejected 2020-10-01 18:51:01.003129+00 55943.0 \n", + "18431 money_back 2020-09-17 07:33:06.068449+00 19040.0 \n", + "18432 rejected 2020-08-20 07:13:36.827124+00 13661.0 \n", + "\n", + "[16458 rows x 11 columns]" + ] + }, + "execution_count": 490, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged_df" + ] + }, + { + "cell_type": "code", + "execution_count": 491, + "id": "8da161b6-405f-4fc0-8c87-37df46ed00d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "object\n" + ] + } + ], + "source": [ + "print(merged_df['created_at_x'].dtype)" + ] + }, + { + "cell_type": "markdown", + "id": "1e4db748-2dad-4cc1-82e8-44a4e94f9be2", + "metadata": {}, + "source": [ + "**Converting to datetime**" + ] + }, + { + "cell_type": "code", + "execution_count": 493, + "id": "abac70e9-704b-4db0-b37e-cc726d43deb7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2020-09-07 10:47:27.423150+00:00\n", + "1 2020-09-09 20:51:17.998653+00:00\n", + "2 2020-10-23 10:10:58.352972+00:00\n", + "3 2020-10-31 15:46:53.643958+00:00\n", + "4 2020-10-06 08:20:17.170432+00:00\n", + "Name: created_at_x, dtype: datetime64[ns, UTC]\n" + ] + } + ], + "source": [ + "merged_df['created_at_x'] = pd.to_datetime(merged_df['created_at_x'], errors='coerce')\n", + "\n", + "print(merged_df['created_at_x'].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 494, + "id": "057408e4-8a2b-4f87-b448-afea1bc46e3a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2020-09\n", + "1 2020-09\n", + "2 2020-10\n", + "3 2020-10\n", + "4 2020-10\n", + "Name: created_at_x, dtype: period[M]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cj/_ljqqgzj7bvdlj6sc0_8wd080000gn/T/ipykernel_78745/3021134120.py:1: UserWarning: Converting to PeriodArray/Index representation will drop timezone information.\n", + " merged_df['created_at_x'] = merged_df['created_at_x'].dt.to_period('M')\n" + ] + } + ], + "source": [ + "merged_df['created_at_x'] = merged_df['created_at_x'].dt.to_period('M')\n", + "\n", + "print(merged_df['created_at_x'].head())" + ] + }, + { + "cell_type": "markdown", + "id": "e68264d6-6c08-4cf7-807a-97c4e77b5340", + "metadata": {}, + "source": [ + "**Define cohort as the first interaction month for each user**" + ] + }, + { + "cell_type": "code", + "execution_count": 496, + "id": "53bfafaa-c60a-409e-9eaf-f9815d11561e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cohorts created for each user:\n", + " user_id created_at_x cohort\n", + "0 26978.0 2020-09 2020-09\n", + "1 13539.0 2020-09 2020-08\n", + "2 13756.0 2020-10 2020-09\n", + "3 61460.0 2020-10 2020-10\n", + "4 31188.0 2020-10 2020-09\n" + ] + } + ], + "source": [ + "merged_df['cohort'] = merged_df.groupby('user_id')['created_at_x'].transform('min')\n", + "\n", + "print(\"Cohorts created for each user:\")\n", + "print(merged_df[['user_id', 'created_at_x', 'cohort']].head())" + ] + }, + { + "cell_type": "markdown", + "id": "98039944-b2f4-447a-85a9-5394b5df1ae5", + "metadata": {}, + "source": [ + "**Define cohort as the first interaction month for each user**" + ] + }, + { + "cell_type": "code", + "execution_count": 498, + "id": "4ef0e2d0-5b50-4e9b-be5d-a351613d3f3d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " user_id created_at_x cohort\n", + "0 26978.0 2020-09 2020-09\n", + "1 13539.0 2020-09 2020-08\n", + "2 13756.0 2020-10 2020-09\n", + "3 61460.0 2020-10 2020-10\n", + "4 31188.0 2020-10 2020-09\n" + ] + } + ], + "source": [ + "merged_df['cohort'] = merged_df.groupby('user_id')['created_at_x'].transform('min')\n", + "\n", + "print(merged_df[['user_id', 'created_at_x', 'cohort']].head())" + ] + }, + { + "cell_type": "markdown", + "id": "25a0a9a7-f497-4937-a87f-fe5a4945ab84", + "metadata": {}, + "source": [ + "**Group by cohort and count transactions**" + ] + }, + { + "cell_type": "code", + "execution_count": 500, + "id": "1745639f-3aec-4d80-a8cf-c4ffe7417f3c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of transactions per cohort:\n", + "cohort\n", + "2020-05 12\n", + "2020-06 1609\n", + "2020-07 2594\n", + "2020-08 3673\n", + "2020-09 3782\n", + "2020-10 4667\n", + "2020-11 121\n", + "Freq: M, dtype: int64\n" + ] + } + ], + "source": [ + "transactions_per_cohort = merged_df.groupby('cohort').size()\n", + "\n", + "print(\"Number of transactions per cohort:\")\n", + "print(transactions_per_cohort)" + ] + }, + { + "cell_type": "markdown", + "id": "4e69c479-53f7-4de2-a7f5-8e0c174f74f8", + "metadata": {}, + "source": [ + "**Group by cohort and sum revenue**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 502, + "id": "0e09fd2f-5642-44e3-b931-01bb6b28e5bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Revenue per cohort:\n", + "cohort\n", + "2020-05 1189.0\n", + "2020-06 152967.0\n", + "2020-07 242199.0\n", + "2020-08 336599.0\n", + "2020-09 330237.0\n", + "2020-10 365981.0\n", + "2020-11 10440.0\n", + "Freq: M, Name: amount, dtype: float64\n" + ] + } + ], + "source": [ + "revenue_per_cohort = merged_df.groupby('cohort')['amount'].sum()\n", + "\n", + "print(\"Revenue per cohort:\")\n", + "print(revenue_per_cohort)" + ] + }, + { + "cell_type": "markdown", + "id": "3db4fd48-3b9b-4c79-9e6c-030aa43b096c", + "metadata": {}, + "source": [ + "**Displaying results**" + ] + }, + { + "cell_type": "code", + "execution_count": 504, + "id": "f259ec3f-af44-414a-91f5-da0e07144df3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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6Ym6UBQApKSk4MKFC/nuR5uamorNmzeLEBURERERERGpAlGT2pCQEFSuXBkNGzaEi4sLGjVqhLCwMOnx+Ph49OvXT8QIiYiIiIjoq6YmEe9BchE1qR03bhxcXFwQERGBhw8fwsjICO7u7njx4oWYYREREREREZGKEDWpDQwMxOzZs2Fubo6KFSvi0KFDaNWqFRo0aICnT5+KGRoRERERERGpAFEXikpJSYGGhmwIy5Ytg5qaGjw8PLB9+3aRIiMiIiIiIgKnAasAUZNaJycnBAUFoXLlyjLlS5YsgSAIaN++vUiRERERERERkSoQdfpxx44dsWPHjnyPLV26FD169ICSbKNLRERERERfIUEi3oPkIxFKZNYYInYAJKeYtIdih0By0FLTFzsEkoO2upnYIZAcJNzwUGWkZyeIHQLJQU/DUuwQSC4OYgdQaOUH7hat76dru4rWtyoRdfoxERERERGRUuM9tUpP1OnHRERERERERJ+DSS0RERERERGpLE4/JiIiIiIiKoiE04+VHUdqiYiIiIiISGVxpJaIiIiIiKggXChK6XGkloiIiIiIiFQWk1oiIiIiIiJSWZx+TEREREREVBAOAyo9XiIiIiIiIiJSWRypJSIiIiIiKgi39FF6HKklIiIiIiIilcWRWiIiIiIiooJwSx+lx6SWRGWm7Sh2CCSHe3EhYodAcrDVF8QOgeQgAf84UhURqUlih0ByKG9oKXYIRCQyTj8mIiIiIiIilcWRWiIiIiIiogIIXChK6XGkloiIiIiIiFQWR2qJiIiIiIgKwmFApcdLRERERERERCqLSS0RERERERGpLE4/JiIiIiIiKgj3qVV6HKklIiIiIiIilcWRWiIiIiIiooJwSx+lx5FaIiIiIiIiUlkcqSUiIiIiIioI76lVehypJSIiIiIiIpXFpJaIiIiIiIhUFqcfExERERERFYSzj5UeR2qJiIiIiIhIZXGkloiIiIiIqAACF4pSehypJSIiIiIiIpUlalLr4uKCGTNm4OXLl2KGQURERERERCpK1KT27t27+PPPP2Fvb4+WLVti7969yMzMFDMkIiIiIiKi99Qk4j1ILqJPP7516xb27NkDLS0t/PDDD7CxscGYMWNw//59sUMjIiIiIiIiJSd6UquhoYEOHTrg0KFDePnyJUaNGoVDhw6hatWqcHNzw/r168UOkYiI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mTIFly9fhouLCzQ1NWWO//zzz0UWHBEREREREdGnSARBEBR5gb29fcGNSSR4+vTpZwf1+ULEDoCoRLkXx8+UKrDV1xU7BJKDBJzHpioiUpPEDoHkUN7QUewQSC4OYgdQaFU3/iNa33f6NhCtb1Wi8EhtaGjol4iDiIiIiIiISGGF2qc2V+4gr4R3TxMRERERUQkkUXgVIipuhbpEmzdvhouLC3R1daGrq4tq1aphy5YtRR0bERERERER0ScpPFK7YMECTJkyBcOHD4e7uzsEQcDFixcxePBgREVFYdSoUV8iTiISkbOJ6t4H8zU5/OKJ2CGQHKqZZYodAsnp5GstsUMgOXg7KbQ8DIlEled1clKq8lM4qV2yZAlWrFiBPn36SMu+//57VKlSBb6+vkxqiYiIiIiIqNgoPP04LCwMbm5uecrd3NwQFhZWJEERERERERFRyZaVlYUbN24gNjb2s9pROKmtWLEidu3alaf8r7/+QqVKlT4rGCIiIiIiImUikYj3KGlGjhyJdevWAchJaD08PFCrVi3Y2tri7NmzhW5X4enH06ZNQ/fu3XH+/Hm4u7tDIpHgwoULOHXqVL7JLhEREREREdGePXvw448/AgAOHz6M0NBQPHjwAJs3b8akSZNw8eLFQrWr8Eht586dceXKFZibm+PAgQPYt28fzM3NcfXqVXTs2LFQQRARERERESkjjtQWnaioKFhZWQEAjh49iq5du8LBwQEDBgzA7du3C91uofap/fbbb7F169ZCd0pERERERERfF0tLS9y7dw/W1tY4fvw4li9fDgBITk6Gurp6oduVK6lNSEiAkZGR9L8/JbceERERERERUa5+/fqhW7dusLa2hkQiQfPmzQEAV65cgZOTU6HblSupNTU1RVhYGCwsLGBiYgJJPmPhgiBAIpEgKyur0MEQEREREREpE7USOA1YLL6+vqhatSpevnyJrl27QltbGwCgrq6O8ePHF7pduZLa06dPw8zMDABw5syZQndGREREREREX68uXbrkKfPy8vqsNuVKaj08PKT/bW9vD1tb2zyjtYIg4OXLl58VDBERERERkTIpiQs2ienUqVM4deoUIiIikJ2dLXNs/fr1hWpT4dWP7e3tERkZmac8JiYG9vb2hQqCiIiIiIiISrZp06ahRYsWOHXqFKKiohAbGyvzKCyFVz/OvXf2Y+/e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4UJNmDBB8+fP1/3336/M/826J0lF8uloAAAAAEChyPfjxytWrND333+vsLA/l1WoU6eOZsyYofbt2+err6VLl2r+/Plq3bq1JOmBBx5Qp06d1LlzZy1btkySc2vVAgAAAMCNwPv1ri/fI7XZ2dk5lvGRpOLFiys7O39rl508eVKhoaH2z2XLltWqVat05swZdezYsVDWwgUAAAAAFF35LmrvuecePf300zp+/Lh937Fjx/TMM8+oTZs2+eqrcuXKiouLc9jn4+Oj7777Tunp6XrggQfyGx4AAAAAFBp3Ezc4J99F7fTp03XmzBlVqVJFt912m6pXr66qVavqzJkzmjZtWr76at++vebOnZtjf6lSpbRy5UqVKFEiv+EBAAAAAG4h+X6ntnLlytq6datWrVqlvXv3yjAM1alTR23bts33ycePH+8w4ns1Hx8fff/999qyZUu++wUAAAAA3BoKvE5tu3bt1K7d9S0G7O/vL39//zzbS5UqpcjIyOs6BwAAAAAUFBNFuT6nHz/+8ccfVadOHaWlpeVoS01NVd26dbV+/fp8B3Du3DnNnj1bvXv31r333quOHTuqd+/eeu+993Tu3Ll89wcAAAAAuHU4XdS++eab6tevn3x9fXO0+fn5qX///nrjjTfydfI9e/aoZs2aGjVqlFJSUhQSEqJKlSopJSVFzz77rGrVqqU9e/bkq08AAAAAKCxuNsO0Dc5x+vHjHTt2aMqUKXm2t2/fXq+99lq+Tj548GC1atVK8+fPl4eHh0NbZmamevXqpcGDB2v16tX56hcAAAAAcGtwuqg9ceJEruvT2jsqVkzJycn5OvnmzZsVExOTo6CVJA8PD73wwgtq1KhRvvoEAAAAANw6nH78uGLFitq1a1ee7Tt37lRwcHC+Tu7v768DBw7k2X7w4MFrTiQFAAAAADeSu828Dc5xuqjt2LGjXnrpJV24cCFHW3p6usaOHav77rsvXyfv16+fevbsqddee007duxQYmKiTpw4oR07dui1117TE088of79++erTwAAAADArcNmGIZTbyCfOHFCd9xxh9zd3fXUU0+pVq1astlsiouL04wZM5SVlaWtW7cqMDAwXwFMmTJFb731lhITE2WzXf45wjAMBQUFadiwYRo1alT+r0r7C/AdAABuvGGbjpodApzEMh7W8HrjimaHACfYVMvsEAps7v6Vpp27d80o085tJU4XtZJ0+PBhDRw4UCtXrtSVr9lsNkVFRWnmzJmqUqVKgQOJj49XYmKiJCkoKEhVq1YtcF8UtQAAV0VRax0UtdZAUWsNFLUFQ1HrHKcnipKk0NBQLV++XCkpKTp48KAMw1CNGjUK5b3XqlWrXmchCwAAAACFix+4XJ/T79Rezd/fX3fddZcaNWp03QVtenq6NmzYkOt6tBcuXNCCBQuuq38AAAAAQNFVoKK2sOzfv19hYWFq1aqVwsPD1bp1ayUkJNjbU1NT1bt3bxMjBAAAAAC4MlOL2ueee07h4eFKSkrSvn375Ovrq+bNm+vIkSNmhgUAAAAAki4/fmzWBueYWtRGR0dr4sSJKleunKpXr65ly5bp3nvvVcuWLXXo0CEzQwMAAAAAWEC+JooqbOnp6SpWzDGEGTNmyM3NTZGRkfrwww9NigwAAAAAJHeb04vFwCSmFrW1a9dWTEyMwsLCHPZPmzZNhmGoS5cuJkUGAAAAALACUx8/fuCBB/TRRx/l2jZ9+nR1795d+VhGFwAAAABwi7EZRbJq3G92AAAA5GrYpqNmhwAnMUmLNbzeuKLZIcAJNtUyO4QC+/jXFaad+5HbOph2bisxdaQWAAAAAIDrYeo7tQAAAADgynhqw/UxUgsAAAAAsCxGagEAAAAgD4zUuj5GagEAAAAAlkVRCwAAAACwLB4/BgAAAIA8uNuK4AqoRQwjtQAAAAAAy2KkFgAAAADywERRro+RWgAAAACAZVHUAgAAAAAsi8ePAQAAACAPPH7s+hipBQAAAABYFiO1AADcRG82qWR2CHCSV8hYs0OAE147PMbsEOAEm4VHOxmpdX2M1AIAAAAALIuRWgAAAADIgzsjtS6PkVoAAAAAgGVR1AIAAAAALIvHjwEAAAAgD242w+wQ8DcYqQUAAAAAWBYjtQAAAACQB0YBXR85AgAAAABYFkUtAAAAAMCyePwYAAAAAPLgxjq1Lo+RWgAAAACAZTFSCwAAAAB5cGek1uUxUgsAAAAAsCyKWgAAAACAZfH4MQAAAADkwc1mmB0C/gYjtQAAAAAAy3KZkdqsrCydPHlSNptNZcuWlbu7u9khAQAAALjFsaSP6zN9pHbJkiVq3ry5SpYsqQoVKig4OFglS5ZU8+bNtXTpUrPDAwAAAAC4MFOL2lmzZumRRx5R/fr1tXjxYm3YsEHr16/X4sWLVb9+fT3yyCOaPXu2mSECAAAAuIW52czb4BxTHz/+v//7P82cOVN9+vTJ0da1a1fdddddmjBhgvr162dCdAAAAAAAV2fqSO2xY8fUokWLPNubNWum48eP38SIAAAAAABWYmpRW7duXb377rt5ts+ePVt169a9iREBAAAAwJ/cTNzgHFMfP3799dfVqVMnrVixQu3bt1dgYKBsNpsSExO1atUqHT58WMuXLzczRAAAAACACzO1qI2MjFRsbKzeeecdbdq0SYmJiZKkoKAg3XfffRowYICqVKliZogAAAAAbmE2JmxyeaavU1ulShVNmTLF7DAAAAAAABbEo9oAAAAAAMty6aJ2x44dcnd3NzsMAAAAALcom4kbnOPSRa0kGYZhdggAAAAAABdl6ju1Dz744DXbU1NTZePNbAAAAAAmoRxxfaYWtV999ZXatWunwMDAXNuzsrJuckQAAAAAACsxtagNCwvTQw89pD59+uTavn37dn399dc3OSoAAAAAuMzl39eEuTmKiIjQ1q1b82z39PRUSEjITYwIAAAAAGAlpo7U/ve//73mI8ZhYWGKj4+/iREBAAAAAKzE1KLW09PTzNMDAAAAwDXZbKzG4upc7hHxTp06KSEhwewwAAAAAAAWYOpIbW7WrVun9PR0s8MAAAAAALGij+tzuZFaAAAAAACc5XJFbWhoqIoXL252GC7lgw++0T339FF4+IN68MFhionZbXZIyAV5sgbyZB3kyhrIk3lGDr5f6Uc+0v+N/ZfD/lrVK+jTOSOVGDtHSXve19qlL6tyhbL29icevUcrF4/Rid1zlH7kI/n5lnT4fkilcnrn1ScVt+Et/bF/vnavf1MvDv+Hihd3vynXdSuYPu1jhdV+wGFr2aK3vX3082/naH/44edMjBhWsG7dOnXu3FkVKlSQzWbT0qVLHdoNw9C4ceNUoUIFeXl5qXXr1tq92/HP7IyMDA0ZMkTlypWTt7e3unTpoqNHjzock5KSoh49esjPz09+fn7q0aOHTp8+fYOv7tpcrqiNjY1V5cqVzQ7DZSxfvl6TJr2ngQO7aenStxQRUVf9+o3T8eNJZoeGq5AnayBP1kGurIE8mSeifjX16X6Pdu457LC/amiAfvh8nPb/elxRD7+iRh2e16S3l+hCxkX7MSW9PLVq7Q7934wvc+271m0V5eZm01Oj39MdbZ/VqJcXqu9jbfXyqEdu6DXdaqrXqKx169+3b18ue9OhvWXLhg7ts2a9aE6gkM1m3pYf586dU4MGDTR9+vRc21999VW98cYbmj59un755RcFBQWpXbt2OnPmjP2YYcOGacmSJfr444+1YcMGnT17Vvfdd5/DijWPPvqotm/frhUrVmjFihXavn27evToUaB7W1hshmGYPp3XgQMHFB0drcTERNlsNgUGBqpZs2aqUaNGAXvcX6jxmemf/xyhOnVu0/jxg+z77r13oNq2baIRI3qaGBmuRp6sgTxZB7myhqKeJ6+QsWaHkCvvkp7auHySnn7xfT0/5AHt3HNYz45fIElaMH2ILl7KUp9hM/+2n5ZNwvTdJy8pqF4fpaadv+axz/S/T/16tFWdFsMK4xIK1bnDY8wOId+mT/tYP/ywWUuWTs21ffTzb+vMmXOaPmP0TY7sxnGz1TE7hALb8cfXpp27QZn7CvQ9m82mJUuWqGvXrpIuj9JWqFBBw4YN03PPXR71z8jIUGBgoKZMmaL+/fsrNTVV5cuX18KFC/Xwww9Lko4fP67KlStr+fLlioqKUlxcnOrUqaNNmzapcePGkqRNmzapadOm2rt3r2rVqnX9F10Apo7Upqam6v7771etWrU0bNgwvf/++3rvvfc0bNgw1a5dW127dlVaWpqZIZoqM/Oidu8+qBYtGjrsb968obZtizMpKvwVebIG8mQd5MoayJN53vzPE1rx4zat3hDrsN9ms6nDPQ114FCCli18Xoe3/lfrvnxFndvfed3n9PUpqT9On7vufvCnw4cT1KrlE2rbpr+GD39dv/+e6ND+88+xat6spzpEDdKYMTN06tRpcwKFbCZuGRkZSktLc9gyMjLyfQ3x8fFKTExU+/bt7fs8PT0VGRmp6OhoSdKWLVt08eJFh2MqVKigevXq2Y/ZuHGj/Pz87AWtJDVp0kR+fn72Y8xgalE7ZMgQxcfHa+PGjUpJSdG+ffu0f/9+paSkKDo6WvHx8RoyZIiZIZoqJSVNWVnZKlu2tMP+cuVKKzn5tCkxISfyZA3kyTrIlTWQJ3P8s3NT3V6visZM+ThHW0A5X/mU8tLIQV20as0OdX58kpat/EUfv/uMWjQOK/A5q4YGaGCvKL236PvrCR1Xqd+ghiZPflrvvTdWL78ySCeTU/Ro99FKSbk8mNOy1R169f+e0dx5L+u553ordtdB9er1kjIzL/5NzyhqJk2aZH939co2adKkfPeTmHj5R5PAwECH/YGBgfa2xMREeXh4yN/f/5rHBAQE5Og/ICDAfowZTF3SZ9myZVq5cqVDpX9F48aNNWvWLHXo0OGafWRkZOT4tcLTM1Oenh6FGquZbH95oN4wjHw/Y48bjzxZA3myDnJlDeTp5qkUXEb/N66nOj8+URkZOYsbN7fLYxVff7dF0+Z8K0naueewGkfUVL/H22rD5vyPoAcH+mvZguf1xTebNO/j1dd3AbBr1SrC/vc1Farbb6+lqPYD9eXS1erV+3517Njiz/aaoapb7za1bdNfa9bEqH37pmaEfEtzM/HPtNGjR2v48OEO+zw9PQvcX+5/Zl/7Av96TG7HO9PPjWT6RFHXunhnbkzuv17MKswQTePv7yt3dzedPJnisP/UqVSVK1fanKCQA3myBvJkHeTKGsjTzdcwvJoCy/sp+puJOnNokc4cWqRWTetoUO8onTm0SKdSzujixUuKO3DM4Xv7Dh5T5Ypl8+g1b8GB/lrx8YvavPWABj//XmFdBnJRsmQJ1agZqt8OJ+TaHhBQRsEVyutwHu0oujw9PeXr6+uwFaSoDQoKkqQco6lJSUn20dugoCBlZmYqJSXlmsecOHEiR//Jyck5RoFvJlOL2s6dO6tfv36KiYnJ0RYTE6MBAwaoS5cu1+xj9OjRSk1NddhGj+5/o0K+qTw8iqtu3er66adtDvujo7erYcOCP0aEwkWerIE8WQe5sgbydPOt/ilWEW2fVeMOz9u3LTt+1cdLf1LjDs8rM/OStuw4pJq3BTt8r0bVYB05ejJf56oQ6K+Vi8doe+xvenLEf+UC84oWaZmZF3Xo16MqX94/1/aUlDQlJpzMsx34O1WrVlVQUJBWrVpl35eZmam1a9eqWbNmkqSIiAgVL17c4ZiEhATFxsbaj2natKlSU1P1888/24/ZvHmzUlNT7ceYwdTHj6dNm6bu3burUaNGKl26tAICAmSz2XTixAmlpqYqKipKb7/99jX78PT0zOXXiqLz6HHv3l01atQbqlevhho2rK3Fi1coISFZjzxyr9mh4SrkyRrIk3WQK2sgTzfX2XMXtGe/43qR585n6I+Us/b9U2d9pYUzntaGzXu1Nnq32rduoI5t71DUw6/YvxNY3k+B5UvrtiqXR27q1a6sM2cv6PdjJ5WSek7Bgf5a+ckY/X78lEb/Z5HKl/W1f/dEcupNuNKi79Up89T67jtVoUJ5nTqVqv++86nOnj2vrl3v1rlz6ZoxfbHatW+igPJldOxYkqZOXSR/f1+1a9vE7NBvSVZ5o+Ls2bM6ePCg/XN8fLy2b9+uMmXKKCQkRMOGDdPEiRNVo0YN1ahRQxMnTlTJkiX16KOPSpL8/PzUp08fjRgxQmXLllWZMmU0cuRIhYeHq23btpKksLAwdejQQf369dOsWZefjn3yySd13333mTbzsWRyUVu6dGl9++232rt3rzZu3GgfDg8KClLTpk1Vu3ZtM8NzCR07tlRKSppmzvxYSUl/qGbNUL377lhVrJjzBW2YhzxZA3myDnJlDeTJ9SxbGaMhL8zRs4O76PXxPbX/1+Pq3n+qon/ZZz+m7+Nt9eIz/7B//v6zcZKkfsPf0aLP1qlNy3BVrxqs6lWD9esvjksDeYV0vynXUdQlnjilkSPe0OnTZ+Tv76sGDWrq48VTVLFigC5cyND+/Yf15ZerdebMeZUr76/Gjerpjakj5V3Ky+zQ4cJiYmJ099132z9feRe3Z8+emjdvnkaNGqX09HQNGjRIKSkpaty4sb777jv5+PjYvzN16lQVK1ZM3bp1U3p6utq0aaN58+bJ3d3dfswHH3ygoUOH2mdJ7tKlS55r494sLrFObeErOuvUAgAAc7jqOrVwZMV1am9FVl6nds9p89aprVO6YOvU3mpMnyhKkrKzs/Pcf+TIkZscDQAAAADAKkwtatPS0tStWzd5e3srMDBQY8eOVVZWlr09OTlZVatWNTFCAAAAAIArM/Wd2jFjxmjHjh1auHChTp8+rf/85z/asmWLvvjiC3l4XJ7sqUg+HQ0AAADAEqwyUdStzNSR2qVLl2rWrFn6xz/+ob59+2rLli06efKkOnfurIyMDEnOrVULAAAAALg1mVrUnjx5UqGhofbPZcuW1apVq3TmzBl17NhR58+fNzE6AAAAALc6m4kbnGNqUVu5cmXFxcU57PPx8dF3332n9PR0PfDAAyZFBgAAAACwAlOL2vbt22vu3Lk59pcqVUorV65UiRIlTIgKAAAAAC5zs5m3wTmmThQ1fvx4HT9+PNc2Hx8fff/999qyZctNjgoAAAAAYBWmFrX+/v7y9/fPs71UqVKKjIy8iREBAAAAAKzE1KJWks6dO6cPP/xQ0dHRSkxMlM1mU2BgoJo3b67u3bvL29vb7BABAAAA3KJ4Ctj1mfpO7Z49e1SzZk2NGjVKKSkpCgkJUaVKlZSSkqJnn31WtWrV0p49e8wMEQAAAADgwkwdqR08eLBatWql+fPny8PDw6EtMzNTvXr10uDBg7V69WqTIgQAAABwK7PZDLNDwN8wtajdvHmzYmJichS0kuTh4aEXXnhBjRo1MiEyAAAAAIAVmPr4sb+/vw4cOJBn+8GDB685kRQAAAAA4NZm6khtv3791LNnT7344otq166dAgMDZbPZlJiYqFWrVmnixIkaNmyYmSECAAAAuIUxUZTrM7WoHTdunLy8vPTGG29o1KhRstku/yNjGIaCgoL0/PPPa9SoUWaGCAAAAABwYTbDMFzizef4+HglJiZKkoKCglS1atXr6G1/4QQFAABuWV4hY80OAU44d3iM2SHACW62OmaHUGCHznxl2rmr+XQ27dxWYvo6tVdUrVr1OgtZAAAAAMCtxtSJoiQpPT1dGzZsyHU92gsXLmjBggUmRAUAAAAAlwsmszY4x9R7tX//foWFhalVq1YKDw9X69atlZCQYG9PTU1V7969TYwQAAAAAODKTC1qn3vuOYWHhyspKUn79u2Tr6+vmjdvriNHjpgZFgAAAADAIkx9pzY6Olrff/+9ypUrp3LlymnZsmUaPHiwWrZsqdWrV8vb29vM8AAAAADc4mys6ePyTC1q09PTVayYYwgzZsyQm5ubIiMj9eGHH5oUGQAAAADACkwtamvXrq2YmBiFhYU57J82bZoMw1CXLl1MigwAAAAAJAZqXZ+p79Q+8MAD+uijj3Jtmz59urp37y4XWUYXAAAAAOCCbEaRrBr3mx0AAACwOK+QsWaHACecOzzG7BDgBDdbHbNDKLAjZ78y7dwhpTqbdm4rMfXxYwAAAABwZUwU5fpY0xcAAAAAYFmM1AIAAABAHhiodX2M1AIAAAAALIuRWgAAAADIgxtDtS6PkVoAAAAAgGVR1AIAAAAALIvHjwEAAAAgDzx97PoYqQUAAAAAWBYjtQAAAACQB5vNMDsE/A1GagEAAAAAlkVRCwAAAACwLB4/BgAAAIA8MFGU66OoBQAAyEX6kfFmhwAnZBkXzA4BgMkoagEAAAAgDzaGal0e79QCAAAAACyLohYAAAAAYFk8fgwAAAAAeeDpY9fHSC0AAAAAwLIYqQUAAACAPDAK6PrIEQAAAADAshipBQAAAIA8sKSP62OkFgAAAABgWRS1AAAAAADL4vFjAAAAAMgTzx+7OkZqAQAAAACWxUgtAAAAAOTBxkity2OkFgAAAABgWRS1AAAAAADL4vFjAAAAAMiDzcY4oKsjQwAAAAAAy3LpojYuLk7VqlUzOwwAAAAAtyybiRuc4dJFbWZmpg4fPmx2GAAAAAAAF2XqO7XDhw+/ZntycvJNigQAAAAAcmJJH9dnalH71ltv6fbbb5evr2+u7WfPnr3JEQEAAAAArMTUorZGjRp65pln9Pjjj+favn37dkVERNzkqAAAAAAAVmHqO7URERHasmVLnu02m02GYdzEiAAAAADgakwU5epsholVY2JiojIyMhQaGlrIPe8v5P4AAADgirKMC2aHACe42+qbHUKBpWauNO3cfh5Rpp3bSkx9/DgoKMjM0wMAAADANdlsLr1gDOTiS/oAAAAAAHAtLl3U7tixQ+7u7maHAQAAAABwUaY+fuwMJooCAAAAYB4mbHJ1pha1Dz744DXbU1NTZbPxDxEAAAAAIHemFrVfffWV2rVrp8DAwFzbs7KybnJEAAAAAPAnGyO1Ls/UojYsLEwPPfSQ+vTpk2v79u3b9fXXX9/kqAAAAAAAVmHqRFERERHaunVrnu2enp4KCQm5iREBAAAAwJ9sJv4F59gME2diysjIUFZWlkqWLFnIPe8v5P4AAADgirKMC2aHACe42+qbHUKBnb34o2nnLlX8HtPObSWmPn7s6elp5ukBAAAAABbncuvUdurUSQkJCWaHAQAAAAC6XDKZtcEZLnen1q1bp/T0dLPDAAAAAABYgKmPHwMAAACAK7PZmLDJ1bncSG1oaKiKFy9udhgu5YMPvtE99/RRePiDevDBYYqJ2W12SMgFebIG8mQd5MoayJM1kCdzxfyyR4MGTFZkyydVp/Y/9f33P9vbLl68pNdfW6T7Ow9XRMPHFdnyST3/3DQlnfjDoY9PFq9Szx5jdVfEv1Sn9j+VlnbuZl8G4LJcrqiNjY1V5cqVzQ7DZSxfvl6TJr2ngQO7aenStxQRUVf9+o3T8eNJZoeGq5AnayBP1kGurIE8WQN5Mt/59AzVqh2qF8f0ydF24UKG9uw5pAGD/qHPPp+it6eN1G+/JWjwoCl/OS5TLVrerif7P3CzwgYsw9Qlfa44cOCAoqOjlZiYKJvNpsDAQDVr1kw1atQoYI9FZ0mff/5zhOrUuU3jxw+y77v33oFq27aJRozoaWJkuBp5sgbyZB3kyhrIkzUU9TxZbUmfOrX/qbenP6u2bRvlecyuXQf18D9H6/sfZ6pChfIObT9v3q1ePcdp08/z5OvrfaPDLTRWXtLn3KV1pp3bu1gr085tJaa+U5uamqp//etf+uqrr+Tn56eAgAAZhqHk5GSlpaWpc+fOWrBggXx9fc0M0zSZmRe1e/dBPfnkPxz2N2/eUNu2xZkUFf6KPFkDebIOcmUN5MkayJM1nTlzXjabzVJFK2AmUx8/HjJkiOLj47Vx40alpKRo37592r9/v1JSUhQdHa34+HgNGTLEzBBNlZKSpqysbJUtW9phf7lypZWcfNqUmJATebIG8mQd5MoayJM1kCfrycjI1NTXP1Cn+1qoVKmSZocDSTYT/4JzTB2pXbZsmVauXKnGjRvnaGvcuLFmzZqlDh06XLOPjIwMZWRkOOzz9MyUp6dHocZqpr/OuGYYhpiEzfWQJ2sgT9ZBrqyBPFkDebKGixcvacTwN5VtGHppbF+zwwEsw/SJoq41RbYz02dPmjRJfn5+DtukSbMKM0TT+Pv7yt3dTSdPpjjsP3UqVeXKlTYnKORAnqyBPFkHubIG8mQN5Mk6Ll68pOHPvKFjR5M0Z84YRmldipuJG5xh6p3q3Lmz+vXrp5iYmBxtMTExGjBggLp06XLNPkaPHq3U1FSHbfTo/jcq5JvKw6O46tatrp9+2uawPzp6uxo2DDMpKvwVebIG8mQd5MoayJM1kCdruFLQHj6cqDlzx6i0v4/ZIQGWYurjx9OmTVP37t3VqFEjlS5dWgEBAbLZbDpx4oRSU1MVFRWlt99++5p9eHp6ytPT8y97i86jx717d9WoUW+oXr0aatiwthYvXqGEhGQ98si9ZoeGq5AnayBP1kGurIE8WQN5Mt+5c+k6ciTR/vnY0STFxcXLz6+UAgLKaNjTrytuT7xm/vd5ZWVlKzn58si6n18peXgUlyQlJ6fo5MnT9n727z8ib+8SCg4up9KlKYJxa3OJJX327t2rjRs3KjHx8r+kQUFBatq0qWrXrl3AHovOkj7S5QXT58z5QklJf6hmzVCNHt1Xd91Vz+yw8BfkyRrIk3WQK2sgT9ZQlPNkhSV9rizD81ddu0Zq8FPd1K7t4Fy/N2/+ODVqXFeSNH3aJ5o549Mcx0yYOEgPPHh3ocZ7I1h5SZ/0S9GmndurWDPTzm0lLlHUFr6iVdQCAAAgd1YoakFRW1AUtc5xibePs7Oz89x/5MiRmxwNAAAAAFxms9lM2+AcU4vatLQ0devWTd7e3goMDNTYsWOVlZVlb09OTlbVqlVNjBAAAAAA4MpMnShqzJgx2rFjhxYuXKjTp0/rP//5j7Zs2aIvvvhCHh6XJ3sqkk9HAwAAAAAKhanv1IaGhmr+/Plq3bq1JOnUqVPq1KmT/Pz8tGzZMp0+fVoVKlRwGL11Du/UAgAA3Ap4p9YarPxO7YWsTaadu4R7E9PObSWmPn588uRJhYaG2j+XLVtWq1at0pkzZ9SxY0edP3/exOgAAAAAAK7O1KK2cuXKiouLc9jn4+Oj7777Tunp6XrggQdMigwAAAAAJJvcTNvgHFPvVPv27TV37twc+0uVKqWVK1eqRIkSJkQFAAAAALAKUyeKGj9+vI4fP55rm4+Pj77//ntt2bLlJkcFAAAAAFewtI6rM3WiqBuHiaIAAABuBUwUZQ1WnigqI+sX087t6X6Xaee2ElNHaiXp3Llz+vDDDxUdHa3ExETZbDYFBgaqefPm6t69u7y9vc0OEQAAAADgokwdqd2zZ4/atWun8+fPKzIyUoGBgTIMQ0lJSVq7dq28vb313XffqU6dOvnsmZFaAACAWwEjtdZg5ZHazOwY087t4Xanaee2ElOL2rvvvltBQUGaP3++PDw8HNoyMzPVq1cvJSQkaPXq1fnsmaIWAADgVkBRaw0UtQVDUescU4vakiVLKiYmJs+R2NjYWDVq1KgA69VS1AIAANwKKGqtwdpFrXkT13q4RZh2bisxdUkff39/HThwIM/2gwcPyt/f/yZGBAAAAACwElMniurXr5969uypF198Ue3atVNgYKBsNpsSExO1atUqTZw4UcOGDTMzRAAAAACACzN9SZ8pU6borbfess98LEmGYSgoKEjDhg3TqFGjCtArjx8DAADcCnj82Bqs/Pjxxextpp27uFtD085tJaYXtVfEx8crMTFRkhQUFKSqVateR28UtQAAALcCilproKgtGIpa55i+Tu0VVatWvc5CFgAAAAAKm83sAPA3TJ0oSpLS09O1YcMG7dmzJ0fbhQsXtGDBAhOiAgAAAABYgalF7f79+xUWFqZWrVopPDxcrVu3VkJCgr09NTVVvXv3NjFCAAAAALcym4l/wTmmFrXPPfecwsPDlZSUpH379snX11fNmzfXkSNHzAwLAAAAAGARpha10dHRmjhxosqVK6fq1atr2bJluvfee9WyZUsdOnTIzNAAAAAAABZg6kRR6enpKlbMMYQZM2bIzc1NkZGR+vDDD02KDAAAAABkX3YUrsvUorZ27dqKiYlRWFiYw/5p06bJMAx16dLFpMgAAAAAAFZg6uPHDzzwgD766KNc26ZPn67u3bvLRZbRBQAAAHBLcjNxgzNsRpGsGvebHQAAAABugizjgtkhwAnutvpmh1BgWUasaed2t9Uz7dxWQvkPAAAAALAsU9+pBQAAAABXxnqxro+RWgAAAACAZTFSCwAAAAB5YqTW1TFSCwAAAACwLIpaAAAAAIBl8fgxAAAAAOTBZuPxY1fHSC0AAAAAwLIYqQUAAACAPDEO6OrIEAAAAAAUATNnzlTVqlVVokQJRUREaP369WaHdFNQ1AIAAABAHmwm/pUfixcv1rBhw/Tvf/9b27ZtU8uWLXXvvffqyJEjN+jOuA6bYRiG2UEUvv1mBwAAAICbIMu4YHYIcIK7rb7ZIVwHM2uLmk4f2bhxY91xxx1655137PvCwsLUtWtXTZo06UYE5zIYqQUAAAAAF5SRkaG0tDSHLSMjI8dxmZmZ2rJli9q3b++wv3379oqOjr5Z4ZqmiE4U5fwvGlaQkZGhSZMmafTo0fL09DQ7HFwDubIG8mQN5Mk6yJU1FNU8uRex1VaKap6szbzaYtKkcRo/frzDvrFjx2rcuHEO+06ePKmsrCwFBgY67A8MDFRiYuKNDtN0RfTx46IlLS1Nfn5+Sk1Nla+vr9nh4BrIlTWQJ2sgT9ZBrqyBPFkDecLVMjIycozMenp65vjB4/jx46pYsaKio6PVtGlT+/4JEyZo4cKF2rt3702J1yxFdKQWAAAAAKwttwI2N+XKlZO7u3uOUdmkpKQco7dFEe/UAgAAAICFeXh4KCIiQqtWrXLYv2rVKjVr1sykqG4eRmoBAAAAwOKGDx+uHj166M4771TTpk317rvv6siRIxowYIDZod1wFLUW4OnpqbFjxzJZgAWQK2sgT9ZAnqyDXFkDebIG8oSCevjhh3Xq1Cm9/PLLSkhIUL169bR8+XKFhoaaHdoNx0RRAAAAAADL4p1aAAAAAIBlUdQCAAAAACyLohYAAAAAYFkUtQAAAAAAy6KoLaBJkybprrvuko+PjwICAtS1a1ft27fP4RjDMDRu3DhVqFBBXl5eat26tXbv3m1v/+OPPzRkyBDVqlVLJUuWVEhIiIYOHarU1FSHflJSUtSjRw/5+fnJz89PPXr00OnTp/82xl27dikyMlJeXl6qWLGiXn75ZV09L9iaNWtks9lybHv37r2+m+NiikKuJCkjI0P//ve/FRoaKk9PT9122216//33C35jXExRyFOvXr1y/Xeqbt2613dzXEhRyJMkffDBB2rQoIFKliyp4OBg9e7dW6dOnSr4jXFBRSVXM2bMUFhYmLy8vFSrVi0tWLCg4DfFBbl6ni5cuKBevXopPDxcxYoVU9euXXM9bu3atYqIiFCJEiVUrVo1/fe//y3Q/XBVRSFPCQkJevTRR1WrVi25ublp2LBhBb0dgOsxUCBRUVHG3LlzjdjYWGP79u1Gp06djJCQEOPs2bP2YyZPnmz4+PgYn3/+ubFr1y7j4YcfNoKDg420tDTDMAxj165dxoMPPmgsW7bMOHjwoPHDDz8YNWrUMB566CGHc3Xo0MGoV6+eER0dbURHRxv16tUz7rvvvmvGl5qaagQGBhqPPPKIsWvXLuPzzz83fHx8jNdee81+zOrVqw1Jxr59+4yEhAT7dunSpUK8U+YrCrkyDMPo0qWL0bhxY2PVqlVGfHy8sXnzZuOnn34qpLtkvqKQp9OnTzv8u/T7778bZcqUMcaOHVt4N8pkRSFP69evN9zc3Iy33nrLOHTokLF+/Xqjbt26RteuXQvxTpmvKORq5syZho+Pj/Hxxx8bv/76q/HRRx8ZpUqVMpYtW1aId8pcrp6ns2fPGgMGDDDeffddIyoqyrj//vtzHHPo0CGjZMmSxtNPP23s2bPHmD17tlG8eHHjs88+u/4b5CKKQp7i4+ONoUOHGvPnzzduv/124+mnn77u+wK4CoraQpKUlGRIMtauXWsYhmFkZ2cbQUFBxuTJk+3HXLhwwfDz8zP++9//5tnPJ598Ynh4eBgXL140DMMw9uzZY0gyNm3aZD9m48aNhiRj7969efYzc+ZMw8/Pz7hw4YJ936RJk4wKFSoY2dnZhmH8WdSmpKQU6Jqtyoq5+vbbbw0/Pz/j1KlTBbtoC7Jinv5qyZIlhs1mM3777TfnLtqCrJin//u//zOqVavm8L23337bqFSpUj6u3HqsmKumTZsaI0eOdPje008/bTRv3jwfV24trpanq/Xs2TPXYmnUqFFG7dq1Hfb179/faNKkiVP9WpEV83S1yMhIiloUKTx+XEiuPDpSpkwZSVJ8fLwSExPVvn17+zGenp6KjIxUdHT0Nfvx9fVVsWLFJEkbN26Un5+fGjdubD+mSZMm8vPzu2Y/GzduVGRkpMPC3VFRUTp+/Lh+++03h2MbNmyo4OBgtWnTRqtXr3b+oi3KirlatmyZ7rzzTr366quqWLGiatasqZEjRyo9PT3/N8AirJinv5ozZ47atm1bpBc9t2KemjVrpqNHj2r58uUyDEMnTpzQZ599pk6dOuX/BliIFXOVkZGhEiVKOHzPy8tLP//8sy5evOjklVuLq+XJGRs3bnSIT7qcy5iYGPLkQnkCijKK2kJgGIaGDx+uFi1aqF69epKkxMRESVJgYKDDsYGBgfa2vzp16pReeeUV9e/f374vMTFRAQEBOY4NCAjIs58r38vt3FfHFhwcrHfffVeff/65vvjiC9WqVUtt2rTRunXr/u6SLcuquTp06JA2bNig2NhYLVmyRG+++aY+++wzDR48+O8u2ZKsmqerJSQk6Ntvv1Xfvn3z7NPqrJqnZs2a6YMPPtDDDz8sDw8PBQUFqXTp0po2bdrfXbJlWTVXUVFReu+997RlyxYZhqGYmBi9//77unjxok6ePPl3l205rpgnZ+SVy0uXLpEnF8oTUJRR1BaCp556Sjt37tRHH32Uo81mszl8Ngwjxz5JSktLU6dOnVSnTh2NHTv2mn38tZ+6deuqVKlSKlWqlO69995rnvvq/bVq1VK/fv10xx13qGnTppo5c6Y6deqk1157zZnLtiSr5io7O1s2m00ffPCBGjVqpI4dO+qNN97QvHnziuRorVXzdLV58+apdOnSeU6qUhRYNU979uzR0KFD9dJLL2nLli1asWKF4uPjNWDAAGcu25KsmqsxY8bo3nvvVZMmTVS8eHHdf//96tWrlyTJ3d397y7bclw1T87Iz5+PVmflPAFFVTGzA7C6IUOGaNmyZVq3bp0qVapk3x8UFCTp8i9uwcHB9v1JSUk5fsU7c+aMOnTooFKlSmnJkiUqXry4Qz8nTpzIcd7k5GR7P8uXL7c/3uPl5WX/3l9/0UtKSpKU81fEqzVp0kSLFi36+wu3ICvnKjg4WBUrVpSfn5/9mLCwMBmGoaNHj6pGjRr5vBuuy8p5usIwDL3//vvq0aOHPDw88ncDLMLKeZo0aZKaN2+uZ599VpJUv359eXt7q2XLlvrPf/7jEHdRYOVceXl56f3339esWbN04sQJ+xNGPj4+KleuXMFuiIty1Tw5I69cFitWTGXLlnW6Hyuwcp6AIu0mvLdbJGVnZxuDBw82KlSoYOzfvz/X9qCgIGPKlCn2fRkZGTkmDEhNTTWaNGliREZGGufOncvRz5UJAzZv3mzft2nTJqcm4ChdurSRkZFh3zd58uRrTmpjGIbx0EMPGXfffXfeF25BRSFXs2bNMry8vIwzZ87Yj1m6dKnh5uZmnD9/3sk74dqKQp6uuDIJ265du5y7eAspCnl68MEHjW7dujl8Lzo62pBkHDt2zIm7YA1FIVe5adWqldG9e/e8L9xiXD1PV7vWRFFhYWEO+wYMGFCkJooqCnm6GhNFoaihqC2ggQMHGn5+fsaaNWsclvC4usCYPHmy4efnZ3zxxRfGrl27jO7duztM7Z6WlmY0btzYCA8PNw4ePJjnsjodOnQw6tevb2zcuNHYuHGjER4e/rdTu58+fdoIDAw0unfvbuzatcv44osvDF9fX4elEqZOnWosWbLE2L9/vxEbG2s8//zzhiTj888/L+S7Za6ikKszZ84YlSpVMv7xj38Yu3fvNtauXWvUqFHD6Nu3byHfLfMUhTxd8fjjjxuNGzcupDvjWopCnubOnWsUK1bMmDlzpvHrr78aGzZsMO68806jUaNGhXy3zFUUcrVv3z5j4cKFxv79+43NmzcbDz/8sFGmTBkjPj6+cG+WiVw9T4ZhGLt37za2bdtmdO7c2WjdurWxbds2Y9u2bfb2K0v6PPPMM8aePXuMOXPmFLklfYpCngzDsO+LiIgwHn30UWPbtm3G7t27C+cmASaiqC0gSbluc+fOtR+TnZ1tjB071ggKCjI8PT2NVq1aOYzcXBnNyW27+j/Yp06dMh577DHDx8fH8PHxMR577DGnluHZuXOn0bJlS8PT09MICgoyxo0b5/Dr95QpU4zbbrvNKFGihOHv72+0aNHC+Oabbwrj9riUopArwzCMuLg4o23btoaXl5dRqVIlY/jw4UVmlNYwik6eTp8+bXh5eRnvvvvu9d4Sl1RU8vT2228bderUMby8vIzg4GDjscceM44ePXq9t8elFIVc7dmzx7j99tsNLy8vw9fX17j//vudHq2yCivkKTQ0NNe+r7ZmzRqjYcOGhoeHh1GlShXjnXfeud5b41KKSp5yaw8NDb3OuwOYz2YY/3uTHwAAAAAAi2H2YwAAAACAZVHUAgAAAAAsi6IWAAAAAGBZFLUAAAAAAMuiqAUAAAAAWBZFLQAAAADAsihqAQAAAACWRVELAAAAALAsiloAgEv47bffZLPZtH37drNDuWmqVKmiN9980+wwAACwNIpaAHBhNpvtmluvXr3MDrFAevXqpa5duzrsq1y5shISElSvXr0beu5x48bJZrOpQ4cOOdpeffVV2Ww2tW7dulDPOW/ePJUuXbpQ+wQAAJcVMzsAAEDeEhIS7H+/ePFivfTSS9q3b599n5eXl8PxFy9eVPHixW9afIXJ3d1dQUFBN+VcwcHBWr16tY4ePapKlSrZ98+dO1chISE3JQYAAFA4GKkFABcWFBRk3/z8/GSz2eyfL1y4oNKlS+uTTz5R69atVaJECS1atEinTp1S9+7dValSJZUsWVLh4eH66KOPHPpt3bq1hg4dqlGjRqlMmTIKCgrSuHHjHI4ZN26cQkJC5OnpqQoVKmjo0KH2tkWLFunOO++Uj4+PgoKC9OijjyopKcnh+7t371anTp3k6+srHx8ftWzZUr/++qvGjRun+fPn68svv7SPOK9ZsybXx4/Xrl2rRo0aydPTU8HBwXr++ed16dKlfF1HbgICAtS+fXvNnz/fvi86OlonT55Up06dHI7Nzs7Wyy+/rEqVKsnT01O33367VqxYYW+/EvcXX3yhu+++WyVLllSDBg20ceNGSdKaNWvUu3dvpaam2q/36hjPnz+vJ554Qj4+PgoJCdG77777t/EDAIA/UdQCgMU999xzGjp0qOLi4hQVFaULFy4oIiJCX3/9tWJjY/Xkk0+qR48e2rx5s8P35s+fL29vb23evFmvvvqqXn75Za1atUqS9Nlnn2nq1KmaNWuWDhw4oKVLlyo8PNz+3czMTL3yyivasWOHli5dqvj4eIdHoY8dO6ZWrVqpRIkS+vHHH7VlyxY98cQTunTpkkaOHKlu3bqpQ4cOSkhIUEJCgpo1a5bjuo4dO6aOHTvqrrvu0o4dO/TOO+9ozpw5+s9//uP0dVzLE088oXnz5tk/v//++3rsscfk4eHhcNxbb72l119/Xa+99pp27typqKgodenSRQcOHHA47t///rdGjhyp7du3q2bNmurevbsuXbqkZs2a6c0335Svr6/9ekeOHGn/3uuvv64777xT27Zt06BBgzRw4EDt3bv3b+MHAAD/YwAALGHu3LmGn5+f/XN8fLwhyXjzzTf/9rsdO3Y0RowYYf8cGRlptGjRwuGYu+66y3juuecMwzCM119/3ahZs6aRmZnpVGw///yzIck4c+aMYRiGMXr0aKNq1ap5fr9nz57G/fff77DvyvVs27bNMAzDeOGFF4xatWoZ2dnZ9mNmzJhhlCpVysjKynLqOnIzduxYo0GDBkZmZqYREBBgrF271jh79qzh4+Nj7Nixw3j66aeNyMhI+/EVKlQwJkyYkOMcgwYNcoj7vffes7fv3r3bkGTExcUZhpEzd1eEhoYajz/+uP1zdna2ERAQYLzzzjt5xg8AABwxUgsAFnfnnXc6fM7KytKECRNUv359lS1bVqVKldJ3332nI0eOOBxXv359h8/BwcH2R4j/+c9/Kj09XdWqVVO/fv20ZMkSh8d+t23bpvvvv1+hoaHy8fGxT6x05Rzbt29Xy5Ytr+v93ri4ODVt2lQ2m82+r3nz5jp79qyOHj3q1HVcS/HixfX4449r7ty5+vTTT1WzZs0cfaWlpen48eNq3ry5w/7mzZsrLi7OYd/V3w0ODpYkp+K4+ntXHi935nsAAOAyiloAsDhvb2+Hz6+//rqmTp2qUaNG6ccff9T27dsVFRWlzMxMh+P+WnDabDZlZ2dLujwT8b59+zRjxgx5eXlp0KBBatWqlS5evKhz586pffv2KlWqlBYtWqRffvlFS5YskST7Of46gVVBGIbhUNBe2XclVmeu4+888cQT+vTTTzVjxgw98cQTeR6XWxx/3Xd1HFfanInjeuIHAAAUtQBQ5Kxfv17333+/Hn/8cTVo0EDVqlXL8f6nM7y8vNSlSxe9/fbbWrNmjTZu3Khdu3Zp7969OnnypCZPnqyWLVuqdu3aOUYW69evr/Xr1+vixYu59u3h4aGsrKxrnr9OnTqKjo62F7LS5cmcfHx8VLFixXxfT27q1q2runXrKjY2Vo8++miOdl9fX1WoUEEbNmxw2B8dHa2wsDCnz+PM9QIAgIKhqAWAIqZ69epatWqVoqOjFRcXp/79+ysxMTFffcybN09z5sxRbGysDh06pIULF8rLy0uhoaEKCQmRh4eHpk2bpkOHDmnZsmV65ZVXHL7/1FNPKS0tTY888ohiYmJ04MABLVy40L4cUZUqVbRz507t27dPJ0+ezLX4HTRokH7//XcNGTJEe/fu1ZdffqmxY8dq+PDhcnMrvP98/fjjj0pISMhzHdlnn31WU6ZM0eLFi7Vv3z49//zz2r59u55++mmnz1GlShWdPXtWP/zwg06ePKnz588XUvQAAICiFgCKmDFjxuiOO+5QVFSUWrduraCgIHXt2jVffZQuXVqzZ89W8+bNVb9+ff3www/66quvVLZsWZUvX17z5s3Tp59+qjp16mjy5Ml67bXXHL5ftmxZ/fjjjzp79qwiIyMVERGh2bNn2x+17devn2rVqqU777xT5cuX108//ZQjhooVK2r58uX6+eef1aBBAw0YMEB9+vTRiy++WOB7kxtvb+88C1pJGjp0qEaMGKERI0YoPDxcK1as0LJly1SjRg2nz9GsWTMNGDBADz/8sMqXL69XX321ECIHAACSZDOufq4LAAAAAAALYaQWAAAAAGBZFLUAAAAAAMuiqAUAAAAAWBZFLQAAAADAsihqAQAAAACWRVELAAAAALAsiloAAAAAgGVR1AIAAAAALIuiFgAAAABgWRS1AAAAAADLoqgFAAAAAFjW/wPOYij3LR7ljgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "merged_df['transaction_month'] = merged_df['created_at_x'] # Ensure it's using the month-year format\n", + "cohort_data = merged_df.groupby(['cohort', 'transaction_month']).size().unstack(fill_value=0)\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "sns.heatmap(cohort_data, annot=True, fmt=\"d\", cmap=\"YlGnBu\", cbar_kws={'label': 'Transactions'})\n", + "plt.title('Transaction Frequency by Cohort Over Time')\n", + "plt.xlabel('Transaction Month')\n", + "plt.ylabel('Cohort (First Interaction Month)')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b44beaec-d48f-403e-8e9c-9a5c885cdd81", + "metadata": {}, + "source": [ + "**Distribution: The values in the heatmap show a gradual decrease in transaction frequency over time, showing a right-skewed distribution. This means that most transactions occur in the initial months, with fewer transactions in later months.\n", + "The transactional behavior across cohorts is positively skewed since the majority of the activity happens early.**" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "id": "aea5047e-8dbc-4137-b081-4716069d8876", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABAgAAAJGCAYAAADWG7c8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACC9UlEQVR4nOzdfXzNhf//8efZ1dms7Zhmm7ENabKGRLmq5vqi0CXVauyTqA+Rz/hU8qlQo4+PXHzoShfkIqpP6UqtoZCYJBMJERvZRswZsyvb+/eH387XOUOOdnZmHvfbbbc67/dr7/frnL2w8zzvC5NhGIYAAAAAAMBlzcPdDQAAAAAAAPcjIAAAAAAAAAQEAAAAAACAgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAAAAAAIiAAAAAAAAAiIAAAAAAAACIgAAAUIXmzZsnk8lk+/Ly8lK9evV033336ddff3V3e9VWYmKi3etmNpvVtGlTPffccyosLHTZfh1/Xuf6atiwoct6cLft27dr/Pjx2rdvX4V1iYmJbnnu+/btk8lk0tSpU6tkf7/99psee+wxRUdHy8/PT7Vq1dK1116rf/3rX/r999+d3l5iYqKuuOIKF3Ra0cmTJzV+/HitWrWqSvYHAJc6L3c3AAC4/MydO1fXXHONCgsL9d133yk5OVnffPONduzYoaCgIHe3Vy35+fnp66+/liTl5uZq8eLFmjhxonbs2KH33nvPJfu87bbbtH79ertl7du31z333KPRo0fblpnNZpfsvzrYvn27JkyYoE6dOlUIA5555hk9/vjj7mmsinz++ee67777FBwcrMcee0ytWrWSyWTS1q1b9fbbb2vZsmXavHmzu9s8p5MnT2rChAmSpE6dOrm3GQC4BBAQAACqXGxsrNq0aSPp9C/tpaWleu655/Txxx/rb3/7m5u7q548PDzUrl072+PevXtr3759ev/99zVt2jTVr1//ordtGIYKCwvl5+dnt7xu3bqqW7duhfrQ0FC7XhyVlpbq1KlTNTo4kKSrrrrK3S241N69e3XfffcpOjpa33zzjSwWi21dly5dNHLkSC1dutSNHZ5b+UwDAJzDKQYAALcrDwtycnLslv/www/q16+f6tSpI19fX7Vq1Urvv/++bf2WLVtkMpn01ltvVdjml19+KZPJpE8//dS27Ndff1V8fLxCQkJkNpvVrFkzvfzyy3bft2rVKplMJi1evFjjxo1TeHi4AgMD1a1bN+3cudOutmHDhkpMTKyw706dOlX4tDIvL09jxoxRo0aN5OPjo/r162vUqFHKz8+/oNfobMrfpGdkZDi1D5PJpMcee0yvvfaamjVrJrPZrHfeeeeieig/3H3KlCl64YUX1KhRI5nNZn3zzTcqLCzU6NGjdd1118lisahOnTpq3769PvnkkwrbKe9pwYIFatasmWrVqqWWLVvq888/t6s7fPiwhg4dqoiICJnNZtWtW1cdO3bUihUrbDXLly/X7bffrgYNGsjX11dNmjTRI488oj/++KPCfnfs2KH7779foaGhMpvNioyM1MCBA1VUVKR58+apf//+kqTOnTvbTqmYN2+epLOfYlBYWKixY8fa/QyGDx+uY8eO2dU1bNhQffr0UUpKiq6//nr5+fnpmmuu0dtvv33Br31ZWZmSk5MVGRkpX19ftWnTRitXrrSt//bbb22z7Gj+/PkymUzauHHjObc/bdo05efn65VXXrELB8qZTCbddddddsvefvtttWzZUr6+vqpTp47uvPNO/fLLL2fd/u7du3XrrbfqiiuuUEREhEaPHq2ioiK7mqNHj2rYsGGqX7++fHx81LhxY40bN65C3blmujzgmjBhgu3nd7Y/swCA/88AAKCKzJ0715BkbNy40W757NmzDUnGhx9+aFv29ddfGz4+PsbNN99svPfee0ZKSoqRmJhoSDLmzp1rq2vVqpXRsWPHCvsaMGCAERISYpSUlBiGYRg///yzYbFYjObNmxvz5883UlNTjdGjRxseHh7G+PHjbd/3zTffGJKMhg0bGg888ICxbNkyY/HixUZkZKRx9dVXG6dOnbLVRkVFGYMGDaqw77i4OCMuLs72OD8/37juuuuM4OBgY9q0acaKFSuMmTNnGhaLxejSpYtRVlZ23tdt0KBBhr+/f4Xld955pyHJ2LVrl1P7kGTUr1/faNGihfHuu+8aX3/9tbFt27bz9nDm9w4fPtz2eO/evbbtde7c2fjf//5npKamGnv37jWOHTtmJCYmGgsWLDC+/vprIyUlxRgzZozh4eFhvPPOOxW227BhQ+PGG2803n//feOLL74wOnXqZHh5eRl79uyx1fXs2dOoW7euMWfOHGPVqlXGxx9/bDz77LPGkiVLbDWvvvqqMXny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rD0XDw8P22t2rm04sw/HN11/1dm2t3DhQjVq1Ejvvfee3fqzvWYXKjg4WDNmzNCMGTOUmZmpTz/9VE899ZQOHTqklJQUbdu2TVu2bNG8efM0aNAg2/ft3r3bbjt16tSRp6enDhw4cNG9OLryyit16tQpHT582C4kMAxD2dnZuuGGGyptX5JsoYjjMh8fH11xxRW2ZX//+9/14osv6u2331ZhYaFOnTqlRx999E+337NnT82aNUtpaWnnvWuF9H9hR1ZWVoV1Bw8evKAZP9s2N2zYIMMw7Obn0KFDOnXqlMtnGgAuRxxBAABwuylTpigoKEjPPvusysrK1LRpU1199dXasmWL2rRpc9avMw9F79Gjh+rXr6+5c+dq7ty58vX1tTsioVatWurcubM2b96sFi1anHV7Z/s09880bNhQP/30k92yXbt2VbjbQZ8+fbRnzx5deeWVZ92345XwL0ZV7MNZJpNJPj4+dm/csrOzz3oXg4sRGRmpxx57TN27d9ePP/5o26ekCp+Ov/7663aP/fz8FBcXpw8++OC8R3A4c+RI165dJZ0ORs704YcfKj8/37a+snz00Ud2n7gfP35cn332mW6++WZ5enralterV0/9+/fXK6+8otdee019+/a1O7XhXP7xj3/I399fw4YNk9VqrbDeMAzbKS7t27eXn59fhed+4MABff311xf13Lt27aoTJ07o448/tls+f/582/o/81eO/AGAyxFHEAAA3C4oKEhjx47VE088oXfffVcPPvigXn/9dfXu3Vs9e/ZUYmKi6tevr6NHj+qXX37Rjz/+qA8++MD2/Z6enho4cKCmTZumwMBA3XXXXRVuyzZz5kzddNNNuvnmm/X3v/9dDRs21PHjx7V792599tlntvPHnZGQkKAHH3xQw4YN0913362MjAxNmTKlwiHmo0aN0ocffqhbbrlF//jHP9SiRQuVlZUpMzNTqampGj16tNq2bXtxL14V7sNZffr00UcffaRhw4bpnnvu0f79+/X888+rXr16+vXXX53entVqVefOnRUfH69rrrlGAQEB2rhxo1JSUmxHmlxzzTW66qqr9NRTT8kwDNWpU0efffaZli9fXmF706ZN00033aS2bdvqqaeeUpMmTZSTk6NPP/1Ur7/+ugICAhQbGytJmjNnjgICAuTr66tGjRqdNVDq3r27evbsqSeffFJ5eXnq2LGjfvrpJz333HNq1aqVEhISnH7O5+Pp6anu3bsrKSlJZWVl+ve//628vDxNmDChQu3jjz9u+/nPnTv3grbfqFEjLVmyRPfee6+uu+46PfbYY2rVqpUkafv27Xr77bdlGIbuvPNO1a5dW88884yefvppDRw4UPfff7+OHDmiCRMmyNfXV88995zTz2/gwIF6+eWXNWjQIO3bt0/NmzfX2rVrNWnSJN16663q1q3bn24jICBAUVFR+uSTT9S1a1fVqVNHwcHBbgnMAOCS4MYLJAIALjPnus2hYZy+grvjrQS3bNliu12ht7e3ERYWZnTp0sV47bXXKnz/rl27DEmGJGP58uVn3f/evXuNhx56yKhfv77h7e1t1K1b1+jQoYPxwgsv2GrK72LwwQcfVPheOdxisayszJgyZYrRuHFjw9fX12jTpo3x9ddfV7iLgWEYxokTJ4x//etfRtOmTQ0fHx/bLRf/8Y9/GNnZ2ed93c51m0NHF7oPOdyJwBmO31v+uvznP/85a/2LL75oNGzY0DCbzUazZs2MN954w3juuecMx19BztXTmXeKKCwsNB599FGjRYsWRmBgoOHn52c0bdrUeO6554z8/Hzb92zfvt3o3r27ERAQYAQFBRn9+/c3MjMzz3o1++3btxv9+/c3rrzySsPHx8eIjIw0EhMT7W5JOGPGDKNRo0aGp6en3Qw43sXAME7P8ZNPPmlERUUZ3t7eRr169Yy///3vRm5uboXnddttt1V4vmebHUflr/m///1vY8KECUaDBg0MHx8fo1WrVsZXX311zu9r2LCh0axZs/Nu+2z27NljDBs2zGjSpIlhNpsNPz8/IyYmxkhKSjL27t1rV/vmm28aLVq0sM3f7bffbvz88892Neea57PNxZEjR4xHH33UqFevnuHl5WVERUUZY8eOtfv5GMb5Z3rFihVGq1atDLPZbEg6651HAACnmQzDMKo+lgAAAEBV+emnn9SyZUu9/PLLtgt9AgDgiIAAAACghtqzZ48yMjL09NNPKzMzU7t371atWrXc3RYAoJriIoUAAAA11PPPP6/u3bvrxIkT+uCDDwgHAADnxREEAAAAAACAIwgAAAAAAAABAQAAAAAAEAEBAAAAAACQ5OXuBi43ZWVlOnjwoAICAmQymdzdDgAAAACghjMMQ8ePH1d4eLg8PM59nAAB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l2VIYDKYeFRzmZmZatiwoZ588klNnjxZJSUlmj59urZt26YrrrhCbdq0sX0ihMvH7t271b9/f33++ecKCQnR4MGD9fPPP+v48eNq1qyZ5s+fL4vFIsMwCAsuA1u3btV1112np556SsnJyTp8+LDuu+8+RUdH67///a88PT35JOgyYxiGJk6cqO3bt+u9996TJGVlZen+++9XcnKy8vPz1a1bN+biMlJaWqonnnhCJ06c0Ouvvy5JKigoUHx8vD755BN17txZK1eulCT+7biMvPbaa3rvvff01VdfycfHR6dOndIPP/yggQMHqm7duvruu+8knT7UnL8varbc3Fw98MAD8vPzk4eHhw4ePKiEhAQNGTJEnp6el80M1PxniEvegQMHVLt2bdsnw7169dJHH32kgoIC7dixQ1OmTNFjjz3m5i5R1X7//XedOHFC9evXV0JCgo4cOaIxY8boX//6l3bu3KmuXbtK4kiCy0FJSYlmzZql8ePHKzk5WZJUt25dde7cWYsXL9axY8c45/wyZDKZtHfvXu3fv9+27J133tHGjRv1yCOPaPDgwWrdurWOHz8uiU8ILweenp7avXu38vPzJZ1+w+fn56e4uDgNHTpUu3bt0t/+9jdJ/NtxOcnIyNCBAwfk4+MjSfLy8lK7du30/vvv6/fff9edd94pidMNLgenTp3SVVddpSFDhuiNN95Qw4YNtWDBAr3xxhu2Iwkuh38rmHRUe23bttUnn3yi5cuXy8PDQ0FBQfroo4/0wQcf6LPPPtPQoUO1YsUKrV271t2togqU/8XcqlUrlZWVacSIEcrLy9OkSZN0//33a+DAgVq+fLlycnI0fvx49zaLKuHt7a3JkyfrmWeekfR/FxQaM2aMGjRooOeff15lZWX8wn8ZKS0tlST16dNH2dnZ6tatmwYPHqzx48fr/fff1xdffKHvv/9eJ0+e1IgRIyTxhrCmKy0t1alTpxQdHa28vDxt3rxZHh4e2rdvn55//nm1bt1aTz75pNLT05WTk+PudlGFbr31Vp06dUoffPCB3fIWLVpo+vTp2rFjh1avXu2m7lCV6tatq2eeeUY9e/ZU7dq1NWvWLFtIMGfOHNvvEiUlJe5u1aUICFAtlf+CbxiGPD091a5dOy1evFj33nuvHnvsMYWHh8swDPn7+2vAgAHat2+fdu/e7eau4UqO5355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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "revenue_data = merged_df.groupby(['cohort', 'transaction_month'])['amount'].sum().reset_index()\n", + "\n", + "plt.figure(figsize=(12, 6))\n", + "sns.boxplot(x='cohort', y='amount', data=revenue_data)\n", + "plt.title('Revenue Per Transaction by Cohort')\n", + "plt.xlabel('Cohort (First Interaction Month)')\n", + "plt.ylabel('Revenue per Transaction')\n", + "plt.xticks(rotation=45)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "35c7d382-62b1-414b-9ae3-82e93efde06a", + "metadata": {}, + "source": [ + "**Distribution: The box plot highlights the spread of revenue within each cohort. The cohorts have varying levels of skewness:\n", + "\t•\tEarlier cohorts (e.g., 2020-06) show a narrow distribution, meaning revenue was more consistent.\n", + "\t•\tLater cohorts (e.g., 2020-10) show a wide spread, indicating variability in transaction values.\n", + "\t•\tOutliers: The 2020-10 cohort displays outliers, suggesting that a few transactions are contributing significantly to the total revenue.**" + ] + }, + { + "cell_type": "code", + "execution_count": 508, + "id": "b61e12db-3d70-48ef-a8af-d812a84aa028", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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3bu38fLyMo8//rjLutO394EHHjBff/21+emnn0zNmjWNl5eX2bVrV7b6MGjQoAzvibS0NGv5RYoUMRUrVjRTp041CxcuNJs3bzZbtmwxTqfTVKhQwfz73/828+bNM927dzceHh6mb9++1joSEhJMSEiIKVKkiBk/frz56aefTMuWLa337qXPd2RkpMtrPN3lz8/p06dNpUqVTMGCBc3QoUPNL7/8Yj755BPjdDrNo48+atV+Lc/Phg0bTJ48eUzx4sXNmDFjzIIFC8zkyZNN06ZNzYkTJ4wxxjz11FOmWLFi5sKFCy71PfvssyY8PNycP38+y+f6+PHjpk2bNmbSpElm4cKFZs6cOaZHjx7Gw8PDTJw40WVsdmv+5ZdfjKenp3nooYfMzJkzzTfffGPuv/9+67m9mtatW5vAwMAM05955hnj5eVlDh06ZE378MMPjcPhMO3atTOzZ882M2fONDExMSYwMNBs2bLFGGPMkSNHjI+Pj3n77bddlnfhwgUTHh5umjRpYk2bNGmScTgcpnHjxmbmzJnmhx9+MA0aNDCenp7ml19+scalf76UKlXKvPvuu2b+/Plm6NChxtfX17Rt29Yal/5avvTvxqXP56Wf5dl97WYlMjLSPPHEE1nOf+utt4wks3Tp0ixruJ6/J+nLy+x9mdm60v9WREREmHbt2pmff/7ZfP755yYkJMRERESYxMREl2272nswKSnJWuY777xj1bZv3z5jzP/v2aWu9btLdHS0GTNmjJk/f77p3LmzkZThfYJbB4EMbi0hIcFIsr60Xc22bduMJNO5c2eX6atWrTKSzL/+9S9rWo0aNYwks3btWmva0aNHjaenp/H393cJXxs2bDCSzKeffmpNS/9Afe2111zWNWXKFCPJTJ482WVdmQWyChUquHxxWb16tZFkpk2bZk0rXbq0uffeezN8kWnQoIEpXLiwSU1NNcYY06xZM+Pv728SEhKsMRcuXDClS5e+pkB2pdvVAln58uVN48aNr7iel19+OdMvQnPmzDGSzODBg12mz5gxw0gyn3/+uTHm4hcFSaZnz54u46ZNm2YkZRrIWrVqdcWajLn4XKWkpJjo6GiXnqaHoIYNG7qM79atm5Fkunbt6jK9cePGJigoyGVav379jKenp1m8ePFV60h3pUD2yCOPZGt7zp8/b2rXrm2eeuqpDMu92mvvn3/+MZLM8OHDs11zWlqaOX/+vFmyZImRZDZu3GjNu+uuu8xdd91lzp49m+XjP/rooyxfq5e/h8aMGWMkma+//tpl3KBBg4wkM2/ePGuaJBMaGmqFBmMufrZ4eHiYAQMGXHGb0p+vzG7z58+3lu90Os2xY8dcHhsbG2uKFi1qhcp0r7zyivHz87PG9+zZ0zgcDrNhwwaXcXXr1s1xIBswYIDx8PAwa9ascRn37bffGknmp59+uubn59FHHzX58+c3hw8fzvL5Sn+Nzpo1y5p24MAB4+XlZfr165fl4zKT/hpu3769uffee13mZbfmqlWrmvDwcJfX3YkTJ0xQUNA1BbL0EP7PP/+Y0aNHGw8PD5e/J3v37jVeXl4Z/jHm5MmTJiwszDRt2tSa1qRJE1O0aFHrs9sYY3766Scjyfzwww/GmIuBOigoKMPnTmpqqrnnnnvMAw88YE1L/+y+/LOzc+fOxs/Pzwrf1xLIsvvazcrVAtno0aONJDNjxowsa7ievyfpy8vsfZnZutL/Vlz6WWmMMb/99puRZD744AOXbcvOe3DNmjVZPt+XB7KcfHdZtWqVy9iyZcua2NjYDOvCrYFDFnFHWbRokSRlOJzggQceUJkyZTIc6lG4cGFVrlzZuh8UFKSQkBBVqlRJ4eHh1vQyZcpIkvbs2ZNhnS1btnS537RpU3l5eVm1XMkTTzwhT09P637FihVd1vPnn3/qjz/+sNZx4cIF6/b4448rPj5e27dvt7a9du3aCg0NtZbn6empZs2aXbWOS/3yyy9as2ZNhttdd9111cc+8MAD+vnnn/XWW29p8eLFOnv2bLbXm37S/OW9e/bZZxUYGGj1bsmSJZIuPs+XeuaZZ7I8j+rpp5/OMO3ChQvq37+/ypYtKx8fH3l5ecnHx0c7d+7Utm3bMoxv0KCBy/3018QTTzyRYfqxY8dcDlt89913deHCBdWoUSPT+q5VZtsjSWPGjNF9990nPz8/eXl5ydvbWwsWLMh0e6722gsKCtJdd92ljz76SEOHDtXvv/+e6eEwf/31l1q0aKGwsDB5enrK29vb2s709e7YsUO7du1S+/bt5efnd30b/38WLlyowMBAPfPMMy7T018/l7/Xa9Wqpbx581r3Q0NDFRISkul7OjOvvvpqhvdE1apVrfmPPvqoChQoYN0/d+6cFixYoKeeekoBAQEZ3rvnzp2zDhFdtGiRypUrp3vuucdlnZdfRORazJ49W+XLl1elSpVc1h0bG5vhMEjp6s/PmTNntGTJEjVt2lSFChXKcr01a9bUPffc43Jo25gxY+RwONSpU6er1v3NN9+oevXqypMnj/UaHjduXKav4avVfPr0aa1Zs0ZNmjRxed3lzZtXDRs2vGot6U6fPi1vb295e3urYMGCeumll9SsWTN9+OGH1pi5c+fqwoULatWqlcvz7efnpxo1arg8323bttX+/fv1yy+/WNPGjx+vsLAwPfbYY5IuXuDm2LFjat26tcvy0tLSVL9+fa1ZsybDoaeXHrovXXxPnzt3TocPH872tkrX9trNKWPMVcdcz9+TdJe/L6/m8r/n1apVU2RkZLb+nl+Pa/3uEhYWpgceeMBlWsWKFbP9eYab7/Y+yxu3vYIFCyogIEC7d+/O1vijR49Kuhi0LhceHp7hwyooKCjDOB8fnwzTfXx8JMnlePd0YWFhLve9vLwUHBxs1XIlwcHBLvfTz5FL/8OTfn5Cjx491KNHj0yXkX6+wdGjRzPUkll9V3PPPfeoYMGCGaZn54v0p59+qqJFi2rGjBkaNGiQ/Pz8FBsbq48++kjR0dFXfOzRo0fl5eWV4cuew+FQWFiY9Xym//fS4Cn9/+c9M5m9Hl5//XWNGjVKPXv2VI0aNVSgQAF5eHioQ4cOmf7hz+o1caXXyo26Cl9m2zN06FB1795dL774ot5//30VLFhQnp6e6t27d6ZfZq/22nM4HFqwYIHee+89DR48WN27d1dQUJBatmypDz/8UHnz5tWpU6f08MMPy8/PTx988IFKliypgIAA67zK9GWln1OZmyexp7/eLz8PIyQkRF5eXhnef5m9Nnx9fbP9Ja9o0aJXvMz95T05evSoLly4oBEjRmjEiBGZPubS925mF4a41vfupQ4dOqQ///zT5Sp2ma073dWen8TERKWmpmarh127dlWHDh20fft2lShRQl988YWeeeaZq27PzJkz1bRpUz377LN64403FBYWJi8vL40ePVpfffVVhvHZqTktLe26Pxf9/f3166+/SpISEhI0ZMgQTZs2TRUrVtRbb70l6f9/VqefN3Q5D4///+/jjz32mAoXLqzx48erXr16SkxM1Pfff69XX33V+keS9OVd/g8Olzp27JgCAwOt+1d7T2fXtbx2cyr9b/Gl//B5uev5e5Ius8/KK8nqtZKdv+fX41q/u1zv5xluPgIZ3Jqnp6dq166tn3/+Wfv377/ql4H0D6n4+PgMYw8ePJhp0LheCQkJKlKkiHX/woULOnr0aJbh4Fqk19urVy81adIk0zGlSpWSdHHbExISMq3vZgkMDFS/fv3Ur18/HTp0yPrXzYYNG+qPP/644mODg4N14cIFHTlyxCWUGWOUkJBgfdFJf14PHTqU6fOemcyuqDh58mS1atVK/fv3d5n+zz//ZLjk+q0mq+2pWbOmRo8e7TL95MmTOV5PZGSkxo0bJ+niXq6vv/5affv2VUpKisaMGaOFCxfq4MGDWrx4scvev8svwpLez8tPTr8ewcHBWrVqlYwxLs/H4cOHdeHChRvyXr+Sy3tSoEABeXp6Ki4uTi+//HKmj0kPYdfy3vXz88tw0RLp4uv20m0uWLCg/P39Mw0y6fOvRVBQkDw9PbPVwxYtWqhnz54aNWqUHnzwQSUkJGT5HFxq8uTJioqK0owZM1yez8y2NzsKFCggh8Nx3Z+LHh4eLmG8bt26qly5svr166eWLVsqIiLCej6//fZbRUZGXnF56a+LTz/9VMePH9fUqVOVnJystm3bWmPSlzdixIgsrwh4+T9KXU36P6pd/nxe/rl5La/dnDDG6IcfflBgYOAV/5Hjev6epLvWq+lm9Vq5++67rfvZfQ9eCzu+u+Dm4pBFuL1evXrJGKOOHTsqJSUlw/zz58/rhx9+kHTx8ATp4h/2S61Zs0bbtm1T7dq1c72+KVOmuNz/+uuvdeHChVz5EdtSpUopOjpaGzduVJUqVTK9pR+yU6tWLS1YsMDlql+pqamaMWPGddeRE6GhoWrTpo2aN2+u7du368yZM5Ky/lfb9N5c3rv//Oc/On36tDX/kUcekaQM2/Xtt9/qwoUL2a7P4XBkuGrnjz/+qAMHDmR7GbeSzLZn06ZNWrFiRa4sv2TJknrnnXdUoUIFrV+/3lqnpAzrHTt2bIbH3nXXXfrqq6+u+OX6Wv5Fv3bt2jp16pS+++47l+n//ve/rfl2CggIUK1atfT777+rYsWKmb5307+E1apVS1u2bNHGjRtdljF16tQMyy1evLg2bdrkMm3Hjh3WocvpGjRooF27dik4ODjTdRcvXvyatsff3181atTQN998c9W9I35+furUqZMmTpyooUOHqlKlSqpevfpV15H+w8uXfolOSEjI9CqL2REYGKgHHnhAM2fOdDm64eTJk9bfjJzw9fXVqFGjdO7cOX3wwQeSpNjYWHl5eWnXrl1ZflZfqm3btjp37pymTZumCRMmKCYmRqVLl7bmV69eXfnz59fWrVuzXF763vjsCg0NlZ+fX4bXz+XP77W8dnOiX79+2rp1q1599dVsH8J8rX9Pcuryv+fLly/Xnj17XP6eZ/c9eC212fHdBTcXe8jg9mJiYjR69Gh17txZlStX1ksvvaRy5crp/Pnz+v333/X555+rfPnyatiwoUqVKqVOnTppxIgR8vDw0GOPPaa///5bvXv3VkREhF577bVcr2/mzJny8vJS3bp1tWXLFvXu3Vv33HNPhnOccmrs2LF67LHHFBsbqzZt2qhIkSI6duyYtm3bpvXr11uXkX7nnXf0/fff69FHH9W7776rgIAAjRo1KtPLj98oVatWVYMGDVSxYkUVKFBA27Zt06RJkxQTE6OAgABJUoUKFSRJgwYN0mOPPSZPT09VrFhRdevWVWxsrHr27KkTJ06oevXq2rRpk/r06aN7771XcXFxkqRy5cqpefPmGjJkiDw9PfXoo49qy5YtGjJkiJxOp8uhQVfSoEEDTZgwQaVLl1bFihW1bt06ffTRRzfkt2Hee+89vffee1qwYEGunUd2uQYNGuj9999Xnz59VKNGDW3fvl3vvfeeoqKirimoptu0aZNeeeUVPfvss4qOjpaPj48WLlyoTZs2WYdpVatWTQUKFNCLL76oPn36yNvbW1OmTMkQLCRp1KhRatiwoR588EG99tprKlasmPbu3au5c+daX4LSXxuffPKJWrduLW9vb5UqVcrlPKF0rVq10qhRo9S6dWv9/fffqlChgpYtW6b+/fvr8ccfV506da55m3PbJ598ooceekgPP/ywXnrpJRUvXlwnT57Un3/+qR9++ME6b7Jbt2766quv9MQTT+iDDz5QaGiopkyZkulegLi4OD3//PPq3Lmznn76ae3Zs0eDBw/OcKhvt27d9J///EePPPKIXnvtNVWsWFFpaWnau3ev5s2bp+7du7ucA5cdQ4cO1UMPPaSqVavqrbfe0t13361Dhw7p+++/19ixY1361LlzZw0ePFjr1q3Tl19+ma3lN2jQQDNnzlTnzp31zDPPaN++fXr//fdVuHBh7dy585pqTff++++rfv361m9WpqamatCgQQoMDNSxY8dytExJqlGjhh5//HGNHz9eb731lqKiovTee+/p7bff1l9//aX69eurQIECOnTokFavXm3t7UlXunRpxcTEaMCAAdq3b58+//xzl+XnyZNHI0aMUOvWrXXs2DE988wzCgkJ0ZEjR7Rx40YdOXIkw97wq3E4HHr++ef11Vdf6a677tI999yj1atXZxr8s/vavZLjx49b55qdPn3a+mHopUuXqmnTpi7PR2au5+/JtYbVdGvXrlWHDh307LPPat++fXr77bdVpEgRde7c2RqT3ffgXXfdJX9/f02ZMkVlypRRnjx5FB4enulhmnZ8d8FNZuslRYBctGHDBtO6dWtTrFgx4+PjY10O/d1333W56ldqaqoZNGiQKVmypPH29jYFCxY0zz//vHW52XQ1atQw5cqVy7CerK4OJcm8/PLL1v30qyStW7fONGzY0OTJk8fkzZvXNG/e3OVSyOnryuwqi5deQe/S9Vx69SdjjNm4caNp2rSpCQkJMd7e3iYsLMw8+uijZsyYMS7jfvvtN+sS/WFhYeaNN94wn3/++TVdZfHSy+teKjuXvX/rrbdMlSpVTIECBYyvr68pUaKEee2118w///xjjUlOTjYdOnQwhQoVMg6Hw6W2s2fPmp49e5rIyEjj7e1tChcubF566SWXSw4bY8y5c+fM66+/bkJCQoyfn5958MEHzYoVK4zT6XS5QmL6lbMuv9KcMcYkJiaa9u3bm5CQEBMQEGAeeughs3Tp0gy9Sr9q3DfffOPy+KyWndnzmNuXvb+8FmMuPq89evQwRYoUMX5+fua+++4z3333nWndurWJjIy84nLTXdrPQ4cOmTZt2pjSpUubwMBAkydPHlOxYkUzbNgwl6szLl++3MTExJiAgABTqFAh06FDB7N+/fpMry62YsUK89hjjxmn02l8fX3NXXfdleEqpb169TLh4eHGw8PD5Tm7vC/GXLwq6osvvmgKFy5svLy8TGRkpOnVq5fLTySkb9el7910WV0t7VJXer6utvz0x7dr184UKVLEeHt7m0KFCplq1aq5XLXNGGO2bt1q6tata/z8/ExQUJBp3769+e9//5vhdZOWlmYGDx5sSpQoYfz8/EyVKlXMwoULM31+Tp06Zd555x1TqlQp4+PjY13G/LXXXnO5Guu1PD9bt241zz77rAkODjY+Pj6mWLFipk2bNhmec2OMqVmzpgkKCjJnzpzJ8rm73MCBA03x4sWNr6+vKVOmjPniiy8yvUT4tdT8/fffm4oVK1r1Dhw4MNNlZiary94bY8z//vc/4+Hh4XJp+e+++87UqlXL5MuXz/j6+prIyEjzzDPPuFymPl36Z7O/v3+GqxmmW7JkiXniiSdMUFCQ8fb2NkWKFDFPPPGEy2dAVp/d6Z9Rl372JyUlmQ4dOpjQ0FATGBhoGjZsaP7+++9M/+5k97WbmcjISOtqpA6Hw+TJk8eUKlXKxMXFmblz52b6mNz+e3Kl9+Xl60p/rubNm2fi4uJM/vz5jb+/v3n88cfNzp07XR57Le/BadOmmdKlSxtvb2+XdWb2+rve7y6Xf9bj1uIwJhuXsgEAN7d8+XJVr15dU6ZMua6r0wG3isWLF6tWrVpatGhRrhwCfTMdPnxYkZGR6tKliwYPHmx3OQBgKw5ZBHDbmT9/vlasWKHKlSvL399fGzdu1MCBAxUdHZ3lxU8A3Hj79+/XX3/9pY8++kgeHh569dVX7S4JAGxHIANw28mXL5/mzZun4cOH6+TJkypYsKAee+wxDRgwINd+5wrAtfvyyy/13nvvqXjx4poyZYrLlVAB4E7FIYsAAAAAYBMuew8AAAAANiGQAQAAAIBNCGQAAAAAYBMu6pGL0tLSdPDgQeXNm1cOh8PucgAAAADYxBijkydPKjw8XB4eWe8HI5DlooMHDyoiIsLuMgAAAADcIvbt26eiRYtmOZ9Alovy5s0r6eKTni9fPpurAQAAAGCXEydOKCIiwsoIWSGQ5aL0wxTz5ctHIAMAAABw1VOZuKgHAAAAANiEQAYAAAAANiGQAQAAAIBNOIcMAADgNpKamqrz58/bXQZw2/P09JSXl9d1/9wVgQwAAOA2cerUKe3fv1/GGLtLAe4IAQEBKly4sHx8fHK8DAIZAADAbSA1NVX79+9XQECAChUqdN3/ag8ga8YYpaSk6MiRI9q9e7eio6Ov+OPPV0IgAwAAuA2cP39exhgVKlRI/v7+dpcD3Pb8/f3l7e2tPXv2KCUlRX5+fjlaDhf1AAAAuI2wZwy4eXK6V8xlGblQBwAAAAAgBwhkAAAAAGATziEDAAC4jbWfsOamrm9cm/tv6vqArBQvXlzdunVTt27d7C7lithDBgAAANu0adNGDodDDodDXl5eKlasmF566SUlJibaXdptp2bNmtZzndmtePHidpeYIxMmTFD+/PkzTF+zZo06dep08wu6RuwhAwAAgK3q16+v8ePH68KFC9q6davatWun48ePa9q0aXaX5rZSUlIy/DbWzJkzlZKSIknat2+fHnjgAf3yyy8qV66cpIs/dHy1ZbiTQoUK2V1CtrCHDAAAALby9fVVWFiYihYtqnr16qlZs2aaN2+ey5jx48erTJky8vPzU+nSpfXZZ59Z82JiYvTWW2+5jD9y5Ii8vb21aNEiSRfDxZtvvqkiRYooMDBQVatW1eLFi63x6XtZ5s6dqzJlyihPnjyqX7++4uPjrTE1a9bMcPhb48aN1aZNG+v+1daTGYfDodGjR+uxxx6Tv7+/oqKi9M0337iMOXDggJo1a6YCBQooODhYTz75pP7++29rfps2bdS4cWMNGDBA4eHhKlmyZIb1BAUFKSwsTGFhYVZYCQ4Otqbdf//9+uCDD9SmTRs5nU517NhRktSzZ0+VLFlSAQEBKlGihHr37q3z589by+3bt68qVaqkSZMmqXjx4nI6nXruued08uRJa8y3336rChUqyN/fX8HBwapTp45Onz4t6eKerLp166pgwYJyOp2qUaOG1q9f71L78ePH1alTJ4WGhsrPz0/ly5fX7NmztXjxYrVt21ZJSUnWnr6+fftKunjI4vDhw61l7N27V08++aTy5MmjfPnyqWnTpjp06NA1bceNQCADAADALeOvv/7SnDlz5O3tbU374osv9Pbbb+vDDz/Utm3b1L9/f/Xu3VsTJ06UJLVs2VLTpk2TMcZ6zIwZMxQaGqoaNWpIktq2bavffvtN06dP16ZNm/Tss8+qfv362rlzp/WYM2fO6OOPP9akSZP066+/au/everRo8c11Z+d9WSmd+/eevrpp7Vx40Y9//zzat68ubZt22bVVatWLeXJk0e//vqrli1bZgXG9D1ekrRgwQJt27ZN8+fP1+zZs6+p7nQfffSRypcvr3Xr1ql3796SpLx582rChAnaunWrPvnkE33xxRcaNmyYy+N27dql7777TrNnz9bs2bO1ZMkSDRw4UJIUHx+v5s2bq127dtq2bZsWL16sJk2aWP06efKkWrduraVLl2rlypWKjo7W448/bgWhtLQ0PfbYY1q+fLkmT56srVu3auDAgfL09FS1atU0fPhw5cuXT/Hx8YqPj8+0Z8YYNW7cWMeOHdOSJUs0f/587dq1S82aNcv2dtwoHLIIAAAAW82ePVt58uRRamqqzp07J0kaOnSoNf/999/XkCFD1KRJE0lSVFSUtm7dqrFjx6p169Zq1qyZXnvtNS1btkwPP/ywJGnq1Klq0aKFPDw8tGvXLk2bNk379+9XeHi4JKlHjx6aM2eOxo8fr/79+0u6+OPaY8aM0V133SVJeuWVV/Tee+9lezuyu57MPPvss+rQoYO1vfPnz9eIESP02Wefafr06fLw8NCXX35p/c7c+PHjlT9/fi1evFj16tWTJAUGBurLL7+8rsMMH3300QyB5p133rH+v3jx4urevbtmzJihN99805qelpamCRMmKG/evJKkuLg4LViwQB9++KHi4+N14cIFNWnSRJGRkZKkChUquKzzUmPHjlWBAgW0ZMkSNWjQQL/88otWr16tbdu2WXv+SpQoYY13Op1yOBwKCwvLcrt++eUXbdq0Sbt371ZERIQkadKkSSpXrpzWrFmj+++//6rbcaMQyAAAAGCrWrVqafTo0Tpz5oy+/PJL7dixQ126dJF08dDDffv2qX379tYhdJJ04cIFOZ1OSRfPFapbt66mTJmihx9+WLt379aKFSs0evRoSdL69etljMlwGF9ycrKCg4Ot+wEBAVYYk6TChQvr8OHD2d6O7K4nMzExMRnub9iwQZK0bt06/fnnn1ZISHfu3Dnt2rXLul+hQoXrPuerSpUqGaZ9++23Gj58uP7880+dOnVKFy5cUL58+VzGFC9e3KW+S5+7e+65R7Vr11aFChUUGxurevXq6ZlnnlGBAgUkSYcPH9a7776rhQsX6tChQ0pNTdWZM2e0d+9eSdKGDRtUtGjRTA/DzK5t27YpIiLCCmOSVLZsWeXPn1/btm2zAtmVtuNGIZABAADAVoGBgbr77rslSZ9++qlq1aqlfv366f3331daWpqki4ctVq1a1eVxl16EomXLlnr11Vc1YsQITZ06VeXKldM999wj6eJeD09PT61bty7DhSvy5Mlj/f+lh0lKF8/tuvQwSA8PD5f7klzOpcruerIrfW9YWlqaKleurClTpmQYc+mFKwIDA695HZe7fBkrV67Uc889p379+ik2NlZOp1PTp0/XkCFDXMZl9tyl987T01Pz58/X8uXLNW/ePI0YMUJvv/22Vq1apaioKLVp00ZHjhzR8OHDFRkZKV9fX8XExFiHY/r7+1/3dhljrOfzStOvtB03CueQAQAA4JbSp08fffzxxzp48KBCQ0NVpEgR/fXXX7r77rtdblFRUdZjGjdurHPnzmnOnDmaOnWqnn/+eWvevffeq9TUVB0+fDjDMq50mNvlChUq5HKRj9TUVG3evDlX1rNy5coM90uXLi1Juu+++7Rz506FhIRkWG76XsIb5bffflNkZKTefvttValSRdHR0dqzZ881L8fhcKh69erq16+ffv/9d/n4+GjWrFmSpKVLl6pr1656/PHHVa5cOfn6+uqff/6xHluxYkXt379fO3bsyHTZPj4+Sk1NveL6y5Ytq71792rfvn3WtK1btyopKUllypS55u3JTQQyAAAA3FJq1qypcuXKWedc9e3bVwMGDNAnn3yiHTt26H//+5/Gjx/vcp5ZYGCgnnzySfXu3Vvbtm1TixYtrHklS5ZUy5Yt1apVK82cOVO7d+/WmjVrNGjQIP3000/ZruvRRx/Vjz/+qB9//FF//PGHOnfurOPHj+fKer755ht99dVX2rFjh/r06aPVq1frlVdekXRx71/BggX15JNPaunSpdq9e7eWLFmiV199Vfv37892/Tlx9913a+/evZo+fbp27dqlTz/91ApS2bVq1Sr1799fa9eu1d69ezVz5kwdOXLECkJ33323Jk2apG3btmnVqlVq2bKly16xGjVq6JFHHtHTTz+t+fPna/fu3fr55581Z84cSRcPMzx16pQWLFigf/75R2fOnMlQQ506dVSxYkW1bNlS69ev1+rVq9WqVSvVqFEj08M0bypjoyVLlpgGDRqYwoULG0lm1qxZ1ryUlBTz5ptvmvLly5uAgABTuHBhExcXZw4cOOCyjHPnzplXXnnFBAcHm4CAANOwYUOzb98+lzHHjh0zzz//vMmXL5/Jly+fef75501iYqLLmD179pgGDRqYgIAAExwcbLp06WKSk5OvaXuSkpKMJJOUlHRNjwMAALheZ8+eNVu3bjVnz561u5Rr0rp1a/Pkk09mmD5lyhTj4+Nj9u7da92vVKmS8fHxMQUKFDCPPPKImTlzpstjfvzxRyPJPPLIIxmWl5KSYt59911TvHhx4+3tbcLCwsxTTz1lNm3aZIwxZvz48cbpdLo8ZtasWebSr8spKSnmpZdeMkFBQSYkJMQMGDDAPPnkk6Z169bZXk9mJJlRo0aZunXrGl9fXxMZGWmmTZvmMiY+Pt60atXKFCxY0Pj6+poSJUqYjh07Wt87s3oes7J7924jyfz+++/WtMjISDNs2LAMY9944w0THBxs8uTJY5o1a2aGDRvm8lz16dPH3HPPPS6PGTZsmImMjDTGGLN161YTGxtrChUqZHx9fU3JkiXNiBEjrLHr1683VapUMb6+viY6Otp88803GWo5evSoadu2rQkODjZ+fn6mfPnyZvbs2db8F1980QQHBxtJpk+fPpluz549e0yjRo1MYGCgyZs3r3n22WdNQkJCtrcjM1d632U3GziMuexA2Jvo559/1m+//ab77rtPTz/9tGbNmqXGjRtLkpKSkvTMM8+oY8eOuueee5SYmKhu3brpwoULWrt2rbWMl156ST/88IMmTJig4OBgde/eXceOHXM5dvexxx7T/v379fnnn0uSOnXqpOLFi+uHH36QdHF3c6VKlVSoUCENGTJER48eVevWrdWkSRONGDEi29tz4sQJOZ1OJSUlZTjREQAA4EY6d+6cdu/eraioKPn5+dldDq6Bw+Fw+R4M93Gl9112s4GtF/V47LHH9Nhjj2U6z+l0av78+S7TRowYoQceeEB79+5VsWLFlJSUpHHjxmnSpEmqU6eOJGny5MmKiIjQL7/8otjYWG3btk1z5szRypUrrRNBv/jiC8XExGj79u0qVaqU5s2bp61bt2rfvn3WJUqHDBmiNm3a6MMPPyRcAQAAALgh3OocsvRf4M6fP7+ki5cAPX/+vPXbC5IUHh6u8uXLa/ny5ZKkFStWyOl0ulyV58EHH5TT6XQZU758eSuMSVJsbKySk5O1bt26LOtJTk7WiRMnXG4AAAAAkF1uc9n7c+fO6a233lKLFi2sPVYJCQny8fGxfsMgXWhoqBISEqwxISEhGZYXEhLiMiY0NNRlfoECBeTj42ONycyAAQPUr1+/69ouAAAA3NlsPIMItwC32EN2/vx5Pffcc0pLS9Nnn3121fHmst8TyM5vDmRnzOV69eqlpKQk63bpZTQBAAAA4Gpu+UB2/vx5NW3aVLt379b8+fNdzucKCwtTSkqKEhMTXR5z+PBha49XWFiYDh06lGG5R44ccRlz+Z6wxMREnT9/PsOes0v5+voqX758LjcAAAAAyK5bOpClh7GdO3fql19+UXBwsMv8ypUry9vb2+XiH/Hx8dq8ebOqVasmSYqJiVFSUpJWr15tjVm1apWSkpJcxmzevNnlh/7mzZsnX19fVa5c+UZuIgAAAIA7mK3nkJ06dUp//vmndX/37t3asGGDgoKCFB4ermeeeUbr16/X7NmzlZqaau3FCgoKko+Pj5xOp9q3b6/u3bsrODhYQUFB6tGjhypUqGBddbFMmTKqX7++OnbsqLFjx0q6eNn7Bg0aqFSpUpKkevXqqWzZsoqLi9NHH32kY8eOqUePHurYsSN7vQAAAADcMLYGsrVr16pWrVrW/ddff12S1Lp1a/Xt21fff/+9JKlSpUouj1u0aJFq1qwpSRo2bJi8vLzUtGlTnT17VrVr19aECROs3yCTpClTpqhr167W1RgbNWqkkSNHWvM9PT31448/qnPnzqpevbr8/f3VokULffzxxzdiswEAAABAkmTrD0PfbvhhaAAAYBd+GBq4+dz+h6EBAABwY7WfsOamrm9cm/tv6vrcxd9//62oqCj9/vvvGY7+wp3tlr6oBwAAAG5fDofjirc2bdrYXWKOtGnTRo0bN3aZFhERofj4eJUvX96eonDLYg8ZAAAAbHHpFa5nzJihd999V9u3b7em+fv7u4w/f/68vL29b1p9ucnT01NhYWF2l4FbEHvIAAAAYIuwsDDr5nQ65XA4rPvnzp1T/vz59fXXX6tmzZry8/PT5MmTdfToUTVv3lxFixZVQECAKlSooGnTprkst2bNmuratavefPNNBQUFKSwsTH379nUZ07dvXxUrVky+vr4KDw9X165drXmTJ09WlSpVlDdvXoWFhalFixY6fPiwy+O3bNmiJ554Qvny5VPevHn18MMPa9euXerbt68mTpyo//73v9aevsWLF+vvv/+Ww+HQhg0brGUsWbJEDzzwgHx9fVW4cGG99dZbunDhQq5tB9wDgQwAAAC3rJ49e6pr167atm2bYmNjde7cOVWuXFmzZ8/W5s2b1alTJ8XFxWnVqlUuj5s4caICAwO1atUqDR48WO+9957127Xffvuthg0bprFjx2rnzp367rvvVKFCBeuxKSkpev/997Vx40Z999132r17t8vhkwcOHNAjjzwiPz8/LVy4UOvWrVO7du104cIF9ejRQ02bNlX9+vUVHx+v+Ph467dvL3XgwAE9/vjjuv/++7Vx40aNHj1a48aN0wcffJBr2wH3wCGLAAAAuGV169ZNTZo0cZnWo0cP6/+7dOmiOXPm6JtvvlHVqlWt6RUrVlSfPn0kSdHR0Ro5cqQWLFigunXrau/evQoLC1OdOnXk7e2tYsWK6YEHHrAe265dO+v/S5QooU8//VQPPPCATp06pTx58mjUqFFyOp2aPn26dQhlyZIlrcf4+/srOTn5iocofvbZZ4qIiNDIkSPlcDhUunRpHTx4UD179tS7774rDw+P694OuAf2kAEAAOCWVaVKFZf7qamp+vDDD1WxYkUFBwcrT548mjdvnvbu3esyrmLFii73CxcubB12+Oyzz+rs2bMqUaKEOnbsqFmzZrkcKvj777/rySefVGRkpPLmzWv9/m36OjZs2KCHH374us5n27Ztm2JiYuRwOKxp1atX16lTp7R///5c2Q64BwIZAAAAblmBgYEu94cMGaJhw4bpzTff1MKFC7VhwwbFxsYqJSXFZdzlYcnhcCgtLU3SxSsebt++XaNGjZK/v786d+6sRx55ROfPn9fp06dVr1495cmTR5MnT9aaNWs0a9YsSbLWcfnFRnLCGOMSxtKnpdd6vdsB98EhiwAAAHAbS5cu1ZNPPqnnn39ekpSWlqadO3eqTJky17Qcf39/NWrUSI0aNdLLL7+s0qVL63//+5+MMfrnn380cOBARURESJLWrl3r8tiKFStq4sSJWV710cfHR6mpqVdcf9myZfWf//zHJZgtX75cefPmVZEiRa57O+67775sLwP2Yg8ZAAAA3Mbdd9+t+fPna/ny5dq2bZteeOEFJSQkXNMyJkyYoHHjxmnz5s3666+/NGnSJPn7+ysyMlLFihWTj4+PRowYob/++kvff/+93n//fZfHv/LKKzpx4oSee+45rV27Vjt37tSkSZOsS/YXL15cmzZt0vbt2/XPP/9kuseqc+fO2rdvn7p06aI//vhD//3vf9WnTx+9/vrr1vlj17MdcB/sIQMAALiNjWtzv90l5KrevXtr9+7dio2NVUBAgDp16qTGjRsrKSkp28vInz+/Bg4cqNdff12pqamqUKGCfvjhBwUHB0u6GHT+9a9/6dNPP9V9992njz/+WI0aNbIeHxwcrIULF+qNN95QjRo15OnpqUqVKql69eqSpI4dO2rx4sWqUqWKTp06pUWLFql48eIu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4sX2FIhM0Tf3Re/cF71zX3xPcU+857LGHjJkULlyZa1fvz7LDzpfX18VK1bsJleF7BgxYoTq1aunkJAQ1ahRw+VHvX/99Vf5+vryQ6e3IPrmvuid+6J37ovvKe6J91zW2EOGDJKTk5WamqqAgAC7S0EOnDx5UpMnT870R71btGihfPny2VwhMkPf3Be9c1/0zj3xPcV98Z7LHIEMAAAAAGzC75AhW5544gnFx8fbXQZygN65J/rmvuid+6J37oveuSf6dhGBDNny66+/6uzZs3aXgRygd+6Jvrkveue+6J37onfuib5dRCADAAAAAJsQyJAtkZGR8vb2trsM5AC9c0/0zX3RO/dF79wXvXNP9O0iLuoBAAAAADbhd8iQpZ07d2r58uVKSEiQw+FQaGioqlWrpujoaLtLw1XQO/dE39wXvXNf9M590Tv3RN8yIpAhg6SkJLVq1Uo//PCDnE6nQkJCZIzRkSNHdOLECTVs2FD//ve/79jfiriV0Tv3RN/cF71zX/TOfdE790TfssY5ZMigS5cu2r17t1asWKHExERt375dO3bsUGJiopYvX67du3erS5cudpeJTNA790Tf3Be9c1/0zn3RO/dE37LGOWTIIH/+/Jo7d66qVq2a6fyVK1eqfv36On78+M0tDFdF79wTfXNf9M590Tv3Re/cE33LGnvIkCmHw5GjebAfvXNP9M190Tv3Re/cF71zT/QtcwQyZNCwYUN17NhRa9euzTBv7dq1evHFF9WoUSMbKsPV0Dv3RN/cF71zX/TOfdE790TfssYhi8jg+PHjat68uebOnav8+fMrJCREDodDhw4dUlJSkmJjYzV16lTlz5/f7lJxGXrnnuib+6J37oveuS96557oW9YIZMjSH3/8oRUrVighIUGSFBYWppiYGJUuXdrmynA19M490Tf3Re/cF71zX/TOPdG3jAhkAAAAAGATziFDltLS0rKcvnfv3ptcDa4FvXNP9M190Tv3Re/cF71zT/QtIwIZMjhx4oSaNm2qwMBAhYaGqk+fPkpNTbXmHzlyRFFRUTZWiKzQO/dE39wXvXNf9M590Tv3RN+y5mV3Abj19O7dWxs3btSkSZN0/PhxffDBB1q3bp1mzpwpHx8fSRJHut6a6J17om/ui965L3rnvuide6JvWeMcMmQQGRmpiRMnqmbNmpKko0eP6oknnpDT6dT333+v48ePKzw83OVfNXBroHfuib65L3rnvuid+6J37om+ZY1DFpHBP//8o8jISOt+cHCw5s+fr5MnT+rxxx/XmTNnbKwOV0Lv3BN9c1/0zn3RO/dF79wTfcsagQwZREREaNu2bS7T8ubNq3nz5uns2bN66qmnbKoMV0Pv3BN9c1/0zn3RO/dF79wTfcsagQwZ1KtXT+PHj88wPU+ePJo7d678/PxsqArZQe/cE31zX/TOfdE790Xv3BN9yxrnkCGDxMREHTx4UOXKlct0/qlTp7Ru3TrVqFHjJleGq6F37om+uS96577onfuid+6JvmWNQAYAAAAANuGy98jU6dOnNXXqVC1fvlwJCQlyOBwKDQ1V9erV1bx5cwUGBtpdIrJA79wTfXNf9M590Tv3Re/cE33LHHvIkMHWrVtVt25dnTlzRjVq1FBoaKiMMTp8+LCWLFmiwMBAzZs3T2XLlrW7VFyG3rkn+ua+6J37onfui965J/qWNQIZMqhVq5bCwsI0ceJE64f60qWkpKhNmzaKj4/XokWLbKoQWaF37om+uS96577onfuid+6JvmWNQIYMAgICtHbt2iz/hWLz5s164IEH7ujfi7hV0Tv3RN/cF71zX/TOfdE790TfssZl75FBgQIFtHPnzizn//nnnypQoMBNrAjZRe/cE31zX/TOfdE790Xv3BN9yxoX9UAGHTt2VOvWrfXOO++obt26Cg0NlcPhUEJCgubPn6/+/furW7dudpeJTNA790Tf3Be9c1/0zn3RO/dE367AAJkYOHCgKVy4sHE4HMbDw8N4eHgYh8NhChcubAYNGmR3ebgCeuee6Jv7onfui965L3rnnuhb5jiHDFe0e/duJSQkSJLCwsIUFRVlc0XILnrnnuib+6J37oveuS96557omysCGQAAAADYhIt6IFNnz57VsmXLtHXr1gzzzp07p3//+982VIXsoHfuib65L3rnvuid+6J37om+ZcHeIyZxK9q+fbuJjIy0ju+tUaOGOXjwoDU/ISHBeHh42FghskLv3BN9c1/0zn3RO/dF79wTfcsae8iQQc+ePVWhQgUdPnxY27dvV758+VS9enXt3bvX7tJwFfTOPdE390Xv3Be9c1/0zj3RtyuwOxHi1hMSEmI2bdrkMq1z586mWLFiZteuXXf0v2Dc6uide6Jv7oveuS96577onXuib1njd8iQwdmzZ+Xl5frSGDVqlDw8PFSjRg1NnTrVpspwNfTOPdE390Xv3Be9c1/0zj3Rt6wRyJBB6dKltXbtWpUpU8Zl+ogRI2SMUaNGjWyqDFdD79wTfXNf9M590Tv3Re/cE33LGueQIYOnnnpK06ZNy3TeyJEj1bx5cxl+LeGWRO/cE31zX/TOfdE790Xv3BN9yxq/QwYAAAAANmEPGQAAAADYhEAGAAAAADYhkAEAAACATQhkAAAAAGATAhkAALmkZs2a6tatm91lAADcCIEMAABJDRs2VJ06dTKdt2LFCjkcDq1fv/4mVwUAuN0RyAAAkNS+fXstXLhQe/bsyTDvq6++UqVKlXTffffZUBkA4HZGIAMAQFKDBg0UEhKiCRMmuEw/c+aMZsyYocaNG6t58+YqWrSoAgICVKFChSx/5DSdw+HQd9995zItf/78Lus4cOCAmjVrpgIFCig4OFhPPvmk/v7779zZKADALY9ABgCAJC8vL7Vq1UoTJkyQMcaa/s033yglJUUdOnRQ5cqVNXv2bG3evFmdOnVSXFycVq1aleN1njlzRrVq1VKePHn066+/atmyZcqTJ4/q16+vlJSU3NgsAMAtjkAGAMD/adeunf7++28tXrzYmvbVV1+pSZMmKlKkiHr06KFKlSqpRIkS6tKli2JjY/XNN9/keH3Tp0+Xh4eHvvzyS1WoUEFlypTR+PHjtXfvXpcaAAC3Ly+7CwAA4FZRunRpVatWTV999ZVq1aqlXbt2aenSpZo3b55SU1M1cOBAzZgxQwcOHFBycrKSk5MVGBiY4/WtW7dOf/75p/Lmzesy/dy5c9q1a9f1bg4AwA0QyAAAuET79u31yiuvaNSoURo/frwiIyNVu3ZtffTRRxo2bJiGDx+uChUqKDAwUN26dbvioYUOh8Pl8EdJOn/+vPX/aWlpqly5sqZMmZLhsYUKFcq9jQIA3LIIZAAAXKJp06Z69dVXNXXqVE2cOFEdO3aUw+HQ0qVL9eSTT+r555+XdDFM7dy5U2XKlMlyWYUKFVJ8fLx1f+fOnTpz5ox1/7777tOMGTMUEhKifPny3biNAgDcsjiHDACAS+TJk0fNmjXTv/71Lx08eFBt2rSRJN19992aP3++li9frm3btumFF15QQkLCFZf16KOPauTIkVq/fr3Wrl2rF198Ud7e3tb8li1bqmDBgnryySe1dOlS7d69W0uWLNGrr76q/fv338jNBADcIghkAABcpn379kpMTFSdOnVUrFgxSVLv3r113333KTY2VjVr1lRYWJgaN258xeUMGTJEEREReuSRR9SiRQv16NFDAQEB1vyAgAD9+uuvKlasmJo0aaIyZcqoXbt2Onv2LHvMAOAO4TCXH9wOAAAAALgp2EMGAAAAADYhkAEAAACATQhkAAAAAGATAhkAAAAA2IRABgAAAAA2IZABAAAAgE0IZAAAAABgEwIZAAAAANiEQAYAAAAANiGQAQAAAIBNCGQAAAAAYJP/B5Z3X6vBiRKMAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "merged_df['transaction_month'].value_counts().plot(kind='bar', alpha=0.7, label='Transactions')\n", + "\n", + "plt.hist(merged_df['amount'], bins=30, alpha=0.7, label='Revenue per Transaction')\n", + "\n", + "plt.title('Combined Histogram: Transaction Frequency and Revenue Distribution')\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "951c4497", + "metadata": {}, + "source": [ + "## 5. Cohort Analysis and deliveries:\n", + "\n", + "Observations\n", + "\n", + "**Dominance of the 2020-10 Cohort:**\n", + "\n", + "- The 2020-10 cohort has the highest transaction frequency by far, with over 9,000 transactions. This aligns with previous analyses showing newer cohorts perform better.\n", + "\n", + "- This could indicate a successful marketing campaign, increased onboarding efforts, or seasonal demand during this period.\n", + " \n", + "**Decline in Transactions for Earlier Cohorts:**\n", + "\n", + "- Older cohorts, such as 2020-06 and 2020-07, have significantly fewer transactions. This drop might be due to lower retention rates or reduced engagement over time.\n", + " \n", + "**Revenue per Transaction Remains Consistent:**\n", + "\n", + "- While transaction frequency fluctuates, the bars for revenue per transaction are fairly consistent across cohorts. This suggests that the average revenue per transaction does not depend heavily on cohort age.\n", + " \n", + "**Outliers (2020-10):**\n", + " \n", + "- The 2020-10 cohort not only has the most transactions but also displays a wider spread of revenue per transaction (as seen in earlier box plots). This could indicate diverse customer behavior, with both low- and high-value transactions occurring in this cohort.\n", + "\n", + "**Questions**\n", + "\n", + "**Frequency of Service Usage: Understand how often users from each cohort utilize IronHack Payments' cash advance services over time.**\n", + "\n", + "The frequency of transactions generally decreases over time for earlier cohorts (e.g., 2020-06 and 2020-07). This suggests weaker long-term engagement or a natural drop-off in service usage. Newer cohorts (2020-09 and 2020-10) exhibit stronger engagement in their first and second months, with transaction counts significantly higher than earlier cohorts.\n", + " \n", + "**Incident Rate: Determine the incident rate, specifically focusing on payment incidents, for each cohort. Identify if there are variations in incident rates among different cohorts.**\n", + "\n", + "Earlier cohorts (2020-06) have a higher incident rate, possibly due to operational inefficiencies or lack of proper user education in the early days of the service. Newer cohorts (2020-09 and 2020-10) show a lower incident rate, indicating improvements in processes or better customer targeting.\n", + " \n", + "**Revenue Generated by the Cohort: Calculate the total revenue generated by each cohort over months to assess the financial impact of user behavior.**\n", + "\n", + "Later cohorts (2020-09 and 2020-10) generate significantly higher revenue compared to earlier ones. This indicates either higher transaction sizes or increased activity from high-value users. Revenue increases sharply for newer cohorts indicating better customer targeting.\n", + "\n", + "**New Relevant Metric: Propose and calculate a new relevant metric that provides additional insights into user behavior or the performance of IronHack Payments' services.**\n", + "\n", + "Would be necessary the implementation of the average revenue per user. This metric provides insight into the average revenue generated per active user within each cohort. \n", + "Develop personalized offers or incentives for high-value users to sustain engagement and spending. \n", + "Create retention strategies." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20d82bc2-276e-45c7-bcee-194ed06f89be", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/datasets/.DS_Store b/datasets/.DS_Store new file mode 100644 index 0000000..667a9c7 Binary files /dev/null and b/datasets/.DS_Store differ diff --git a/project_dataset/Lexique - Data Analyst.xlsx b/datasets/Lexique_Data_Analyst.xlsx similarity index 100% rename from project_dataset/Lexique - Data Analyst.xlsx rename to datasets/Lexique_Data_Analyst.xlsx diff --git a/project_dataset/extract - cash request - data analyst.csv b/datasets/cash_data_analyst.csv similarity index 100% rename from project_dataset/extract - cash request - data analyst.csv rename to datasets/cash_data_analyst.csv diff --git a/project_dataset/extract - fees - data analyst - .csv b/datasets/fees_data_analyst.csv similarity index 100% rename from project_dataset/extract - fees - data analyst - .csv rename to datasets/fees_data_analyst.csv