Скрипт был написан в рамках реальной задачи для АШАН. Цель проекта: Поиск наиболее похожего магазина по метрикам для выделения сопостовимой КГ. Применяется в случае, когда КГ не выделялась до проведения акции.
Задачи:
- Выбрать метрики для сравнения;
- Выгрузить датасет с помощью SQL;
- Написать функцию на Python, которая будет выводить самый ближайший магазин;
Результаты:
- Создан рабочий скрипт;
- Финальные данные используются при анализе маркетинговых акций. Точность сбора КГ увеличена.
Полный скрипт расположен в файле "find_nearest.ipynb".
Стэк:
- Python
- SQL
import pandas as pd
import numpy as np
from scipy.spatial.distance import cdist
from scipy.spatial import distance
import psycopg2
Скрыты все доступы для подключения к базам.
Первым шагом создается словарь с ключами (номера магазинов) и значениями (формат магазина и регион). После применяется функция, которая принимает на вход номер магазина. На основе ключей данного магазина производится отбор формата и региона для последующего поиска. С помощью библиотеки scipy каждому магазину присвоена своя точка в многомерном пространстве на основании его метрик за последние 6 месяцев. На основе расположения этих векторов можно найти самый близкий/ похожий вектор, который будет наиболее приближен по метрикам к требуемому.
Выводится самый похожий магазин в том же регионе и с таким же форматом. Печатается список всех остальных номеров магазинов и их растояние в порядке возрастания.