{ "cells": [ { "cell_type": "code", "execution_count": 178, "id": "23983c15", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 179, "id": "75d122bb", "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", "
citystore_namemanufacturerbrandclasssizeskuprice_bracketyearmonthvalue_salesvolume_salesaverage_price
0AL BAHAHM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHANOVA FOODSLARACOCONUT0.75LLARA COCONUT 0.75L TWIN PACK21-30202412830.8630.127.6
1AL KHARJHM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K...PALM & GRAIN GROUPNAJMACANOLA0.5LNAJMA CANOLA 0.5L TWIN PACK41-50202410373.109.141.0
2RIYADHHM No 86781 GS-CENTER-RIYADH MAIN RD RIYADHAL HILAL INDUSTRIESBAYTNASUNFLOWER0.75LBAYTNA SUNFLOWER 0.75L ECO101+20231171.701.7101.0
3DAMMAMHM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAMPALM & GRAIN GROUPNOURCORN0.6LNOUR CORN 0.6L TWIN PACK61-70202221226.1020.161.0
4JAZANHM No 56338 GS-CENTER-JAZAN MAIN RD JAZANDESERT SUN CONOURVEGETABLE1LNOUR VEGETABLE 1L81-9020242996.3012.381.0
\n", "
" ], "text/plain": [ " city store_name \\\n", "0 AL BAHA HM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHA \n", "1 AL KHARJ HM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K... \n", "2 RIYADH HM No 86781 GS-CENTER-RIYADH MAIN RD RIYADH \n", "3 DAMMAM HM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAM \n", "4 JAZAN HM No 56338 GS-CENTER-JAZAN MAIN RD JAZAN \n", "\n", " manufacturer brand class size \\\n", "0 NOVA FOODS LARA COCONUT 0.75L \n", "1 PALM & GRAIN GROUP NAJMA CANOLA 0.5L \n", "2 AL HILAL INDUSTRIES BAYTNA SUNFLOWER 0.75L \n", "3 PALM & GRAIN GROUP NOUR CORN 0.6L \n", "4 DESERT SUN CO NOUR VEGETABLE 1L \n", "\n", " sku price_bracket year month value_sales \\\n", "0 LARA COCONUT 0.75L TWIN PACK 21-30 2024 12 830.86 \n", "1 NAJMA CANOLA 0.5L TWIN PACK 41-50 2024 10 373.10 \n", "2 BAYTNA SUNFLOWER 0.75L ECO 101+ 2023 1 171.70 \n", "3 NOUR CORN 0.6L TWIN PACK 61-70 2022 2 1226.10 \n", "4 NOUR VEGETABLE 1L 81-90 2024 2 996.30 \n", "\n", " volume_sales average_price \n", "0 30.1 27.6 \n", "1 9.1 41.0 \n", "2 1.7 101.0 \n", "3 20.1 61.0 \n", "4 12.3 81.0 " ] }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"oil_sales_assignment_dataset.csv\")\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 180, "id": "74315548", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2000, 13)" ] }, "execution_count": 180, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 181, "id": "8a0b77a1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['city', 'store_name', 'manufacturer', 'brand', 'class', 'size', 'sku',\n", " 'price_bracket', 'year', 'month', 'value_sales', 'volume_sales',\n", " 'average_price'],\n", " dtype='object')" ] }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns" ] }, { "cell_type": "code", "execution_count": 182, "id": "b7058a92", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2000 entries, 0 to 1999\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 city 2000 non-null object \n", " 1 store_name 2000 non-null object \n", " 2 manufacturer 2000 non-null object \n", " 3 brand 2000 non-null object \n", " 4 class 2000 non-null object \n", " 5 size 2000 non-null object \n", " 6 sku 2000 non-null object \n", " 7 price_bracket 2000 non-null object \n", " 8 year 2000 non-null int64 \n", " 9 month 2000 non-null int64 \n", " 10 value_sales 2000 non-null float64\n", " 11 volume_sales 2000 non-null float64\n", " 12 average_price 2000 non-null float64\n", "dtypes: float64(3), int64(2), object(8)\n", "memory usage: 203.3+ KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 183, "id": "e4b3b178", "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", "
yearmonthvalue_salesvolume_salesaverage_price
count2000.0000002000.0000002000.0000002000.0000002000.000000
mean2022.9905006.639500614.8393559.97210060.990230
std0.8202113.468942750.7949919.86236929.457029
min2022.0000001.0000006.9600000.50000011.000000
25%2022.0000004.000000132.0000002.90000037.337500
50%2023.0000007.000000368.3200007.00000061.000000
75%2024.00000010.000000794.10000013.80000081.000000
max2024.00000012.0000006253.20000081.700000140.000000
\n", "
" ], "text/plain": [ " year month value_sales volume_sales average_price\n", "count 2000.000000 2000.000000 2000.000000 2000.000000 2000.000000\n", "mean 2022.990500 6.639500 614.839355 9.972100 60.990230\n", "std 0.820211 3.468942 750.794991 9.862369 29.457029\n", "min 2022.000000 1.000000 6.960000 0.500000 11.000000\n", "25% 2022.000000 4.000000 132.000000 2.900000 37.337500\n", "50% 2023.000000 7.000000 368.320000 7.000000 61.000000\n", "75% 2024.000000 10.000000 794.100000 13.800000 81.000000\n", "max 2024.000000 12.000000 6253.200000 81.700000 140.000000" ] }, "execution_count": 183, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 184, "id": "5fe1eb31", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "city 0\n", "store_name 0\n", "manufacturer 0\n", "brand 0\n", "class 0\n", "size 0\n", "sku 0\n", "price_bracket 0\n", "year 0\n", "month 0\n", "value_sales 0\n", "volume_sales 0\n", "average_price 0\n", "dtype: int64" ] }, "execution_count": 184, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 185, "id": "425959b9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(0)" ] }, "execution_count": 185, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.duplicated().sum()" ] }, { "cell_type": "code", "execution_count": 186, "id": "5ecd7730", "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", "
citystore_namemanufacturerbrandclasssizeskuprice_bracketyearmonthvalue_salesvolume_salesaverage_price
0AL BAHAHM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHANOVA FOODSLARACOCONUT0.75LARA COCONUT 0.75L TWIN PACK21-30202412830.8630.127.6
1AL KHARJHM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K...PALM & GRAIN GROUPNAJMACANOLA0.50NAJMA CANOLA 0.5L TWIN PACK41-50202410373.109.141.0
2RIYADHHM No 86781 GS-CENTER-RIYADH MAIN RD RIYADHAL HILAL INDUSTRIESBAYTNASUNFLOWER0.75BAYTNA SUNFLOWER 0.75L ECO101+20231171.701.7101.0
3DAMMAMHM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAMPALM & GRAIN GROUPNOURCORN0.60NOUR CORN 0.6L TWIN PACK61-70202221226.1020.161.0
4JAZANHM No 56338 GS-CENTER-JAZAN MAIN RD JAZANDESERT SUN CONOURVEGETABLE1.00NOUR VEGETABLE 1L81-9020242996.3012.381.0
\n", "
" ], "text/plain": [ " city store_name \\\n", "0 AL BAHA HM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHA \n", "1 AL KHARJ HM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K... \n", "2 RIYADH HM No 86781 GS-CENTER-RIYADH MAIN RD RIYADH \n", "3 DAMMAM HM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAM \n", "4 JAZAN HM No 56338 GS-CENTER-JAZAN MAIN RD JAZAN \n", "\n", " manufacturer brand class size sku \\\n", "0 NOVA FOODS LARA COCONUT 0.75 LARA COCONUT 0.75L TWIN PACK \n", "1 PALM & GRAIN GROUP NAJMA CANOLA 0.50 NAJMA CANOLA 0.5L TWIN PACK \n", "2 AL HILAL INDUSTRIES BAYTNA SUNFLOWER 0.75 BAYTNA SUNFLOWER 0.75L ECO \n", "3 PALM & GRAIN GROUP NOUR CORN 0.60 NOUR CORN 0.6L TWIN PACK \n", "4 DESERT SUN CO NOUR VEGETABLE 1.00 NOUR VEGETABLE 1L \n", "\n", " price_bracket year month value_sales volume_sales average_price \n", "0 21-30 2024 12 830.86 30.1 27.6 \n", "1 41-50 2024 10 373.10 9.1 41.0 \n", "2 101+ 2023 1 171.70 1.7 101.0 \n", "3 61-70 2022 2 1226.10 20.1 61.0 \n", "4 81-90 2024 2 996.30 12.3 81.0 " ] }, "execution_count": 186, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def remove_L(L):\n", " new_L = L.replace(\"L\",\"\")\n", " return float(new_L)\n", "\n", "df[\"size\"] = df[\"size\"].apply(remove_L)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 187, "id": "b97d694b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['LARA COCONUT 0.75L TWIN PACK', 'NAJMA CANOLA 0.5L TWIN PACK',\n", " 'BAYTNA SUNFLOWER 0.75L ECO', ..., 'LARA COCONUT 0.5L PREMIUM',\n", " 'LARA SUNFLOWER 3L', 'NAJMA CORN 0.75L ECO'],\n", " shape=(1571,), dtype=object)" ] }, "execution_count": 187, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"sku\"].unique()" ] }, { "cell_type": "code", "execution_count": 188, "id": "db916b5a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['AL BAHA', 'AL KHARJ', 'RIYADH', 'DAMMAM', 'JAZAN', 'TAIF', 'HAIL',\n", " 'MAKKAH', 'AL AHSA', 'TABUK', 'YANBU', 'JEDDAH'], dtype=object)" ] }, "execution_count": 188, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"city\"].unique()" ] }, { "cell_type": "code", "execution_count": 189, "id": "87b9a550", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['AL BAHA', 'AL KHARJ', 'RIYADH', 'DAMMAM', 'Other', 'TAIF', 'HAIL',\n", " 'MAKKAH', 'TABUK', 'YANBU', 'JEDDAH'], dtype=object)" ] }, "execution_count": 189, "metadata": {}, "output_type": "execute_result" } ], "source": [ "top_city = df[\"city\"].value_counts().index[:10].tolist()\n", "\n", "def group_city(city):\n", " if city in top_city:\n", " return city\n", " return \"Other\"\n", "\n", "df[\"city\"] = df[\"city\"].apply(group_city)\n", "df[\"city\"].unique()" ] }, { "cell_type": "code", "execution_count": 190, "id": "51c3fdfd", "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", "
citystore_namemanufacturerbrandclasssizeskuprice_bracketyearmonthvalue_salesvolume_salesaverage_price
0AL BAHAHM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHANOVA FOODSLARACOCONUT0.75LARA COCONUT 0.75L TWIN PACK21-30202412830.8630.127.6
1AL KHARJHM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K...PALM & GRAIN GROUPNAJMACANOLA0.50NAJMA CANOLA 0.5L TWIN PACK41-50202410373.109.141.0
2RIYADHHM No 86781 GS-CENTER-RIYADH MAIN RD RIYADHAL HILAL INDUSTRIESBAYTNASUNFLOWER0.75BAYTNA SUNFLOWER 0.75L ECO101+20231171.701.7101.0
3DAMMAMHM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAMPALM & GRAIN GROUPNOURCORN0.60NOUR CORN 0.6L TWIN PACK61-70202221226.1020.161.0
4OtherHM No 56338 GS-CENTER-JAZAN MAIN RD JAZANDESERT SUN CONOURVEGETABLE1.00NOUR VEGETABLE 1L81-9020242996.3012.381.0
\n", "
" ], "text/plain": [ " city store_name \\\n", "0 AL BAHA HM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHA \n", "1 AL KHARJ HM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K... \n", "2 RIYADH HM No 86781 GS-CENTER-RIYADH MAIN RD RIYADH \n", "3 DAMMAM HM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAM \n", "4 Other HM No 56338 GS-CENTER-JAZAN MAIN RD JAZAN \n", "\n", " manufacturer brand class size sku \\\n", "0 NOVA FOODS LARA COCONUT 0.75 LARA COCONUT 0.75L TWIN PACK \n", "1 PALM & GRAIN GROUP NAJMA CANOLA 0.50 NAJMA CANOLA 0.5L TWIN PACK \n", "2 AL HILAL INDUSTRIES BAYTNA SUNFLOWER 0.75 BAYTNA SUNFLOWER 0.75L ECO \n", "3 PALM & GRAIN GROUP NOUR CORN 0.60 NOUR CORN 0.6L TWIN PACK \n", "4 DESERT SUN CO NOUR VEGETABLE 1.00 NOUR VEGETABLE 1L \n", "\n", " price_bracket year month value_sales volume_sales average_price \n", "0 21-30 2024 12 830.86 30.1 27.6 \n", "1 41-50 2024 10 373.10 9.1 41.0 \n", "2 101+ 2023 1 171.70 1.7 101.0 \n", "3 61-70 2022 2 1226.10 20.1 61.0 \n", "4 81-90 2024 2 996.30 12.3 81.0 " ] }, "execution_count": 190, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 191, "id": "03dcc497", "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", "
citystore_namemanufacturerbrandclasssizeskuprice_bracketyearmonthvalue_salesvolume_salesaverage_price
0AL BAHAHM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHANOVA FOODSLARACOCONUT0.75LARA COCONUT 0.75L TWIN PACK21-30202412830.8630.127.6
1AL KHARJHM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K...PALM & GRAIN GROUPNAJMACANOLA0.50NAJMA CANOLA 0.5L TWIN PACK41-50202410373.109.141.0
2RIYADHHM No 86781 GS-CENTER-RIYADH MAIN RD RIYADHAL HILAL INDUSTRIESBAYTNASUNFLOWER0.75BAYTNA SUNFLOWER 0.75L ECO101-15120231171.701.7101.0
3DAMMAMHM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAMPALM & GRAIN GROUPNOURCORN0.60NOUR CORN 0.6L TWIN PACK61-70202221226.1020.161.0
4OtherHM No 56338 GS-CENTER-JAZAN MAIN RD JAZANDESERT SUN CONOURVEGETABLE1.00NOUR VEGETABLE 1L81-9020242996.3012.381.0
\n", "
" ], "text/plain": [ " city store_name \\\n", "0 AL BAHA HM No 57296 GS-CENTER-AL BAHA MAIN RD AL BAHA \n", "1 AL KHARJ HM No 55697 GS-CENTER-AL KHARJ MAIN RD AL K... \n", "2 RIYADH HM No 86781 GS-CENTER-RIYADH MAIN RD RIYADH \n", "3 DAMMAM HM No 95753 GS-CENTER-DAMMAM MAIN RD DAMMAM \n", "4 Other HM No 56338 GS-CENTER-JAZAN MAIN RD JAZAN \n", "\n", " manufacturer brand class size sku \\\n", "0 NOVA FOODS LARA COCONUT 0.75 LARA COCONUT 0.75L TWIN PACK \n", "1 PALM & GRAIN GROUP NAJMA CANOLA 0.50 NAJMA CANOLA 0.5L TWIN PACK \n", "2 AL HILAL INDUSTRIES BAYTNA SUNFLOWER 0.75 BAYTNA SUNFLOWER 0.75L ECO \n", "3 PALM & GRAIN GROUP NOUR CORN 0.60 NOUR CORN 0.6L TWIN PACK \n", "4 DESERT SUN CO NOUR VEGETABLE 1.00 NOUR VEGETABLE 1L \n", "\n", " price_bracket year month value_sales volume_sales average_price \n", "0 21-30 2024 12 830.86 30.1 27.6 \n", "1 41-50 2024 10 373.10 9.1 41.0 \n", "2 101-151 2023 1 171.70 1.7 101.0 \n", "3 61-70 2022 2 1226.10 20.1 61.0 \n", "4 81-90 2024 2 996.30 12.3 81.0 " ] }, "execution_count": 191, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def price_(limit_num):\n", " limit_num = limit_num.replace(\"$\",\"\")\n", " for i in limit_num:\n", " if i == \"-\":\n", " return limit_num\n", " elif i == \"+\":\n", " num = limit_num.replace(\"+\",\"\")\n", " num_min = int(num)\n", " num_max = num_min+50\n", " return f\"{num_min}-{num_max}\"\n", "\n", "df[\"price_bracket\"] = df[\"price_bracket\"].apply(price_)\n", "df.head()\n" ] }, { "cell_type": "code", "execution_count": 192, "id": "a917a321", "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", "
citymanufacturerbrandclasssizeyearmonthvalue_salesvolume_salesaverage_priceprice_minprice_max
0AL BAHANOVA FOODSLARACOCONUT0.75202412830.8630.127.62130
1AL KHARJPALM & GRAIN GROUPNAJMACANOLA0.50202410373.109.141.04150
2RIYADHAL HILAL INDUSTRIESBAYTNASUNFLOWER0.7520231171.701.7101.0101151
3DAMMAMPALM & GRAIN GROUPNOURCORN0.60202221226.1020.161.06170
4OtherDESERT SUN CONOURVEGETABLE1.0020242996.3012.381.08190
\n", "
" ], "text/plain": [ " city manufacturer brand class size year month \\\n", "0 AL BAHA NOVA FOODS LARA COCONUT 0.75 2024 12 \n", "1 AL KHARJ PALM & GRAIN GROUP NAJMA CANOLA 0.50 2024 10 \n", "2 RIYADH AL HILAL INDUSTRIES BAYTNA SUNFLOWER 0.75 2023 1 \n", "3 DAMMAM PALM & GRAIN GROUP NOUR CORN 0.60 2022 2 \n", "4 Other DESERT SUN CO NOUR VEGETABLE 1.00 2024 2 \n", "\n", " value_sales volume_sales average_price price_min price_max \n", "0 830.86 30.1 27.6 21 30 \n", "1 373.10 9.1 41.0 41 50 \n", "2 171.70 1.7 101.0 101 151 \n", "3 1226.10 20.1 61.0 61 70 \n", "4 996.30 12.3 81.0 81 90 " ] }, "execution_count": 192, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def price_min(price_limit):\n", " min = price_limit.split('-')[0]\n", " return int(min)\n", "def price_max(price_limit):\n", " max = price_limit.split('-')[1]\n", " return int(max)\n", "\n", "df[\"price_min\"] = df[\"price_bracket\"].apply(price_min)\n", "df[\"price_max\"] = df[\"price_bracket\"].apply(price_max)\n", "df.drop([\"store_name\",\"sku\",\"price_bracket\"],axis=1,inplace=True)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 193, "id": "f3cb5341", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['NOVA FOODS', 'PALM & GRAIN GROUP', 'AL HILAL INDUSTRIES',\n", " 'DESERT SUN CO', 'NAJDI CONSUMER', 'ARABIAN HARVEST CO',\n", " 'BLUE OASIS CO', 'SAHARA EDIBLES'], dtype=object)" ] }, "execution_count": 193, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"manufacturer\"].unique()" ] }, { "cell_type": "code", "execution_count": 194, "id": "417dd994", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['LARA', 'NAJMA', 'BAYTNA', 'NOUR', 'RIMAL', 'HILAL', 'GULF GOLD',\n", " 'SABAYA', 'RAWABI', 'ZAHRA'], dtype=object)" ] }, "execution_count": 194, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"brand\"].unique()" ] }, { "cell_type": "code", "execution_count": 195, "id": "2668696f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['COCONUT', 'CANOLA', 'SUNFLOWER', 'CORN', 'VEGETABLE'],\n", " dtype=object)" ] }, "execution_count": 195, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"class\"].unique()" ] }, { "cell_type": "code", "execution_count": 196, "id": "0a6e6bd8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2000 entries, 0 to 1999\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 city 2000 non-null object \n", " 1 manufacturer 2000 non-null object \n", " 2 brand 2000 non-null object \n", " 3 class 2000 non-null object \n", " 4 size 2000 non-null float64\n", " 5 year 2000 non-null int64 \n", " 6 month 2000 non-null int64 \n", " 7 value_sales 2000 non-null float64\n", " 8 volume_sales 2000 non-null float64\n", " 9 average_price 2000 non-null float64\n", " 10 price_min 2000 non-null int64 \n", " 11 price_max 2000 non-null int64 \n", "dtypes: float64(4), int64(4), object(4)\n", "memory usage: 187.6+ KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 197, "id": "0fc5ab86", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "size 1.339165\n", "year 0.017541\n", "month -0.051363\n", "value_sales 2.784480\n", "volume_sales 1.992426\n", "average_price 0.313002\n", "price_min 0.003073\n", "price_max 0.774463\n", "dtype: float64" ] }, "execution_count": 197, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.select_dtypes(\"number\").skew()" ] }, { "cell_type": "code", "execution_count": 198, "id": "5c81060d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.heatmap(df.select_dtypes(\"number\").corr(),annot=True,fmt=\".2f\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 199, "id": "b43ec45e", "metadata": {}, "outputs": [], "source": [ "num_cols = [\"month\",\"price_min\",\"price_max\"]\n", "one_cols = [\"city\",\"manufacturer\",\"brand\",\"class\"]\n", "ske_cols = [\"size\",\"volume_sales\"]" ] }, { "cell_type": "code", "execution_count": 200, "id": "f255e81a", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X = df.drop([\"value_sales\",'average_price'],axis=1)\n", "y = df[\"value_sales\"]\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)" ] }, { "cell_type": "code", "execution_count": 201, "id": "0749aa10", "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import StandardScaler,FunctionTransformer,OneHotEncoder\n", "from sklearn.pipeline import Pipeline\n", "\n", "num_pipe = Pipeline(steps=[\n", " (\"scaler\",StandardScaler())\n", "])\n", "one_pipe = Pipeline(steps=[\n", " (\"encoder\",OneHotEncoder(handle_unknown=\"ignore\"))\n", "])\n", "ske_pipe = Pipeline(steps=[\n", " (\"ske\",FunctionTransformer(np.log1p)),\n", " (\"scaler\",StandardScaler())\n", "])" ] }, { "cell_type": "code", "execution_count": 202, "id": "3c746dc6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
ColumnTransformer(transformers=[('one_pip_col',\n",
       "                                 Pipeline(steps=[('encoder',\n",
       "                                                  OneHotEncoder(handle_unknown='ignore'))]),\n",
       "                                 ['city', 'manufacturer', 'brand', 'class']),\n",
       "                                ('num_pip_col',\n",
       "                                 Pipeline(steps=[('scaler', StandardScaler())]),\n",
       "                                 ['month', 'price_min', 'price_max']),\n",
       "                                ('ske_pip_col',\n",
       "                                 Pipeline(steps=[('ske',\n",
       "                                                  FunctionTransformer(func=<ufunc 'log1p'>)),\n",
       "                                                 ('scaler', StandardScaler())]),\n",
       "                                 ['size', 'volume_sales'])])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "ColumnTransformer(transformers=[('one_pip_col',\n", " Pipeline(steps=[('encoder',\n", " OneHotEncoder(handle_unknown='ignore'))]),\n", " ['city', 'manufacturer', 'brand', 'class']),\n", " ('num_pip_col',\n", " Pipeline(steps=[('scaler', StandardScaler())]),\n", " ['month', 'price_min', 'price_max']),\n", " ('ske_pip_col',\n", " Pipeline(steps=[('ske',\n", " FunctionTransformer(func=)),\n", " ('scaler', StandardScaler())]),\n", " ['size', 'volume_sales'])])" ] }, "execution_count": 202, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.compose import ColumnTransformer\n", "\n", "preprocess = ColumnTransformer(transformers=[\n", " (\"one_pip_col\",one_pipe,one_cols),\n", " (\"num_pip_col\",num_pipe,num_cols),\n", " (\"ske_pip_col\",ske_pipe,ske_cols)\n", "])\n", "preprocess" ] }, { "cell_type": "code", "execution_count": 203, "id": "889fc3b2", "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import r2_score\n", "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor, ExtraTreesRegressor ,AdaBoostRegressor\n", "from sklearn.tree import DecisionTreeRegressor\n", "from sklearn.neighbors import KNeighborsRegressor\n", "from xgboost import XGBRegressor" ] }, { "cell_type": "code", "execution_count": 204, "id": "5d88387d", "metadata": {}, "outputs": [], "source": [ "results = []\n", "models = {\n", " 'Decision Tree': DecisionTreeRegressor(random_state=42),\n", " 'Random Forest': RandomForestRegressor(random_state=42, n_jobs=-1),\n", " 'Extra Trees': ExtraTreesRegressor(random_state=42, n_jobs=-1),\n", " 'Gradient Boosting': GradientBoostingRegressor(random_state=42),\n", " 'K-Neighbors': KNeighborsRegressor(),\n", " \"XGBoost\": XGBRegressor(random_state=42),\n", " \"AdaBoost\": AdaBoostRegressor(random_state=42),\n", "}" ] }, { "cell_type": "code", "execution_count": 205, "id": "26b02daf", "metadata": {}, "outputs": [], "source": [ "X_train = preprocess.fit_transform(X_train)\n", "X_test = preprocess.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 206, "id": "c91553b3", "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", "
Nameaccuracy_score
0Decision Tree0.964259
1Random Forest0.987792
2Extra Trees0.987004
3Gradient Boosting0.988802
4K-Neighbors0.758445
5XGBoost0.988465
6AdaBoost0.918885
\n", "
" ], "text/plain": [ " Name accuracy_score\n", "0 Decision Tree 0.964259\n", "1 Random Forest 0.987792\n", "2 Extra Trees 0.987004\n", "3 Gradient Boosting 0.988802\n", "4 K-Neighbors 0.758445\n", "5 XGBoost 0.988465\n", "6 AdaBoost 0.918885" ] }, "execution_count": 206, "metadata": {}, "output_type": "execute_result" } ], "source": [ "for name,model in models.items():\n", " model.fit(X_train,y_train)\n", " y_pred = model.predict(X_test)\n", " acc = r2_score(y_test,y_pred)\n", " results.append({\n", " \"Name\":name,\n", " \"accuracy_score\":acc,\n", " })\n", "\n", "results_df = pd.DataFrame(results)\n", "results_df" ] }, { "cell_type": "code", "execution_count": 207, "id": "bec4c885", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9888022339486906" ] }, "execution_count": 207, "metadata": {}, "output_type": "execute_result" } ], "source": [ "final_model = models[\"Gradient Boosting\"]\n", "y_pred = final_model.predict(X_test)\n", "r2_score(y_test,y_pred)" ] }, { "cell_type": "code", "execution_count": 208, "id": "c9db8de1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['columns.pkl']" ] }, "execution_count": 208, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from joblib import dump\n", "\n", "dump(final_model,\"model.pkl\")\n", "dump(preprocess,\"preprocess.pkl\")\n", "dump(X.columns.tolist(),\"columns.pkl\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.10" } }, "nbformat": 4, "nbformat_minor": 5 }