From 473afd9a898c0f49aa6f1b5ada157c8cf283e8d3 Mon Sep 17 00:00:00 2001 From: frodrigue-ensae Date: Tue, 5 Mar 2024 14:37:29 +0000 Subject: [PATCH] ajout_indicateur --- 0_KPI_functions.py | 5 ++ Spectacle/Stat_desc.ipynb | 155 +++++++++++++++++++++++++++++++------- 2 files changed, 131 insertions(+), 29 deletions(-) diff --git a/0_KPI_functions.py b/0_KPI_functions.py index 3073f3e..837e785 100644 --- a/0_KPI_functions.py +++ b/0_KPI_functions.py @@ -90,6 +90,11 @@ def tickets_kpi_function(tickets_information = None): # tickets_kpi = tickets_kpi.merge(avg_amount, how='left', on= 'event_type_id') + #Taux de ticket payé par internet selon les compagnies + + #tickets_kpi["Taux_ticket_internet"] = tickets_kpi["nb_tickets_internet"]*100 / tickets_kpi["nb_tickets"] + #tickets_kpi['Taux_ticket_internet'] = tickets_kpi['Taux_ticket_internet'].fillna(0) + return tickets_kpi def customerplus_kpi_function(customerplus_clean = None): diff --git a/Spectacle/Stat_desc.ipynb b/Spectacle/Stat_desc.ipynb index b048fb1..200b88a 100644 --- a/Spectacle/Stat_desc.ipynb +++ b/Spectacle/Stat_desc.ipynb @@ -3736,19 +3736,19 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 30, "id": "d06ab865-4832-4fe9-918b-e5ff72bebee4", "metadata": {}, "outputs": [ { "ename": "NameError", - "evalue": "name 'plt' is not defined", + "evalue": "name 'company_campaigns_stats' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Création du barplot\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241m.\u001b[39mbar(company_campaigns_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumber_compagny\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m100\u001b[39m \u001b[38;5;241m*\u001b[39m company_campaigns_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mratio_campaigns_opened\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# Ajout de titres et d'étiquettes\u001b[39;00m\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCompany\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'plt' is not defined" + "Cell \u001b[0;32mIn[30], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Création du barplot\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m plt\u001b[38;5;241m.\u001b[39mbar(\u001b[43mcompany_campaigns_stats\u001b[49m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumber_compagny\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m100\u001b[39m \u001b[38;5;241m*\u001b[39m company_campaigns_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mratio_campaigns_opened\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# Ajout de titres et d'étiquettes\u001b[39;00m\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCompany\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'company_campaigns_stats' is not defined" ] } ], @@ -3915,7 +3915,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 35, "id": "6db089d5-5517-4aee-a5fd-53f20ae3f0d7", "metadata": {}, "outputs": [], @@ -3984,6 +3984,65 @@ "plt.title(\"Boite à moustache du chiffre d'affaire selon les compagnies de spectacles\")" ] }, + { + "cell_type": "code", + "execution_count": 31, + "id": "76e08ece-0b58-4b3a-abca-53e30ccc907b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Statistique F : 0.6726212699019267\n", + "Valeur de p : 0.6108808380730608\n", + "Nombre de degrés de liberté entre les groupes : 4\n", + "Nombre de degrés de liberté à l'intérieur des groupes : 764875\n", + "Il n'y a pas de différences significatives entre les entreprises .\n" + ] + } + ], + "source": [ + "#test d'anova pour voir si la difference de chiffre d'affaire est statistiquement significative\n", + "\n", + "from scipy.stats import f_oneway\n", + "\n", + "# Créez une liste pour stocker les données de chaque groupe\n", + "groupes = []\n", + "\n", + "# Parcourez chaque modalité de la variable catégorielle et divisez les données en groupes\n", + "for modalite in products_purchased_reduced_spectacle['number_compagny'].unique():\n", + " groupe = products_purchased_reduced_spectacle[products_purchased_reduced_spectacle['number_compagny'] == modalite]['total_amount']\n", + " groupes.append(groupe)\n", + "\n", + "# Effectuez le test ANOVA\n", + "f_statistic, p_value = f_oneway(*groupes)\n", + "\n", + "# Nombre total d'observations\n", + "N = sum(len(groupe) for groupe in groupes)\n", + "\n", + "# Nombre de groupes ou de catégories\n", + "k = len(groupes)\n", + "\n", + "# Degrés de liberté entre les groupes\n", + "df_between = k - 1\n", + "\n", + "# Degrés de liberté à l'intérieur des groupes\n", + "df_within = N - k\n", + "\n", + "# Affichez les résultats\n", + "print(\"Statistique F :\", f_statistic)\n", + "print(\"Valeur de p :\", p_value)\n", + "\n", + "print(\"Nombre de degrés de liberté entre les groupes :\", df_between)\n", + "print(\"Nombre de degrés de liberté à l'intérieur des groupes :\", df_within)\n", + "\n", + "if p_value < 0.05:\n", + " print(\"Il y a des différences significatives entre au moins une des entrepries .\")\n", + "else:\n", + " print(\"Il n'y a pas de différences significatives entre les entreprises .\")" + ] + }, { "cell_type": "code", "execution_count": 54, @@ -4109,29 +4168,6 @@ "plt.show()" ] }, - { - "cell_type": "code", - "execution_count": 75, - "id": "254875ac-95e4-44fa-9f02-6cec144e4bde", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "la p-value associé à la stat de fisher est superieure à 5% donc il n y a pas de lien entre les entreprise et le taux de ticket acheté en ligne\n" - ] - } - ], - "source": [ - "#test anova entre les entreprise de spectacle et taux d'achat de ticket en ligne\n", - "import statsmodels.api as sm\n", - "from statsmodels.formula.api import ols\n", - "model = ols('Taux_ticket_internet ~ number_compagny', data=purchase_spectacle).fit()\n", - "anova_table = sm.stats.anova_lm(model, typ=2)\n", - "print(\"la p-value associé à la stat de fisher est superieure à 5% donc il n y a pas de lien entre les entreprise et le taux de ticket acheté en ligne\")\n" - ] - }, { "cell_type": "code", "execution_count": 66, @@ -4160,7 +4196,7 @@ } ], "source": [ - "#repartion Chiffre d'affaire selon le numero de la compagnie\n", + "#repartition Chiffre d'affaire selon le numero de la compagnie\n", "\n", "sns.boxplot(data=products_purchased_reduced_spectacle, y=\"time_between_purchase\",x=\"number_compagny\",showfliers=False,showmeans=True)\n", "plt.title(\"Boite à moustache du temps ecoulés entre le premier et le dernier achat selon les compagnies de spectacles\")" @@ -4185,6 +4221,8 @@ } ], "source": [ + "#test d'anova pour voir si la difference de temps entre le premier et le dernier achat est statistiquement significative\n", + "\n", "from scipy.stats import f_oneway\n", "\n", "# Créez une liste pour stocker les données de chaque groupe\n", @@ -4223,6 +4261,65 @@ " print(\"Il n'y a pas de différences significatives entre les entreprises .\")" ] }, + { + "cell_type": "code", + "execution_count": 33, + "id": "74f06e96-3c25-4eca-8190-25b0a4ab0d75", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "customer_id int64\n", + "nb_tickets int64\n", + "nb_purchases int64\n", + "total_amount float64\n", + "nb_suppliers int64\n", + "vente_internet_max int64\n", + "purchase_date_min float64\n", + "purchase_date_max float64\n", + "time_between_purchase float64\n", + "nb_tickets_internet float64\n", + "number_compagny int64\n", + "dtype: object" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "products_purchased_reduced_spectacle.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "20a70ec0-38f6-470e-a442-7884a150613a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Skpyur7MzExz8eJFs2bNGiPJ/Pjjj/Z5eQ2zxhhz7Ngxc8cdd5h77rnHbN261fj7+5t//vOfV92fr7/+Otfz/PIwez3n87Fjx4y3t7f597//7dDesWNHExwcbC5evGiMMWbOnDlGkvn8888d+v3www9Gkpk4caK9LTw83Pj6+poDBw7Y286dO2dKlChh+vbta2+bN2+ekWRWrVrlsE5XzmlnssLsXXfd5XAO7d+/33h5eZk+ffrkuOzVzqPu3bvnuu0srnwGJJng4GCTmppqb0tOTjaFChUycXFx9rY33njDSDL79u3Ltr3w8HDj4eFhfvnlF4f2vn37miJFijgcC2OMefPNN40ks3PnTmPM/4XZ0NBQc+7cOXu/1NRUU6JECdOsWTN7W9bPkVdeeSVbHVeG2az93b59u9P3yRjXzi1YB8MMcFPx9vbWmDFjtHnzZn366adO+6xcuVLSpT+fXu7xxx9X4cKFs/2Zqm7duipbtqx9ulq1apIu/fnW398/W7uzJyp07drVYbpLly6SpFWrVjm0N23aVMWLF7dPnz9/Xt98840effRR+fv7Kz093f5q06aNzp8/r++++87pfl6uSZMmKly4cLZaW7du7fBntiv3YePGjTp37ly29yosLExNmzZ1eK+efvppSdL//vc/e9u7776rWrVq6YEHHpB06aaQEydOqEePHg77kpmZqVatWumHH37I9mfNdu3aOUzXrl1b58+fV0pKSo77u3HjRp0/fz7b+x4VFaXw8HCHtsWLF6tmzZqqW7euQ00tW7Z0+NOoMxs2bFBqaqr69++f613Rp0+f1rBhw1SpUiV5enrK09NTRYoU0ZkzZxyGa+S2z5LjufXHH3+oS5cuCgkJkYeHh7y8vBQdHS1JTteZF0FBQZo7d662bt2qqKgolStXTpMmTbrqclnncU7neZbrPZ+DgoLUtm1bzZw5U5mZmZKkv/76S1988YW6d+8uT09PSZeOabFixdS2bVuHbdStW1chISHZjmndunVVrlw5+7Svr68qV67s9LN8pWs5p53p0qWLwzkUHh6uqKgoh58Rrp5HHTp0uOp2Jdc/A02aNFHRokXt08HBwSpdunSe3q8stWvXVuXKlbPV0aRJE4WGhjrU0bp1a0nSmjVrHPr/4x//kK+vr326aNGiatu2rdauXauMjAyHvnl5L+rWrStvb2/961//0syZM/XHH39k6+PquQVrIMziptO5c2fdddddeumll3Tx4sVs848fPy5PT0+VKlXKod1msykkJETHjx93aC9RooTDtLe3d67t58+fd2j39PRUUFCQQ1tISIi9lsuVKVMmW63p6emaMGGCvLy8HF5t2rSRJB07dizbPl7pWvchq74r65Kk0NBQh/qDg4PVqVMnffDBB8rIyNCOHTv07bff6plnnrH3OXLkiCTpsccey7Y/48aNkzFGJ06ccNjOle+dj4+PpNxvGMmqK+t9vtyVbUeOHNGOHTuy1VO0aFEZY3J9f7PGyN1xxx059pEuBZV3331Xffr00bJly7Rp0yb98MMPKlWqlNP9uNo+nz59Wo0aNdL333+vMWPGaPXq1frhhx80f/58h37X4t5771WNGjV0/vx5Pf300w7/CcpJ1mcqp/P88n7Xez736tVLhw4dUkJCgiRpzpw5SktLc/gP15EjR/T333/L29s723aSk5OzbePKuqVL73le3sdrOaedyelcvfwz5up55Oxzm9M+uPIZuJ73K7fajhw5okWLFmWro0aNGpKynxs5vWcXLlzQ6dOnr7q9K1WsWFErVqxQ6dKlNWDAAFWsWFEVK1bUO++841CjK+cWrMHT3QUAV7LZbBo3bpyaN2+uyZMnZ5sfFBSk9PR0HT161CHQGmOUnJysu+++O1/rSU9P1/Hjxx1+ASQnJ9trubL2yxUvXlweHh7q1q2bBgwY4HT9ERER+Vrv5bLqS0pKyjbv8OHDKlmypEPbs88+qw8//FBffPGFli5dqmLFijlcrcvqP2HChBzvIg4ODs63urPe58slJyc73PhUsmRJ+fn5Odzwc7kr9/FyWefPn3/+mWOfkydPavHixYqNjdXw4cPt7WlpaXkKOc6sXLlShw8f1urVq+1XYyU5fQySr6+v0xvmcvqlGxsbq59++kmRkZF65ZVX9PDDD6tChQq51pP1mcrpPM+SH+dzy5YtFRoaqunTp6tly5aaPn267r33XlWvXt3eJ+vGuaVLlzpdx+VXFa9Xfp3TOZ2rWe/ntZxHeX2G6vV8Bq6Vs9pKliyp2rVra+zYsU6XCQ0NdZjO6T3z9vbO9nzvvL4XjRo1UqNGjZSRkaHNmzdrwoQJGjx4sIKDg9W5c+cbem7hxiHM4qbUrFkzNW/eXKNHj1ZYWJjDvAcffFDjx4/XRx99pCFDhtjbP//8c505c0YPPvhgvtcze/ZsDRo0yD798ccfS9JVH97v7++vJk2aaNu2bapdu7b9yumN0qBBA/n5+emjjz6y380tXQpvK1eu1GOPPebQPzIyUlFRURo3bpx+/vln/etf/3K4stewYUMVK1ZMu3btcrhim9/uu+8++fr6avbs2Q5/XtywYYMOHDjgEGYffvhhvfbaawoKCnL5PwZRUVEKDAzUpEmT1LlzZ6e/MG02m4wx9qurWaZMmZLtT6F5lbWdK9f5wQcfZOtbvnx5zZs3T2lpafb+x48f14YNGxQQEODQNyEhQXFxcXr55Zc1ePBg1a1bV506ddL69etzPfeaNGmi8ePH53ieZ8mP8zkrDMfHx+vbb7/V5s2bs+33ww8/rE8++UQZGRm69957Xd6GMzn9RSC/zuk5c+Zo6NCh9mN74MABbdiwQd27d5dUMOdRluv5DOQkL39BcVbHkiVLVLFiRYfhVjmZP3++3njjDftQg1OnTmnRokVq1KiRPDw8rq3w/8/Dw0P33nuvqlatqtmzZ2vr1q3q3LlzgZxbcD/CLG5a48aNU2RkpFJSUux/ppKk5s2bq2XLlho2bJhSU1PVsGFD7dixQ7GxsapXr566deuWr3V4e3vrrbfe0unTp3X33Xdrw4YNGjNmjFq3bq3777//qsu/8847uv/++9WoUSM9/fTTKl++vE6dOqXff/9dixYtso8BLgjFihXTiBEj9O9//1vdu3fXE088oePHj2vUqFHy9fVVbGxstmWeffZZderUSTabTf3793eYV6RIEU2YMEE9evTQiRMn9Nhjj6l06dI6evSofvzxRx09elTvv//+ddddvHhxPf/88xozZoz69Omjxx9/XAcPHtTIkSOz/Wly8ODB+vzzz/XAAw9oyJAhql27tjIzM5WYmKjly5frueeey/GXVpEiRfTWW2+pT58+atasmZ566ikFBwfr999/148//qh3331XAQEBeuCBB/TGG2+oZMmSKl++vNasWaOpU6eqWLFi17R/UVFRKl68uPr166fY2Fh5eXlp9uzZTp+x3K1bN33wwQf65z//qaeeekrHjx/X+PHjswXZpKQk/fOf/1R0dLRiY2NVqFAhzZ07Vw888IBefPFFxcfH51hPixYt7P3OnDmj+vXra/369frwww+z9c2P87lXr14aN26cunTp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S7r06K3t27crMTFR0qXxrt27/9/3Nvfr108HDhzQ0KFDtXv3bk2bNk1Tp07V888/747yAQAA4GZuHTO7efNmNWnSxD49dOhQSVKPHj00Y8YMJSUl2YOtJEVERGjJkiUaMmSI3nvvPYWGhuq///1vjo/lAgAAwK3NrWG2cePG9hu4nJkxY0a2tujoaG3durUAqwIAAIBVWGrMLAAAAHA5wiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAsl8Ps1KlTnbanp6crJibmugsCAAAA8srlMPvcc8+pQ4cOOnHihL1tz549uueee/Tpp5/ma3EAAABAblwOs9u2bdORI0dUq1YtJSQk6L333tNdd92lmjVravv27QVQIgAAAOCcp6sLREREaO3atRoyZIhatWolDw8PzZo1S507dy6I+gAAAIAcXdMNYIsXL9acOXMUFRWlYsWK6X//+58OHz6c37UBAAAAuXI5zPbt21cdO3bUiy++qLVr12rHjh3y8fFRrVq1GDMLAACAG8rlYQbr16/X999/rzp16kiSQkJCtGTJEr333nvq1auXOnbsmO9FAgAAAM64HGa3bNkiHx+fbO0DBgxQs2bN8qUoAAAAIC9cHmbgLMhmqVKlynUVAwAAALjimp5mYLPZcpz/xx9/XFdBAAAAQF65HGYHDx7sMH3x4kVt27ZNS5cu1QsvvJBfdQEAAABX5XKYffbZZ522v/fee9q8efN1FwQAAADk1TU9Z9aZ1q1b6/PPP8+v1QEAAABXlW9h9rPPPlOJEiXya3UAAADAVbk8zKBevXoON4AZY5ScnKyjR49q4sSJ+VocAAAAkBuXw+wjjzziMF2oUCGVKlVKjRs3VtWqVfOrLgAAAOCqXA6zsbGxBVEHAAAA4DKXw+zlzp07p4sXLzq0BQQEXFdBAAAAQF65fAPYmTNn9Mwzz6h06dIqUqSIihcv7vACAAAAbhSXw+yLL76olStXauLEifLx8dGUKVM0atQohYaGatasWQVRIwAAAOCUy8MMFi1apFmzZqlx48bq1auXGjVqpEqVKik8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6dJFw4YNU3Jysmw2mzIzM7V+/Xo9//zz6t69e0HUCAAAADjlcpgdO3asypUrp7Jly+r06dOqXr26HnjgAUVFRenll18uiBoBAAAAp1x+zqyXl5dmz56t0aNHa9u2bcrMzFS9evV05513FkR9AAAAQI5cDrOrV69W48aNVbFiRVWsWLEgagIAAADyxOVhBq1atVLFihU1ZswY/fnnnwVREwAAAJAnLofZw4cP69lnn9X8+fNVvnx5tWzZUp9++qkuXLhQEPUBAAAAOXI5zJYoUUKDBg3S1q1btXnzZlWpUkUDBgxQmTJlNGjQIP34448FUScAAACQjcth9nJ169bV8OHDNWDAAJ05c0bTpk1TZGSkGjVqpJ07d+ZXjQAAAIBT1xRmL168qM8++0xt2rRReHi4li1bpnfffVdHjhzRvn37FBYWpscffzy/awUAAAAcuBxmBw4cqDJlyqhfv36qXLmytm3bpo0bN6pPnz4qXLiwwsLC9Prrr2vPnj15Wt/EiRMVEREhX19fRUZG6ttvv821f1paml566SWFh4fLx8dHFStW1LRp01zdDQAAANwCXH40165duzRhwgR16NBB3t7eTvuEhoZq1apVV13X3LlzNXjwYE2cOFENGzbUBx98oNatW2vXrl0qV66c02U6duyoI0eOaOrUqapUqZJSUlKUnp7u6m4AAADgFuBymP3mm2+uvlJPT0VHR1+139tvv63evXurT58+kqT4+HgtW7ZM77//vuLi4rL1X7p0qdasWaM//vhDJUqUkCSVL1/etR0AAADALeOaxszu3btXAwcOVLNmzdS8eXMNGjRIe/fudWkdFy5c0JYtW9SiRQuH9hYtWmjDhg1Ol/nyyy9Vv359jR8/XmXLllXlypX1/PPP69y5czluJy0tTampqQ4vAAAA3BpcDrPLli1T9erVtWnTJtWuXVs1a9bU999/rxo1aighISHP6zl27JgyMjIUHBzs0B4cHKzk5GSny/zxxx9at26dfv75Zy1YsEDx8fH67LPPNGDAgBy3ExcXp8DAQPsrLCwszzUCAADg5ubyMIPhw4dryJAhev3117O1Dxs2TM2bN3dpfTabzWHaGJOtLUtmZqZsNptmz56twMBASZeGKjz22GN677335Ofnl22ZmJgYDR061D6dmppKoAUAALhFuHxldvfu3erdu3e29l69emnX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k50uk5yc7LR/enq6jh07pjJlymRbJi4uTqNGjcrWHhYWdh3Vw50CJ/Rzdwm4gTjetxeO9+2F4317uZbjferUKQUGBubax21hNovNZnOYNsZka7taf2ftWWJiYjR06FD7dGZmpk6cOKGgoKBct3OrSU1NVVhYmA4ePKiAgAB3l4MCxvG+vXC8by8c79vL7Xq8jTE6deqUQkNDr9rXbWG2ZMmS8vDwyHYVNiUlJdvV1ywhISFO+3t6eiooKMjpMj4+PvLx8XFoK1as2LUXbnEBAQG31Yfhdsfxvr1wvG8vHO/by+14vK92RTaL224A8/b2VmRkpBISEhzaExISFBUV5XSZBg0aZOu/fPly1a9f3+l4WQAAANza3Po0g6FDh2rKlCmaNm2adu/erSFDhigxMVH9+l0aUxETE6Pu3bvb+/fr108HDhzQ0KFDtXv3bk2bNk1Tp07V888/765dAAAAgBu5dcxsp06ddPz4cY0ePVpJSUmqWbOmlixZovDwcElSUlKSwzNnIyIitGTJEg0ZMkTvvfeeQkND9d///lcdOnRw1y5Yho+Pj2JjY7MNucCtieN9e+F431443rcXjvfV2UxennkAAAAA3ITc/nW2AAAAwLUizAIAAMCyCLMAAACwLMIsAAAALIswe4tZu3at2rZtq9DQUNlsNi1cuNBhvjFGI0eOVGhoqPz8/NS4cWPt3LnTPcXiul3teM+fP18tW7ZUyZIlZbPZtH37drfUifyR2/G+ePGihg0bplq1aqlw4cIKDQ1V9+7ddfjwYfcVjOtytc/3yJEjVbVqVRUuXFjFixdXs2bN9P3337unWFy3qx3vy/Xt21c2m03x8fE3rL6bGWH2FnPmzBnVqVNH7777rtP548eP19tvv613331XP/zwg0JCQtS8eXOdOnXqBleK/HC1433mzBk1bNhQr7/++g2uDAUht+N99uxZbd26VSNGjNDWrVs1f/58/frrr2rXrp0bKkV+uNrnu3Llynr33Xf1008/ad26dSpfvrxatGiho0eP3uBKkR+udryzLFy4UN9//32evub1tmFwy5JkFixYYJ/OzMw0ISEh5vXXX7e3nT9/3gQGBppJkya5oULkpyuP9+X27dtnJJlt27bd0JpQcHI73lk2bdpkJJkDBw7cmKJQYPJyvE+ePGkkmRUrVtyYolBgcjref/75pylbtqz5+eefTXh4uPnPf/5zw2u7GXFl9jayb98+JScnq0WLFvY2Hx8fRUdHa8OGDW6sDEBBOHnypGw2m4oVK+buUlDALly4oMmTJyswMFB16tRxdzkoAJmZmerWrZteeOEF1ahRw93l3FTc+g1guLGSk5MlScHBwQ7twcHBOnDggDtKAlBAzp8/r+HDh6tLly4KCAhwdzkoIIsXL1bnzp119uxZlSlTRgkJCSpZsqS7y0IBGDdunDw9PTVo0CB3l3LT4crsbchmszlMG2OytQGwrosXL6pz587KzMzUxIkT3V0OClCTJk20fft2bdiwQa1atVLHjh2VkpLi7rKQz7Zs2aJ33nlHM2bM4Pe1E4TZ20hISIik/7tCmyUlJSXb1VoA1nTx4kV17NhR+/btU0JCAldlb3GFCxdWpUqVdN9992nq1Kny9PTU1KlT3V0W8tm3336rlJQUlStXTp6envL09NSBAwf03HPPqXz58u4uz+0Is7eRiIgIhYSEKCEhwd524cIFrVmzRlFRUW6sDEB+yAqyv/32m1asWKGgoCB3l4QbzBijtLQ0d5eBfNatWzft2LFD27dvt79CQ0P1wgsvaNmyZe4uz+0YM3uLOX36tH7//Xf79L59+7R9+3aVKFFC5cqV0+DBg/Xaa6/pzjvv1J133qnXXntN/v7+6tKlixurxrW62vE+ceKEEhMT7c8a/eWXXyRdukqfdaUe1pHb8Q4NDdVjjz2mrVu3avHixcrIyLD/FaZEiRLy9vZ2V9m4Rrkd76CgII0dO1bt2rVTmTJldPz4cU2cOFF//vmnHn/8cTdWjWt1tZ/nV/7n1MvLSyEhIapSpcqNLvXm4+7HKSB/rVq1ykjK9urRo4cx5tLjuWJjY01ISIjx8fExDzzwgPnpp5/cWzSu2dWO9/Tp053Oj42NdWvduDa5He+sx685e61atcrdpeMa5Ha8z507Zx599FETGhpqvL29TZkyZUy7du3Mpk2b3F02rtHVfp5fiUdz/R+bMcYUbFwGAAAACgZjZgEAAGBZhFkAAABYFmEWAAAAlkWYBQAAgGURZgEAAGBZhFkAAABYFmEWAAAAlkWYBQAAgGURZgHgGjVu3FiDBw92dxkAcFsjzAIAAMCyCLMAcBPJyMhQZmamu8sAAMsgzAKwvMaNG2vQoEF68cUXVaJECYWEhGjkyJGSpP3798tms2n79u32/n///bdsNptWr14tSVq9erVsNpuWLVumevXqyc/PT02bNlVKSoq+/vprVatWTQEBAXriiSd09uxZh22np6frmWeeUbFixRQUFKSXX35Zxhj7/AsXLujFF19U2bJlVbhwYd1777327UrSjBkzVKxYMS1evFjVq1eXj4+PDhw4cNV9njZtmmrUqCEfHx+VKVNGzzzzjH1eYmKi2rdvryJFiiggIEAdO3bUkSNH7PNHjhypunXratq0aSpXrpyKFCmip59+WhkZGRo/frxCQkJUunRpjR071mGbNptN77//vlq3bi0/Pz9FRERo3rx5Dn2GDRumypUry9/fXxUqVNCIESN08eJFhz5jxoxR6dKlVbRoUfXp00fDhw9X3bp17fN79uypRx55RG+++abKlCmjoKAgDRgwwL6e0aNHq1atWtnek8jISL3yyitXfe8A3GIMAFhcdHS0CQgIMCNHjjS//vqrmTlzprHZbGb58uVm3759RpLZtm2bvf9ff/1lJJlVq1YZY4xZtWqVkWTuu+8+s27dOrN161ZTqVIlEx0dbVq0aGG2bt1q1q5da4KCgszrr7/usN0iRYqYZ5991uzZs8d89NFHxt/f30yePNnep0uXLiYqKsqsXbvW/P777+aNN94wPj4+5tdffzXGGDN9+nTj5eVloqKizPr1682ePXvM6dOnc93fiRMnGl9fXxMfH29++eUXs2nTJvOf//zHGGNMZmamqVevnrn//vvN5s2bzXfffWfuuusuEx0dbV8+NjbWFClSxDz22GNm586d5ssvvzTe3t6mZcuWZuDAgWbPnj1m2rRpRpLZuHGjfTlJJigoyPzvf/8zv/zyi3n55ZeNh4eH2bVrl73Pq6++atavX2/27dtnvvzySxMcHGzGjRtnn//RRx8ZX19fM23aNPPLL7+YUaNGmYCAAFOnTh17nx49epiAgADTr18/s3v3brNo0SKH9/XgwYOmUKFCZtOmTfZlfvzxR2Oz2czevXtzfe8A3HoIswAsLzo62tx///0ObXfffbcZNmyYS2F2xYoV9j5xcXFGkkM46tu3r2nZsqXDdqtVq2YyMzPtbcOGDTPVqlUzxhjz+++/G5vNZg4dOuRQ24MPPmhiYmKMMZfCrCSzffv2PO9vaGioeemll5zOW758ufHw8DCJiYn2tp07dxpJ9vAXGxtr/P39TWpqqr1Py5YtTfny5U1GRoa9rUqVKiYuLs4+Lcn069fPYXv33nuvefrpp3Osdfz48SYyMtKh/4ABAxz6NGzYMFuYDQ8PN+np6fa2xx9/3HTq1Mk+3bp1a4ftDh482DRu3DjHOgDcuhhmAOCWULt2bYfpMmXKKCUl5ZrXERwcbP9T+eVtV67zvvvuk81ms083aNBAv/32mzIyMrR161YZY1S5cmUVKVLE/lqzZo327t1rX8bb2ztb/TlJSUnR4cOH9eCDDzqdv3v3boWFhSksLMzeVr16dRUrVky7d++2t5UvX15FixZ12Lfq1aurUKFCDm1X7m+DBg2yTV++3s8++0z333+/QkJCVKRIEY0YMUKJiYn2+b/88ovuueceh3VcOS1JNWrUkIeHh336yuP51FNPac6cOTp//rwuXryo2bNnq1evXk7fEwC3Nk93FwAA+cHLy8th2mazKTMz0x7OzGXjWK8cw+lsHTabLcd15lVmZqY8PDy0ZcsWh2AmSUWKFLH/28/PzyEQ58bPzy/X+cYYp+u6st3Zvl3r/mat97vvvlPnzp01atQotWzZUoGBgfrkk0/01ltvOe1/eW1Xulotbdu2lY+PjxYsWCAfHx+lpaWpQ4cOV60VwK2HK7MAbmmlSpWSJCUlJdnbLr8Z7Hp999132abvvPNOeXh4qF69esrIyFBKSooqVark8AoJCbmm7RUtWlTly5fXN99843R+9erVlZiYqIMHD9rbdu3apZMnT6patWrXtM3LOdvfqlWrSpLWr1+v8PBwvfTSS6pfv77uvPPObDezValSRZs2bXJo27x5s8t1eHp6qkePHpo+fbqmT5+uzp07y9/f3+X1ALA+rswCuKX5+fnpvvvu0+uvv67y5cvr2LFjevnll/Nt/QcPHtTQoUPVt29fbd26VRMmTLBfiaxcubK6du2q7t2766233lK9evV07NgxrVy5UrVq1VKbNm2uaZsjR45Uv379VLp0abVu3VqnTp3S+vXrNXDgQDVr1ky1a9dW165dFR8fr/T0dPXv31/R0dGqX7/+de/vvHnzVL9+fd1///2aPXu2Nm3apKlTp0qSKlWqpMTERH3yySe6++679dVXX2nBggUOyw8cOFBPPfWU6tevr6ioKM2dO1c7duxwGM6RV3369LEH9PXr11/3vgGwJq7MArjlTZs2TRcvXlT9+vX17LPPasyYMfm27u7du+vcuXO65557NGDAAA0cOFD/+te/7POnT5+u7t2767nnnlOVKlXUrl07ff/99w5jWl3Vo0cPxcfHa+LEiapRo4Yefvhh/fbbb5Iu/Tl+4cKFKl68uB544AE1a9ZMFSpU0Ny5c697XyVp1KhR+uSTT1S7dm3NnDlTs2fPVvXq1SVJ7du315AhQ/TMM8+obt262rBhg0aMGOGwfNeuXRUTE6Pnn39ed911l/bt26eePXvK19fX5VruvPNORUVFqUqVKrr33nvzZf8AWI/NOBusBADAFWw2mxYsWKBHHnkkX9fbvHlzhYSE6MMPP3RpOWOMqlatqr59+2ro0KH5WhMA62CYAQDghjl79qwmTZqkli1bysPDQ3PmzNGKFSuUkJDg0npSUlL04Ycf6tChQ3ryyScLqFoAVkCYBYCbzOVPOrjS119/rUaNGt3AavKXzWbTkiVLNGbMGKWlpalKlSr6/PPP1axZM5fWExwcrJIlS2ry5MkqXrx4AVULwAoYZgAAN5nff/89x3lly5a96uO5AOB2QpgFAACAZfE0AwAAAFgWYRYAAACWRZgFAACAZRFmAQAAYFmEWQAAAFgWYRYAAACWRZgFAACAZf0/+B7g2S7P1+wAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Repartition du nombre de canaux de vente selon les entreprise\n", + "plt.figure(figsize=(8, 6))\n", + "sns.barplot(x='number_compagny', y='nb_suppliers', data=products_purchased_reduced_spectacle, ci=None) # ci=None pour ne pas afficher les intervalles de confiance\n", + "plt.title('Nombre moyen de canaux de vente par entreprise')\n", + "plt.xlabel('number_compagny')\n", + "plt.ylabel('Nombre moyen de caneaux ')\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "id": "b9e84af4-a02b-4f83-81ae-b7a73475d060",