Вы уже слышали о динамическом ценообразовании и о том, как компании используют его для изменения цены в различных ситуациях, чтобы поддерживать продажи среди клиентов.

Формально, что такое динамическое ценообразование?

Динамическое ценообразование – это стратегия ценообразования, которая включает корректировку цены продукта или услуги в режиме реального времени на основе различных факторов, таких как рыночный спрос, конкуренция и поведение клиентов. Целью динамического ценообразования является максимизация прибыли путем нахождения оптимальной цены, которую клиенты готовы платить, а также с учетом затрат, связанных с производством и продажей продукта.

Алгоритмы для использования:

Существует несколько алгоритмов, которые можно использовать для рекомендации цены продукта при динамическом ценообразовании, в зависимости от конкретных потребностей и целей бизнеса. Вот некоторые распространенные алгоритмы, используемые в динамическом ценообразовании:

  1. Алгоритмы на основе правил. Это базовый алгоритм, использующий набор предопределенных правил для установления цен. Например, если спрос на товар высок, цена может быть увеличена, а если спрос низкий, цена может быть снижена.
  2. Прогнозирование временных рядов. Этот алгоритм использует исторические данные для прогнозирования будущего спроса и соответствующей корректировки цен. Этот подход учитывает сезонные закономерности и тенденции для оптимизации ценообразования.
  3. Алгоритмы машинного обучения. Эти алгоритмы используют исторические данные для изучения закономерностей и корректировки цен на основе прогнозных моделей. Этот подход может включать такие методы, как регрессионный анализ, деревья решений и нейронные сети.
  4. Алгоритмы обучения с подкреплением. Это тип алгоритма машинного обучения, который использует метод проб и ошибок для оптимизации ценообразования. Алгоритм принимает решения на основе отзывов о поведении клиентов и корректирует цены, чтобы максимизировать прибыль.
  5. Алгоритмы многорукого бандита. Этот алгоритм используется в ситуациях, когда существует несколько продуктов или вариантов ценообразования. Он использует метод проб и ошибок, чтобы протестировать различные стратегии ценообразования и узнать, какие из них наиболее эффективны для максимизации прибыли.

Каждый алгоритм имеет свои сильные и слабые стороны, и оптимальный подход будет зависеть от конкретных потребностей бизнеса и контекста. При выборе алгоритма динамического ценообразования важно учитывать такие факторы, как сложность среды ценообразования, доступность данных и ресурсы, доступные для реализации и обслуживания алгоритма.

Отрасли промышленности, использующие динамическое ценообразование?

Компании используют динамическое ценообразование различными способами, чтобы максимизировать прибыль и лучше удовлетворять потребности и предпочтения своих клиентов. Вот несколько распространенных вариантов использования:

  1. Электронная коммерция. Интернет-магазины, такие как Amazon и Walmart, используют динамическое ценообразование для корректировки цен в режиме реального времени в зависимости от поведения клиентов и конкуренции. Цены могут быть скорректированы на основе таких факторов, как уровень запасов, популярность продукта и покупательский спрос.
  2. Путешествия и гостиничный бизнес. Авиакомпании и отели используют динамическое ценообразование для корректировки цен в зависимости от спроса и доступности. Цены могут корректироваться в зависимости от таких факторов, как время года, заполняемость и поведение клиентов.
  3. Развлечения и спорт. Билетные компании используют динамическое ценообразование, чтобы корректировать цены в зависимости от спроса и популярности. Цены могут быть скорректированы в зависимости от таких факторов, как популярность мероприятия, время суток и местоположение.
  4. Транспорт. Компании по совместному использованию поездок, такие как Uber и Lyft, используют динамическое ценообразование для корректировки тарифов в зависимости от спроса и доступности. Цены могут быть скорректированы в зависимости от таких факторов, как загруженность дорог, время суток и поведение клиентов.
  5. Потребительские товары. Розничные продавцы, такие как Walmart и Target, используют динамическое ценообразование для корректировки цен в зависимости от уровня запасов, конкуренции и потребительского спроса. Цены можно корректировать в режиме реального времени, чтобы максимизировать прибыль и повысить удовлетворенность клиентов.

К компаниям, которые используют динамическое ценообразование, относятся крупные розничные торговцы, такие как Amazon, Walmart и Target, а также туристические и гостиничные компании, такие как авиакомпании, отели и компании по аренде автомобилей. Развлекательные и спортивные компании по продаже билетов, такие как Ticketmaster и StubHub, также используют динамическое ценообразование.

Внедрение стратегии динамического ценообразования в наборе данных электронной коммерции Бразилии:

Ссылка на набор данных (нажмите здесь)

Ради демонстрации реализации EDA здесь не выполняются. Просто реализация алгоритма машинного обучения для прогнозирования динамической цены данного продукта показана здесь в приведенном ниже сценарии. Кроме того, «brazilian_ecommerce_dataset.csv», показанный в сценарии, представляет собой CSV-файл, представляющий собой окончательный набор данных, сгенерированный путем объединения нескольких CSV-файлов, показанных в наборе данных.

  1. Сначала мы загружаем набор данных электронной коммерции Бразилии, присоединяем CSV-файлы, указанные в наборе данных, и предварительно обрабатываем их, удаляя ненужные столбцы, обрабатывая отсутствующие данные и преобразовывая категориальные переменные в числовые значения.
  2. Затем мы разделяем данные на наборы для обучения и тестирования и обучаем модель машинного обучения (в данном случае регрессор случайного леса) на наборе для обучения.
  3. Мы оцениваем производительность модели, используя среднюю абсолютную ошибку (MAE) на тестовом наборе.
  4. Наконец, мы используем обученную модель для прогнозирования цен на новые данные (в данном случае продукт для здоровья и красоты с двумя фотографиями продукта, весом 500 граммов, размерами 20x30x10 см и покупателем в штате Сан-Паулу). Мы печатаем предсказанную цену для этого продукта.

Импорт библиотек

import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error

Объединение необходимых csv вместе

order_items    = pd.read_csv("/content/olist_order_items_dataset.csv")
orders         = pd.read_csv("/content/olist_orders_dataset.csv")
order_payments = pd.read_csv("/content/olist_order_payments_dataset.csv")
products       = pd.read_csv("/content/olist_products_dataset.csv")
customers      = pd.read_csv("/content/olist_customers_dataset.csv")
sellers        = pd.read_csv("/content/olist_sellers_dataset.csv")
product_category_translation = pd.read_csv("/content/product_category_name_translation.csv")

# Merge the datasets
merged = order_items.merge(orders, on='order_id') \
                    .merge(order_payments, on=['order_id']) \
                    .merge(products, on='product_id') \
                    .merge(customers, on='customer_id') \
                    .merge(sellers, on='seller_id') \
                    .merge(product_category_translation, on='product_category_name')

# Save the consolidated dataset to a CSV file
merged.to_csv('/content/brazilian_ecommerce_dataset.csv', index=False)

Применение машинного обучения

# Load the dataset
df = pd.read_csv("/content/brazilian_ecommerce_dataset.csv")

# Preprocess the data
# Drop irrelevant columns and handle missing data
df = df.drop(['seller_id', 'freight_value'], axis=1)
df = df[df['customer_state'].isin(["SP","RJ","MG"])]
df = df[['product_category_name','product_photos_qty','product_weight_g', 'product_length_cm','product_height_cm','product_width_cm','customer_state','price']]
df = df.dropna()

# Remove outliers
df = df[(df['price'] >= df['price'].quantile(0.05)) & (df['price'] <= df['price'].quantile(0.95))]

# Convert categorical variables to numerical values
df = pd.get_dummies(df, columns=['product_category_name', 'customer_state'])

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(df.drop('price', axis=1), df['price'], test_size=0.2, random_state=42)

# Train a machine learning model
rf = RandomForestRegressor(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)

# Evaluate the model
y_pred = rf.predict(X_test)
mae = mean_absolute_error(y_test, y_pred)
print("Mean absolute error:", mae)

Кроме того, динамическое ценообразование с использованием машинного обучения может быть сложным и непрерывным процессом, который включает в себя мониторинг и обновление модели с течением времени по мере поступления новых данных. Кроме того, можно добавить новые функции или производные функции для повышения производительности модели. И на самом деле, ансамблевое обучение также является хорошим выбором для улучшения производительности модели.

Другие статьи:

Реализация стратегии динамического ценообразования на python — часть 2 (нажмите здесь)

Реализация стратегии динамического ценообразования в python — часть 3 — обучение с подкреплением (нажмите здесь)

Внедрение анализа «затраты-объем-прибыль с использованием Python (нажмите здесь)»