Целью этого проекта по науке о данных является использование методов сегментации рынка для решения задачи предоставления целевых финансовых рекомендаций, включая планы сбережений, кредиты, управление активами и многое другое, для различных групп клиентов на страховом рынке.
Сегментация рынка включает в себя разделение широкого потребительского или делового рынка на отдельные подгруппы на основе общих характеристик. В этом контексте предоставленный набор данных содержит информацию о существующих и потенциальных клиентах. Анализируя и понимая общие характеристики этих клиентов, проект направлен на выявление соответствующих сегментов рынка.
Ключевые цели заключаются в следующем:
- Сегментация клиентов. Разработайте надежную модель сегментации клиентов, которая делит рынок на значимые группы на основе определенных характеристик, поведения или демографических данных.
- Целевые рекомендации. После завершения сегментации адаптируйте финансовые рекомендации, такие как сберегательные планы, кредиты и услуги по управлению активами, к уникальным потребностям и предпочтениям каждого сегмента клиентов.
- Персонализация. Повысьте качество обслуживания клиентов за счет предоставления персонализированных финансовых продуктов и услуг, соответствующих интересам и требованиям каждого сегмента.
- Рост бизнеса. Стимулируйте рост бизнеса и удовлетворенность клиентов, эффективно удовлетворяя разнообразные потребности различных сегментов клиентов, тем самым максимизируя потенциал конверсии и удержания.
Импорт
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA from sklearn.cluster import KMeans,AgglomerativeClustering,DBSCAN,SpectralClustering from sklearn.mixture import GaussianMixture from sklearn.metrics import silhouette_samples, silhouette_score from sklearn.model_selection import train_test_split, cross_val_score from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import classification_report
Исследование данных
Описание кадра данных:
CUST_ID: уникальный идентификатор для каждого клиента.
БАЛАНС: сумма непогашенного остатка на счете кредитной карты клиента.
BALANCE_FREQUENCY: частота обновления баланса, измеряемая как отношение.
ПОКУПКИ: общая сумма покупок, сделанных клиентом.
ONE_OFF_PURCHASES: общая сумма разовых покупок, совершенных клиентом.
INSTALLMENT_PURCHASES: общая сумма покупок, сделанных клиентом в рассрочку.
CASH_ADVANCE: общая сумма авансов наличными, полученных клиентом.
PURCHASES_FREQUENCY: частота покупок, совершаемых клиентом.
ONE_OFF_PURCHASES_FREQUENCY: частота разовых покупок, совершаемых клиентом.
PURCHASES_INSTALLMENTS_FREQUENCY: частота покупок, совершаемых клиентом в рассрочку.
CASH_ADVANCE_FREQUENCY: частота получения клиентом аванса наличными.
CASH_ADVANCE_TRX: количество транзакций по выдаче наличных, сделанных клиентом.
PURCHASES_TRX: количество транзакций по покупкам, совершенным клиентом.
CREDIT_LIMIT: кредитный лимит, назначенный учетной записи кредитной карты клиента.
ПЛАТЕЖИ: общая сумма платежей, совершенных клиентом.
MINIMUM_PAYMENTS: минимальная сумма, подлежащая оплате клиентом.
PRC_FULL_PAYMENT: процент от полной суммы счета по кредитной карте, оплаченный клиентом.
ДОЛЖНОСТЬ. Срок действия счета кредитной карты клиента.
Соответствующее наблюдение:
- Набор данных содержит 8950 строк (наблюдения) и 18 столбцов (переменные).
- «ДОЛЖНОСТЬ» указывает продолжительность владения счетом кредитной карты клиента и составляет от 6 до 12 месяцев.
- Прежде чем проводить какой-либо анализ, важно правильно обработать отсутствующие значения в столбцах «CREDIT_LIMIT» и «MINIMUM_PAYMENTS».
df["MINIMUM_PAYMENTS"] = df["MINIMUM_PAYMENTS"].fillna(df["MINIMUM_PAYMENTS"].median()) df["CREDIT_LIMIT"] = df["CREDIT_LIMIT"].fillna(df["CREDIT_LIMIT"].mean())
Исследовательский анализ данных (EDA)
- Большинство значений баланса сосредоточено в диапазоне примерно от 0 до 2000.
- Есть много выбросов с остатками выше 5000, вплоть до примерно 13000. Это указывает на то, что у некоторых клиентов баланс значительно выше, чем у большинства.
- Пик на гистограмме платежей говорит о том, что многие клиенты совершают платежи в диапазоне от 1000 до 2000.
- По мере увеличения кредитного лимита выше 2000 частота клиентов постепенно снижается, что указывает на то, что меньше клиентов имеют более высокие кредитные лимиты.
Подготовка данных
df.drop(columns=["CUST_ID"],axis=1,inplace=True)
Машинное обучение
Масштабирование:
scalar=StandardScaler() scaled_df = scalar.fit_transform(df)
Уменьшение размерности:
PCA преобразует исходные признаки в новый набор некоррелированных переменных, называемых главными компонентами. Первая главная компонента (PCA1) объясняет наибольшую дисперсию данных, за ней следует вторая главная компонента (PCA2) и так далее.
pca = PCA(n_components=2) principal_components = pca.fit_transform(scaled_df) pca_df = pd.DataFrame(data=principal_components ,columns=["PCA1","PCA2"]) pca_df
Нахождение значения «k» методом локтя:
К означает:
Новый столбец под названием «Кластер»:
cluster_df = pd.concat([df,pd.DataFrame({'Cluster':kmeans_model.labels_})],axis=1) cluster_df
Обучение и тестирование с использованием Random Forest:
Интерпретация ошибок и перевод
Показатели перекрестной проверки. Модель достигла высокой точности в различных сгибах перекрестной проверки с оценками в диапазоне от примерно 95% до 96%.
Отчет о классификации:
В целом, модель хорошо работает в разных классах, с высокой точностью и полнотой.
- Классы 0, 1, 2 и 3 имеют хорошие оценки F1, что указывает на сбалансированный компромисс между точностью и отзывом.
- Класс 4 имеет относительно более низкий показатель F1, что указывает на некоторые проблемы с правильной идентификацией экземпляров этого класса из-за ограниченной поддержки (всего 17 точек данных).
В целом, модель демонстрирует многообещающую производительность, но возможны улучшения в работе с менее представленным классом (класс 4).
Бизнес-аналитика
Интерпретация сегментов:
Кластер 0: «Консервативные транжиры»
- Средний баланс: средний (около 646)
- Покупательское поведение: делайте частые небольшие покупки.
- Денежные авансы: редко занимаюсь выдачей наличных
- Кредитный лимит: относительно низкий (около 3199)
- Платежная система: регулярные платежи с редкими минимальными платежами.
Кластер 1: «Пользователи выдачи наличных»
- Средний баланс: немного выше (около 1051)
- Покупательское поведение: совершайте нечастые и небольшие покупки.
- Денежные авансы: более высокая частота и сумма выдачи наличных (около 619)
- Кредитный лимит: умеренный (около 3343)
Кластер 2: «Умеренные транжиры»
- Средний баланс: значительно выше (около 4617)
- Поведение при покупке: делайте умеренные покупки как с разовыми, так и с рассрочными платежами.
- Денежные авансы: демонстрируйте более высокую частоту выдачи наличных
- Кредитный лимит: относительно высокий (около 7548)
Кластер 3: «Активные пользователи кредита»
- Средний баланс: относительно выше (около 1895 г.)
- Покупательское поведение: демонстрируют высокую частоту покупок (около 44 транзакций).
- Использование кредита: значительные разовые суммы покупок
- Кредитный лимит: Высокий (около 6976)
- Платежное поведение: более высокий процент полных платежей (около 27%).
Кластер 4: «Элита с высокими расходами»
- Средний баланс: самый высокий (около 4541)
- Покупательское поведение: совершайте частые и существенные покупки, особенно в виде разовых транзакций.
- Кредитный лимит: самый высокий (около 12493)
- Платежное поведение: более высокий процент полных платежей (около 39%).
Маркетинговые стратегии:
- Индивидуальные финансовые продукты: для «консервативных транжиров» (кластер 0) компания может разработать специальные планы сбережений и варианты инвестиций, соответствующие их осторожному поведению в отношении расходов. Предложение финансовых продуктов с низким уровнем риска может привлечь и удержать этих клиентов.
- Управление выдачей наличных: «Пользователи выдачи наличных» (кластер 1) более склонны использовать выдачу наличных. Компания может реализовать образовательные инициативы для поощрения ответственного использования кредита и предоставления альтернативных вариантов краткосрочного кредита на выгодных условиях, чтобы снизить зависимость от аванса наличными.
- Премиум-услуги для «умеренно транжирящих»: учитывая более высокий средний баланс и кредитный лимит «умеренно транжирящих» (кластер 2), компания может ввести премиальные услуги, такие как персонализированное управление капиталом и эксклюзивные программы вознаграждений. Эти предложения учитывают их более высокую покупательную способность и повышают лояльность клиентов.
- Инструменты кредитного управления для «Активных пользователей кредита»: «Активные пользователи кредита» (Кластер 3) демонстрируют значительное использование кредита. Компания может предоставить инструменты кредитного управления, такие как мониторинг кредитного рейтинга в режиме реального времени и помощь в составлении бюджета, чтобы помочь им принимать обоснованные финансовые решения и поддерживать положительный кредитный профиль.
- VIP-отношение к «элите с высокими расходами»: «Элита с высокими расходами» (кластер 4) представляет клиентов с высокой ценностью. Компания может предложить эксклюзивные преимущества, персонализированные услуги консьержа и приоритетный доступ к финансовым продуктам премиум-класса, стремясь укрепить отношения и вдохновить клиентов на защиту интересов.
Весь код и детали реализации этого проекта можно найти в Jupyter Notebook, доступном в следующем репозитории GitHub: ссылка на репозиторий GitHub.