AI-прогнозування попиту на колекції у fashion-індустрії
Fashion — один із найскладніших ринків для прогнозування попиту. Короткий життєвий цикл SKU (6-12 тижнів), висока залежність від трендів та погоди, відсутність історичних даних щодо нових артикулів – все це робить традиційні методи планування неефективними. ML-підходи знижують overstocks і stockouts на 20-35%.
Особливості fashion-прогнозування
Проблема з холодним запуском: Нова колекція — немає історичного продажу. Рішення:
- Attribute-based forecasting: прогноз через характеристики (колір, патерн, категорія, ціновий сегмент)
- Transfer learning: схожий артикул минулого сезону як anchor
- Analogous items: кластеризація новинок до існуючих SKU з історією
Сезонність + Модний тренд:
# Decomposition sales signal
# Sales = Seasonal × Category Trend × Fashion Trend × Price Effect × Random
# Fashion Trend: внешние сигналы (Instagram, Vogue, runway)
Коротке життя SKU: Класичні часові лави вимагають довгої історії. Натомість — крос-секційні моделі на рівні артикулу.
Джерела даних
Внутрішні:
- POS-дані по тижнях: продаж, повернення, знижки
- Інвентарні дані: залишки, out-of-stock дати
- Характеристики продукту: категорія, бренд, колір, матеріал, розміри, ціна
Зовнішні трендові сигнали:
- Google Trends: динаміка пошукових запитів за категоріями
- Instagram/Pinterest: engagement на fashion-контент (через API або scraping)
- Runway аналіз: детекція трендів із показів (CV на фото з ModaOperandi, Vogue Runway)
- Погодні дані: температура безпосередньо впливає на продаж куртки/купальника
Соціальне прослуховування:
trend_features = {
'google_trends_category_4w': trends_api_value,
'instagram_hashtag_growth': hashtag_weekly_growth_rate,
'search_volume_brand': keyword_planner_volume,
'temperature_deviation': weather_vs_seasonal_norm,
'competitor_stockout_signal': scraped_inventory_depletion
}
Моделі прогнозування
LightGBM на основі атрибутів: Для кожної новинки – передбачення peak week sales та sell-through rate на основі атрибутів + trend features. Навчання на історичних колекціях.
Кластер + аналогічний елемент:
from sklearn.cluster import KMeans
# Кластеризация по attribute embedding
def find_analogous_items(new_item_features, historical_items, n_clusters=50):
kmeans = KMeans(n_clusters=n_clusters)
labels = kmeans.fit_predict(historical_items['features'])
new_cluster = kmeans.predict([new_item_features])[0]
analogs = historical_items[labels == new_cluster]
return analogs.sort_values('similarity_score', ascending=False).head(5)
Життєвий цикл SKU — крива продажів: Не всі артикули однакові. Кластеризація life cycle curves:
- Тип A: швидкий старт → плавний спад (bestseller)
- Тип B: повільний старт → пік на 4-му тижні (niche item)
- Тип C: рівний продаж, базові артикули Прогноз форми кривої → розподіл замовлення за часом.
Передсезонне планування проти сезонного коригування
Pre-Season (за 6-9 місяців до старту):
- Початкове замовлення на основі attribute forecast
- Buy quantities за розмірною сіткою (size curve модель)
- Open-to-buy бюджет за категоріями
In-Season коригування (щотижня): Після перших 2-3 тижнів реальних продажів - Bayesian update вихідного прогнозу:
def bayesian_forecast_update(prior_forecast, observed_sales, sell_through_weeks):
"""
Обновление прогноза по первым неделям
Sell-through rate в первые 2 недели = сильный предиктор финального результата
"""
early_st_rate = observed_sales / prior_forecast[:sell_through_weeks].sum()
scaling_factor = early_st_rate ** 0.7 # регрессия к среднему
return prior_forecast * scaling_factor
Reorder та markdown тригери:
- Якщо sell-through > 70% на 4-му тижні → reorder (якщо можливо за виробничим циклом)
- Якщо sell-through < 30% на 6-му тижні → початок уцінювання по markdown calendar
Розподіл розмірів
Size Curve моделювання: Історично: XS:S:M:L:XL = 5:20:35:25:15 для цієї категорії. ML коригує по регіонах, каналах та ціновому сегменті:
size_curve = lgbm.predict_proba(
category=category,
price_tier=price_tier,
channel=['online', 'store'],
region=region
)
# → оптимальное соотношение размеров в заказе
Проблема останнього розміру: Stockout за одним розміром = втрата всього продажу. Оптимізація: невеликий буфер за найменшою доступністю.
Метрики оцінки
| Метрика значення |
|---|
| WAPE (зважений APE) |
| Точність коефіцієнта продажу |
| Зменшення дефіциту |
| Зменшення надлишкових запасів |
| Зменшення глибини уцінки |
Терміни: attribute-based forecast + analogous item matching + in-season update - 6-8 тижнів. Повна система із size curve, social trend signals, markdown optimization - 3-4 місяці.







