diff --git a/1_Descriptive_Statistics.ipynb b/1_Descriptive_Statistics.ipynb index 0eefa74..1009391 100644 --- a/1_Descriptive_Statistics.ipynb +++ b/1_Descriptive_Statistics.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 23, "id": "abfaf341-7b35-4407-9133-d21336c04027", "metadata": {}, "outputs": [], @@ -19,12 +19,13 @@ "import numpy as np\n", "import os\n", "import s3fs\n", - "import re" + "import re\n", + "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "7fb72fa3-7940-496f-ac78-c2837f65eefa", "metadata": {}, "outputs": [], @@ -43,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 3, "id": "9376af51-4320-44b6-8f30-1e1234371556", "metadata": {}, "outputs": [], @@ -59,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "id": "1855dcca-cfce-4c54-90ae-55d9a1ab5d45", "metadata": {}, "outputs": [ @@ -84,7 +85,6 @@ " \n", " \n", " \n", - " Unnamed: 0\n", " customer_id\n", " event_type_id\n", " nb_tickets\n", @@ -100,7 +100,6 @@ " \n", " \n", " 0\n", - " 0\n", " 1\n", " 2\n", " 384226\n", @@ -115,7 +114,6 @@ " \n", " 1\n", " 1\n", - " 1\n", " 4\n", " 453242\n", " 3248965.5\n", @@ -128,7 +126,6 @@ " \n", " \n", " 2\n", - " 2\n", " 1\n", " 5\n", " 201750\n", @@ -142,7 +139,6 @@ " \n", " \n", " 3\n", - " 3\n", " 1\n", " 6\n", " 217356\n", @@ -156,7 +152,6 @@ " \n", " \n", " 4\n", - " 4\n", " 2\n", " 2\n", " 143\n", @@ -173,26 +168,271 @@ "" ], "text/plain": [ - " Unnamed: 0 customer_id event_type_id nb_tickets total_amount \\\n", - "0 0 1 2 384226 2686540.5 \n", - "1 1 1 4 453242 3248965.5 \n", - "2 2 1 5 201750 1459190.0 \n", - "3 3 1 6 217356 1435871.5 \n", - "4 4 2 2 143 0.0 \n", + " customer_id event_type_id nb_tickets total_amount nb_suppliers \\\n", + "0 1 2 384226 2686540.5 7 \n", + "1 1 4 453242 3248965.5 6 \n", + "2 1 5 201750 1459190.0 6 \n", + "3 1 6 217356 1435871.5 5 \n", + "4 2 2 143 0.0 1 \n", "\n", - " nb_suppliers vente_internet_max purchase_date_min \\\n", - "0 7 1 2014-12-03 14:55:37+00:00 \n", - "1 6 1 2013-09-23 14:45:01+00:00 \n", - "2 6 1 2013-06-10 10:37:58+00:00 \n", - "3 5 1 2017-01-01 02:20:08+00:00 \n", - "4 1 0 2018-04-07 12:55:07+00:00 \n", + " vente_internet_max purchase_date_min purchase_date_max \\\n", + "0 1 2014-12-03 14:55:37+00:00 2023-11-04 15:12:16+00:00 \n", + "1 1 2013-09-23 14:45:01+00:00 2023-11-03 14:11:01+00:00 \n", + "2 1 2013-06-10 10:37:58+00:00 2023-11-08 15:59:45+00:00 \n", + "3 1 2017-01-01 02:20:08+00:00 2019-12-31 02:20:06+00:00 \n", + "4 0 2018-04-07 12:55:07+00:00 2020-03-08 12:06:43+00:00 \n", "\n", - " purchase_date_max time_between_purchase nb_tickets_internet \n", - "0 2023-11-04 15:12:16+00:00 3258 days 00:16:39 51.0 \n", - "1 2023-11-03 14:11:01+00:00 3692 days 23:26:00 2988.0 \n", - "2 2023-11-08 15:59:45+00:00 3803 days 05:21:47 9.0 \n", - "3 2019-12-31 02:20:06+00:00 1093 days 23:59:58 5.0 \n", - "4 2020-03-08 12:06:43+00:00 700 days 23:11:36 0.0 " + " time_between_purchase nb_tickets_internet \n", + "0 3258 days 00:16:39 51.0 \n", + "1 3692 days 23:26:00 2988.0 \n", + "2 3803 days 05:21:47 9.0 \n", + "3 1093 days 23:59:58 5.0 \n", + "4 700 days 23:11:36 0.0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tickets_kpi.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0e5d3b2e-1a75-4d46-80e6-c306e9f8de84", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['customer_id', 'event_type_id', 'nb_tickets', 'total_amount',\n", + " 'nb_suppliers', 'vente_internet_max', 'purchase_date_min',\n", + " 'purchase_date_max', 'time_between_purchase', 'nb_tickets_internet'],\n", + " dtype='object')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tickets_kpi.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7667e8eb-9a1e-4216-96f4-bf987c6e30b5", + "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", + "
customer_idevent_type_idnb_ticketstotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet
1144532423248965.5612013-09-23 14:45:01+00:002023-11-03 14:11:01+00:003692 days 23:26:002988.0
0123842262686540.5712014-12-03 14:55:37+00:002023-11-04 15:12:16+00:003258 days 00:16:3951.0
3162173561435871.5512017-01-01 02:20:08+00:002019-12-31 02:20:06+00:001093 days 23:59:585.0
2152017501459190.0612013-06-10 10:37:58+00:002023-11-08 15:59:45+00:003803 days 05:21:479.0
503267336142080.0312017-01-11 15:00:54+00:002019-11-27 09:47:06+00:001049 days 18:46:1213497.0
50296733211656471.0312015-09-09 13:48:38+00:002022-07-07 07:37:12+00:002492 days 17:48:349815.0
50306733474400.0212021-01-06 10:05:01+00:002022-09-08 14:39:40+00:00610 days 04:34:397419.0
60416658312546.5412017-01-02 11:23:53+00:002019-12-30 10:36:55+00:001091 days 23:13:026391.0
57412651422423.0612014-01-23 16:56:57+00:002023-03-06 13:55:23+00:003328 days 20:58:265321.0
36376634884575063250.0112021-06-04 12:20:39+00:002022-08-25 13:08:38+00:00447 days 00:47:595750.0
\n", + "
" + ], + "text/plain": [ + " customer_id event_type_id nb_tickets total_amount nb_suppliers \\\n", + "1 1 4 453242 3248965.5 6 \n", + "0 1 2 384226 2686540.5 7 \n", + "3 1 6 217356 1435871.5 5 \n", + "2 1 5 201750 1459190.0 6 \n", + "5032 6733 6 14208 0.0 3 \n", + "5029 6733 2 11656 471.0 3 \n", + "5030 6733 4 7440 0.0 2 \n", + "60 41 6 6583 12546.5 4 \n", + "57 41 2 6514 22423.0 6 \n", + "36376 63488 4 5750 63250.0 1 \n", + "\n", + " vente_internet_max purchase_date_min \\\n", + "1 1 2013-09-23 14:45:01+00:00 \n", + "0 1 2014-12-03 14:55:37+00:00 \n", + "3 1 2017-01-01 02:20:08+00:00 \n", + "2 1 2013-06-10 10:37:58+00:00 \n", + "5032 1 2017-01-11 15:00:54+00:00 \n", + "5029 1 2015-09-09 13:48:38+00:00 \n", + "5030 1 2021-01-06 10:05:01+00:00 \n", + "60 1 2017-01-02 11:23:53+00:00 \n", + "57 1 2014-01-23 16:56:57+00:00 \n", + "36376 1 2021-06-04 12:20:39+00:00 \n", + "\n", + " purchase_date_max time_between_purchase nb_tickets_internet \n", + "1 2023-11-03 14:11:01+00:00 3692 days 23:26:00 2988.0 \n", + "0 2023-11-04 15:12:16+00:00 3258 days 00:16:39 51.0 \n", + "3 2019-12-31 02:20:06+00:00 1093 days 23:59:58 5.0 \n", + "2 2023-11-08 15:59:45+00:00 3803 days 05:21:47 9.0 \n", + "5032 2019-11-27 09:47:06+00:00 1049 days 18:46:12 13497.0 \n", + "5029 2022-07-07 07:37:12+00:00 2492 days 17:48:34 9815.0 \n", + "5030 2022-09-08 14:39:40+00:00 610 days 04:34:39 7419.0 \n", + "60 2019-12-30 10:36:55+00:00 1091 days 23:13:02 6391.0 \n", + "57 2023-03-06 13:55:23+00:00 3328 days 20:58:26 5321.0 \n", + "36376 2022-08-25 13:08:38+00:00 447 days 00:47:59 5750.0 " ] }, "execution_count": 12, @@ -201,8 +441,81 @@ } ], "source": [ - "tickets_kpi.head()" + "# Présence d'outlier\n", + "tickets_kpi.sort_values(by = ['nb_tickets'], axis = 0, ascending = False).head(10)" ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "9b2e27f2-703d-465b-a0f9-76e996de617c", + "metadata": {}, + "outputs": [], + "source": [ + "# Part du CA par customer\n", + "total_amount_share = tickets_kpi.groupby('customer_id')['total_amount'].sum().reset_index()\n", + "total_amount_share['total_amount_entreprise'] = total_amount_share['total_amount'].sum()\n", + "total_amount_share['share_total_amount'] = total_amount_share['total_amount']/total_amount_share['total_amount_entreprise']\n", + "\n", + "total_amount_share_index = total_amount_share.set_index('customer_id')\n", + "df_circulaire = total_amount_share_index['total_amount'].sort_values(axis = 0, ascending = False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "36141803-8865-4210-bd39-0a980301fd0c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Costumer 1 vs others customers\n", + "coupure = 1\n", + "\n", + "top = df_circulaire[:coupure]\n", + "rest = df_circulaire[coupure:]\n", + "\n", + "# Calculez la somme du reste\n", + "rest_sum = rest.sum()\n", + "\n", + "# Créez une nouvelle série avec les cinq plus grandes parts et 'Autre'\n", + "new_series = pd.concat([top, pd.Series([rest_sum], index=['Autre'])])\n", + "\n", + "# Créez le graphique circulaire\n", + "plt.figure(figsize=(3, 3))\n", + "plt.pie(new_series, labels=new_series.index, autopct='%1.1f%%', startangle=140, pctdistance=0.5)\n", + "plt.axis('equal') # Assurez-vous que le graphique est un cercle\n", + "plt.title('Répartition des montants totaux')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "94cf1a25-9ded-48f2-b1b2-75225bdaf49d", + "metadata": {}, + "outputs": [], + "source": [ + "tickets_kpi_filtered = tickets_kpi[tickets_kpi['customer_id'] != 1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31e4e6f1-efc4-410d-b1d3-bb49950ef58e", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {