AI Automotive Demand Forecasting System

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
AI Automotive Demand Forecasting System
Medium
~2-4 weeks
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823
  • image_logo-aider_0.jpg
    AIDER company logo development
    762
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    848

AI-прогнозирование спроса в автомобильной отрасли

Прогнозирование спроса на автомобили — задача с длинными производственными циклами (6-18 месяцев от заказа до поставки), высокой конфигурационной вариативностью (тысячи комбинаций опций) и сильной макроэкономической чувствительностью. ML-прогнозы снижают ошибки планирования на 20-35% vs. традиционные эконометрические подходы.

Уровни прогнозирования

Иерархия прогнозов:

  • OEM-уровень: годовой объём производства по моделям и рынкам
  • Дилерский уровень: распределение по конфигурациям (trim level, цвет, опции)
  • Послепродажный (Aftermarket): запчасти и аксессуары по VIN-парку

Каждый уровень требует разного горизонта и точности. OEM — стратегический горизонт 12-24 месяца с точностью ±15%. Дилер — тактический 1-3 месяца с точностью ±10%.

Макроэкономические факторы

Ключевые предикторы для автомобильного рынка:

macro_features = {
    # Экономика
    'gdp_growth_rate': wb_api.get('NY.GDP.MKTP.KD.ZG'),
    'consumer_confidence_index': rosstat_cci,
    'unemployment_rate': rosstat_unemployment,
    'inflation_rate': cbr_inflation,
    'key_rate_cbr': cbr_key_rate,

    # Авторынок
    'used_car_price_index': autostat_used_car_index,
    'average_loan_rate_auto': cbr_auto_loan_rate,
    'fuel_price': energy_ministry_fuel_price,

    # Демография
    'driving_age_population_growth': rosstat_demographics,
    'urbanization_rate': rosstat_urban_pct
}

Авторегрессионные модели с экзогенными переменными (SARIMAX):

from statsmodels.tsa.statespace.sarimax import SARIMAX

# Месячные продажи + сезонность (пики декабрь, март - льготные программы)
# + macroeconomic regressors
model = SARIMAX(
    endog=monthly_sales,
    exog=macro_features_monthly,
    order=(2, 1, 1),
    seasonal_order=(1, 1, 1, 12)
)
result = model.fit()
forecast = result.forecast(steps=12, exog=macro_forecast)

Прогнозирование по конфигурациям

Проблема cold start для новых конфигураций: Новый trim уровень или опция — нет истории продаж. Attribute-based подход:

def forecast_new_configuration(config_attributes, historical_configs):
    """
    Аналог в historical_configs: похожие конфигурации по атрибутам
    Transfer learning: коэффициент спроса нового конфига = среднее по аналогам
    """
    similarity_scores = compute_config_similarity(
        config_attributes,
        historical_configs
    )
    analogous = historical_configs.nlargest(5, 'similarity')
    uplift_factor = analogous['demand_vs_base_trim'].mean()
    return base_trim_forecast * uplift_factor

Цветовой микс: Популярность цветов существенно варьируется по регионам и сезонам. Модель цветового микса:

color_mix_features = {
    'market_region': region,
    'model': car_model,
    'body_type': body,
    'season': quarter,
    'competitors_color_availability': competitor_color_share,
    'color_trend_google': google_trends_color
}
color_distribution = color_mix_model.predict_proba([color_mix_features])

Послепродажный прогноз (Aftermarket)

Parts Demand Forecasting:

Спрос на запчасти = функция от парка автомобилей × failure rate × возраст парка:

def aftermarket_demand_forecast(part_number, region, horizon_months):
    # Парк автомобилей по VIN, годам, пробегу
    park_distribution = get_veh_park(region, part_number['applicable_models'])

    # Средний пробег (из телематики или опросов)
    avg_mileage_per_year = regional_avg_mileage[region]

    # Вероятность замены детали за год (из исторических данных)
    annual_replacement_rate = failure_rate_model.predict(
        part_number, age_distribution=park_distribution['age']
    )

    forecast = park_distribution['count'] * annual_replacement_rate / 12 * horizon_months
    return forecast

Сезонность деталей: Шины, аккумуляторы, антифриз — выраженная сезонность. Тормозные детали — линейная функция от пробега.

Дилерский inventory planning

Order Optimization для дилера:

def dealer_order_recommendation(dealer_id, forecast_next_60days, current_inventory,
                                 lead_time_days=45, holding_cost=0.02):
    """
    Оптимизация заказа с учётом:
    - Времени доставки от OEM (30-60 дней)
    - Стоимости хранения незаказанных автомобилей
    - Риска stockout (потеря продажи)
    """
    days_of_supply = current_inventory / (forecast_next_60days / 60)
    reorder_point = lead_time_days * (forecast_next_60days / 60) * 1.2  # safety stock 20%

    if current_inventory < reorder_point:
        order_qty = forecast_next_60days - current_inventory
        return {
            'order_required': True,
            'recommended_qty': order_qty,
            'priority_configs': top_moving_configurations(dealer_id)
        }

Demo Car Rotation: Для тест-драйвов — ML-рекомендации: какой автомобиль держать демо-автомобилем дольше (высокий конвертационный потенциал) и когда переводить в продажу.

Влияние льготных программ

Government Stimulus Programs: Российский авторынок: ГПСС (льготное автокредитование), программы трейд-ин, лизинговые субсидии. Регрессор в модели — флаг активности программы + бюджет.

Прогноз эффекта программ:

def program_demand_uplift(program_type, program_budget, market_segment):
    """
    Исторические данные: при аналогичных программах рост продаж составил X%
    Heterogeneous Treatment Effect: разные сегменты реагируют по-разному
    """
    baseline_forecast = base_model.predict(market_features)
    program_effect = program_effect_model.predict(
        program_type=program_type,
        budget=program_budget,
        segment=market_segment
    )
    return baseline_forecast * (1 + program_effect)

Метрики и мониторинг

Горизонт Метрика Цель
1 месяц MAPE < 8%
3 месяца MAPE < 15%
12 месяцев MAPE < 25%
Конфигурация WMAPE < 20%

Model drift monitoring: Авторынок чувствителен к шокам (COVID, санкции, дефицит чипов). Автоматический пересчёт модели при MAPE > порога за последние 2 месяца.

Сроки: макроэкономические регрессоры + SARIMAX базовая модель + дилерский inventory dashboard — 4-6 недель. Конфигурационные прогнозы + aftermarket forecasting + program uplift + полная иерархическая система — 3-4 месяца.