Compare commits

...

3 Commits

Author SHA1 Message Date
Basyrov Rustam
8971d6a55b some changes 2024-11-22 14:25:08 +03:00
Basyrov Rustam
4c7205f9ac load data 2024-11-22 14:10:31 +03:00
Basyrov Rustam
c472f198bd update ignore 2024-11-22 14:02:18 +03:00
2 changed files with 520 additions and 0 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
Aigrind/data
Aigrind/.ipynb_checkpoints

519
Aigrind/Analisys.ipynb Normal file
View File

@@ -0,0 +1,519 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 15,
"id": "c6bb3ab6",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from tqdm import tqdm"
]
},
{
"cell_type": "markdown",
"id": "d7cfc02e",
"metadata": {},
"source": [
"# Данные"
]
},
{
"cell_type": "markdown",
"id": "67c32cdd",
"metadata": {},
"source": [
"## Payments"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "038a62d8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>payment_date</th>\n",
" <th>Payment_types</th>\n",
" <th>real_cost</th>\n",
" <th>account_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2021-01-01 00:00:56</td>\n",
" <td>Payment_system_5</td>\n",
" <td>9.650000</td>\n",
" <td>2907221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2021-01-01 00:01:48</td>\n",
" <td>Payment_system_5</td>\n",
" <td>0.955872</td>\n",
" <td>3228373</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2021-01-01 00:03:42</td>\n",
" <td>Payment_system_5</td>\n",
" <td>3.026930</td>\n",
" <td>318552</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2021-01-01 00:04:27</td>\n",
" <td>Payment_system_2</td>\n",
" <td>99.990000</td>\n",
" <td>3832817</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2021-01-01 00:06:41</td>\n",
" <td>Payment_system_5</td>\n",
" <td>1.432550</td>\n",
" <td>7229767</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" payment_date Payment_types real_cost account_id\n",
"0 2021-01-01 00:00:56 Payment_system_5 9.650000 2907221\n",
"1 2021-01-01 00:01:48 Payment_system_5 0.955872 3228373\n",
"2 2021-01-01 00:03:42 Payment_system_5 3.026930 318552\n",
"3 2021-01-01 00:04:27 Payment_system_2 99.990000 3832817\n",
"4 2021-01-01 00:06:41 Payment_system_5 1.432550 7229767"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"payments = pd.read_csv(\"data/payments.csv\")\n",
"payments.head()"
]
},
{
"cell_type": "markdown",
"id": "68048c5a",
"metadata": {},
"source": [
"## Persents"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "a4b72e40",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Payment_types</th>\n",
" <th>Share, %</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Payment_system_1</td>\n",
" <td>20.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Payment_system_2</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Payment_system_3</td>\n",
" <td>58.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Payment_system_4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Payment_system_5</td>\n",
" <td>24.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Payment_types Share, %\n",
"0 Payment_system_1 20.7\n",
"1 Payment_system_2 15.0\n",
"2 Payment_system_3 58.5\n",
"3 Payment_system_4 0.0\n",
"4 Payment_system_5 24.0"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"persents = pd.read_csv(\"data/persents.csv\", index_col=0)\n",
"persents.head()"
]
},
{
"cell_type": "markdown",
"id": "9a2ba6d3",
"metadata": {},
"source": [
"## Registrations"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "a0f238ba",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['BRA_MS1_install', 'RUS_MS1_install', 'UKR_MS1_install',\n",
" 'BRA_MS1_purchase', 'RUS_MS1_purchase', 'PR_youtube_bloger',\n",
" 'UKR_MS1_purchase', 'ENG_MS2_install', 'BRA_MS2_install', 'our_fb'],\n",
" dtype=object)"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"registrations = pd.read_csv(\"data/registrations.csv\", index_col=0).dropna()\n",
"registrations.head()\n",
"registrations['campaign'].unique()"
]
},
{
"cell_type": "markdown",
"id": "f52e9466",
"metadata": {},
"source": [
"## Budget"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "bf031a83",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>media_source</th>\n",
" <th>Campaign_type</th>\n",
" <th>Target</th>\n",
" <th>Plan, USD</th>\n",
" <th>Installs</th>\n",
" <th>Spend, USD</th>\n",
" <th>Deviation, USD</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Media_source_1</td>\n",
" <td>install</td>\n",
" <td>Brazil</td>\n",
" <td>100</td>\n",
" <td>10460</td>\n",
" <td>99.12</td>\n",
" <td>0.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Media_source_1</td>\n",
" <td>purchase</td>\n",
" <td>Brazil</td>\n",
" <td>400</td>\n",
" <td>1081</td>\n",
" <td>398.67</td>\n",
" <td>1.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Media_source_1</td>\n",
" <td>install</td>\n",
" <td>Russia</td>\n",
" <td>200</td>\n",
" <td>11894</td>\n",
" <td>246.30</td>\n",
" <td>-46.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Media_source_1</td>\n",
" <td>purchase</td>\n",
" <td>Russia</td>\n",
" <td>500</td>\n",
" <td>1441</td>\n",
" <td>616.77</td>\n",
" <td>-116.77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Media_source_1</td>\n",
" <td>install</td>\n",
" <td>Ukrane</td>\n",
" <td>100</td>\n",
" <td>6424</td>\n",
" <td>99.43</td>\n",
" <td>0.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Media_source_1</td>\n",
" <td>purchase</td>\n",
" <td>Ukrane</td>\n",
" <td>500</td>\n",
" <td>242</td>\n",
" <td>348.13</td>\n",
" <td>151.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Media_source_2</td>\n",
" <td>install</td>\n",
" <td>Brazil</td>\n",
" <td>100</td>\n",
" <td>152</td>\n",
" <td>81.15</td>\n",
" <td>18.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Media_source_2</td>\n",
" <td>install</td>\n",
" <td>English_speaking</td>\n",
" <td>100</td>\n",
" <td>371</td>\n",
" <td>99.95</td>\n",
" <td>0.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Total</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2000</td>\n",
" <td>32065</td>\n",
" <td>1989.52</td>\n",
" <td>10.48</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" media_source Campaign_type Target Plan, USD Installs \\\n",
"0 Media_source_1 install Brazil 100 10460 \n",
"1 Media_source_1 purchase Brazil 400 1081 \n",
"2 Media_source_1 install Russia 200 11894 \n",
"3 Media_source_1 purchase Russia 500 1441 \n",
"4 Media_source_1 install Ukrane 100 6424 \n",
"5 Media_source_1 purchase Ukrane 500 242 \n",
"6 Media_source_2 install Brazil 100 152 \n",
"7 Media_source_2 install English_speaking 100 371 \n",
"8 Total NaN NaN 2000 32065 \n",
"\n",
" Spend, USD Deviation, USD \n",
"0 99.12 0.88 \n",
"1 398.67 1.33 \n",
"2 246.30 -46.30 \n",
"3 616.77 -116.77 \n",
"4 99.43 0.57 \n",
"5 348.13 151.87 \n",
"6 81.15 18.85 \n",
"7 99.95 0.05 \n",
"8 1989.52 10.48 "
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"budget = pd.read_excel(\"data/Рекламный бюджет январь 2021.xlsx\")\n",
"budget.loc[0:5, 'media_source'] = 'Media_source_1'\n",
"budget.loc[6:7, 'media_source'] = 'Media_source_2'\n",
"budget"
]
},
{
"cell_type": "markdown",
"id": "561d9fce",
"metadata": {},
"source": [
"# Analisys"
]
},
{
"cell_type": "markdown",
"id": "1e9e2cb6",
"metadata": {},
"source": [
"## Оптимальный срок окупаемости"
]
},
{
"cell_type": "markdown",
"id": "1701b5e5",
"metadata": {},
"source": [
"$$\\Large\n",
"T = \\frac{IC}{FV}\n",
"$$\n",
"\n",
"где:\n",
"\n",
"- $\\large T$ — срок окупаемости\n",
"- $\\large IC$ — инвестиционные расходы\n",
"- $\\large FV$ — прибыль"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "33a0a78b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['BRA_MS1_install']"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"campaigns = list(registrations['campaign'].unique()[:1])\n",
"campaigns"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "35f2e77d",
"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.13.0"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 5
}