Рыночная цена ТС по объявлениям (VIN, марка, модель, год)

A.AM.0239.PRC.ACT-ADS

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

Запрос осуществляется:

  1. По идентификатору ТС (VIN, ГРЗ, номер кузова или номер шасси).
  2. По марке, модели и году выпуска.

Дополнительно возможно указать пробег ТС на вход блока и получить более точное значение цены.

Если запрос содержит и идентификатор ТС, и марку, модель и год выпуска, то расчёт стоимости производится по идентификатору ТС. Если данных, полученных по идентификатору, недостаточно, для расчёта будут использоваться марка, модель и год выпуска ТС.

Источники данных — Дром.ру, Авито.ру, Авто.ру, Юла, Автокод Объявления.

Идентификаторы объекта: идентификатор ТС (VIN, ГРЗ, номер кузова или номер шасси) или название марки и модели и год выпуска ТС. Дополнительно могут быть указаны пробег ТС и дата, на которую запрашивается стоимость ТС (по умолчанию используется дата запроса).

Иcпользуемые источники: ads.price, references.base, base.

Время генерации отчёта:

  • 50-й перцентиль — 2 с;
  • 95-й перцентиль — 4 с.

Алгоритм расчёта цены ТС

  1. На вход алгоритму поступает первичная выборка объявлений о продаже ТС согласно фильтрам, заданным в запросе к сервису.
  2. Рабочая выборка извлекается из первичной выборки в два этапа:

    • грубая фильтрация объявлений: фильтр по цене (удаляются объявления с ценой вне диапазона 15 тыс. руб. — 100 млн руб.) → фильтр по пробегу (удаляются объявления с пробегом вне диапазона 0 км — 500 тыс. км) → фильтр по медиане (удаляются объявления с ценой, отличающейся от медианной цены выборки на этом шаге более, чем в 5 раз);
    • тонкая фильтрация объявлений: по максимальным и минимальным перцентилям цены и пробега.

    Объём рабочей выборки должен соответствовать заданному в параметрах алгоритма минимальному значению.

  3. На основе рабочей выборки строится линейная регрессионная модель зависимости цены транспортного средства от пробега (вычисляются коэффициенты b0 и b1 в уравнении прямой зависимости цены от пробега price = b0 + b1 * mileage, причём угловой коэффициент прямой b1 должен быть отрицательным).
  4. Если в запросе к сервису не задан целевой пробег (для которого нужно найти минимальное, оптимальное и максимальное значения цены), то целевой пробег находится как медиана пробегов из рабочей выборки.
  5. По полученному уравнению прямой находится оптимальная цена для целевого пробега, а также прогнозное значение цены и относительное отклонение реальной цены от прогнозной для каждого объявления из рабочей выборки.
  6. Находится заданный в параметрах алгоритма перцентиль (по умолчанию — 90) относительного отклонения реальной цены от прогнозной; если он меньше 0,01, то используется заданное в параметрах алгоритма значение (по умолчанию — 0,15).
  7. На основе найденного перцентиля относительного отклонения цены вычисляются максимальная и минимальная цены относительно оптимальной цены как optimal_price * (1 ± relative_price_variance_percentile).
  8. Полученные минимальное, оптимальное и максимальное значения цены ограничиваются снизу и сверху заданным в переменных алгоритма минимальным значением (по умолчанию — 15 тыс.) и максимальным значением (по умолчанию — 100 млн).
  9. На выходе алгоритм предоставляет до 20 объявлений, на основе которых рассчитывалась стоимость, минимальную, оптимальную и максимальную цены и целевой пробег, а также кусочно-линейную функцию, состоящую из нескольких уравнений прямой.

Параметры запроса

При отправке запроса на генерацию отчёта в теле запроса указываются следующие параметры:

Параметр Тип Обязательность Описание
queryType string Обязательный Тип запроса.
Фиксированное значение: MULTIPART
query string Обязательный Значение простого запроса.
Фиксированное значение:  
data object Обязательный Идентификаторы объекта поиска
Параметры объекта data
identifier_type string Обязательный,
если не указаны марка, модель и год выпуска ТС
Тип идентификатора.
Возможные значения: VIN, GRZ, BODY или CHASSIS
identifier_value string Обязательный,
если не указаны марка, модель и год выпуска ТС
Значение идентификатора ТС
raw_mark_model string Обязательный,
если не указан идентификатор ТС
Название марки и модели ТС
year integer Обязательный,
если не указан идентификатор ТС
Год выпуска
mileage integer Необязательный Пробег ТС
date_calculation string Необязательный Дата, на которую рассчитывается стоимость

В запросе достаточно передавать только один из наборов данных ТС:

  • identifier_type и identifier_value,
  • raw_mark_model и year.

Если запрос содержит оба набора, то для поиска будет использоваться один из них, выбираемый в указанном порядке.

Пример тела запроса по VIN

{
  "queryType": "MULTIPART",
  "query": " ",
  "data": {
    "identifier_type": "VIN",
    "identifier_value": "EXAMPL0V1N1000000",
    "mileage": 123444,
    "date_calculation": "06.03.2023"
  }
}

Пример тела запроса по марке, модели и году выпуска

{
  "queryType": "MULTIPART",
  "query": " ",
  "data": {
    "raw_mark_model": "ВАЗ 2108",
    "year": 1998,
    "mileage": 123444,
    "date_calculation": "06.03.2023"
  }
}

Структура отчёта

Данные отчёта находятся в объекте data[].content тела ответа.

Поле Тип Описание
tech_data.brand.id string Уникальный идентификатор марки
tech_data.brand.logotype.uri string URI изображения логотипа марки
tech_data.brand.name.normalized string Нормализованное значение марки.
Спецификация значений марок
tech_data.model.id string Уникальный идентификатор модели
tech_data.model.name.normalized string Нормализованное значение модели.
Спецификация значений моделей
market_prices.ads.items[].amount.max integer Максимальное значение стоимости ТС, рассчитанное на основе объявлений о продаже ТС
market_prices.ads.items[].amount.min integer Минимальное значение стоимости ТС, рассчитанное на основе объявлений о продаже ТС
market_prices.ads.items[].amount.optimal integer Оптимальное значение стоимости ТС, рассчитанное на основе объявлений о продаже ТС
market_prices.ads.items[].currency.type string Тип валюты в расчёте стоимости ТС.
Возможные значения: RUB, EUR, USD
market_prices.ads.items[].mileage integer Пробег ТС, для которого сделан расчёт цены
market_prices.ads.items[].related_ads[].date.publish string Дата публикации объявления
market_prices.ads.items[].related_ads[].geo object Расчётные данные. Геоданные места продажи ТС
market_prices.ads.items[].related_ads[].uri string Расчётные данные. Ссылка на объявление
market_prices.ads.items[].related_ads[].price.amount string Расчётные данные. Цена ТС в объявлении
market_prices.ads.items[].related_ads[].price.currency string Расчётные данные. Тип валюты цены ТС.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.brand.name string Расчётные данные. Наименование марки (бренда) ТС
market_prices.ads.items[].related_ads[].vehicle.model.name string Расчётные данные. Модель ТС
market_prices.ads.items[].related_ads[].vehicle.year integer Расчётные данные. Год выпуска ТС
market_prices.ads.items[].related_ads[].vehicle.condition string Расчётные данные. Состояние ТС
market_prices.ads.items[].related_ads[].vehicle.wheel.position string Расчётные данные. Расположение руля.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.wheel.position_id string Расчётные данные. ID расположения руля.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.transmission.type string Расчётные данные. Тип трансмиссии.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.transmission.type_id string Расчётные данные. ID типа трансмиссии.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.drive.type string Расчётные данные. Тип привода.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.drive.type_id string Расчётные данные. ID типа привода.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.owners.count integer Расчётные данные. Количество владельцев ТС
market_prices.ads.items[].related_ads[].vehicle.engine.power.hp number Расчётные данные. Мощность двигателя, л. с.
market_prices.ads.items[].related_ads[].vehicle.engine.volume number Расчётные данные. Объём двигателя, см³
market_prices.ads.items[].related_ads[].vehicle.engine.fuel.type string Расчётные данные. Тип топлива.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.engine.fuel.type_id string Расчётные данные. ID типа топлива.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.body.type string Расчётные данные. Тип кузова ТС
market_prices.ads.items[].related_ads[].vehicle.body.type_id string Расчётные данные. ID типа кузова ТС.
Справочник значений
market_prices.ads.items[].related_ads[].vehicle.mileage integer Расчётные данные. Пробег ТС
market_prices.ads.items[].metadata.functions[].name string Наименование функции
market_prices.ads.items[].metadata.functions[].description string Описание функции
market_prices.ads.items[].metadata.functions[].parts[].type string Тип математической функции
market_prices.ads.items[].metadata.functions[].parts[].description string Описание математической функции
market_prices.ads.items[].metadata.functions[].parts[].coefficients array Значения переменных функции
market_prices.ads.items[].metadata.functions[].parts[].bounds.left number Левая граница диапазона функции
market_prices.ads.items[].metadata.functions[].parts[].bounds.right number Правая граница диапазона функции
market_prices.ads.date.update string Дата обновления данных

Геоданные места продажи ТС

Поле Тип Описание
country string Страна
region string Регион (область)
city string Город
street string Улица
house string Дом

Справочник Тип валюты

Значение Описание
RUB Российский рубль
EUR Евро
USD Доллар США

Справочник Расположение руля

ID расположения руля Расположение руля
ID_STEERING_WHEEL_TYPE_LEFT LEFT
ID_STEERING_WHEEL_TYPE_RIGHT RIGHT
ID_STEERING_WHEEL_TYPE_OTHER UNKNOWN

Справочник Тип трансмиссии

ID типа трансмиссии Тип трансмиссии
ID_TRANSMISSION_TYPE_AUTOMATIC AUTOMATIC
ID_TRANSMISSION_TYPE_MANUAL MANUAL
ID_TRANSMISSION_TYPE_ROBOT ROBOT
ID_TRANSMISSION_TYPE_VARIABLE VARIABLE
ID_TRANSMISSION_TYPE_OTHER UNKNOWN

Справочник Тип привода

ID типа привода Тип привода
ID_DRIVING_WHEELS_TYPE_FRONT Передний
ID_DRIVING_WHEELS_TYPE_FRONT Переднеприводной
ID_DRIVING_WHEELS_TYPE_REAR Задний
ID_DRIVING_WHEELS_TYPE_REAR Заднеприводной
ID_DRIVING_WHEELS_TYPE_ALL Полный
ID_DRIVING_WHEELS_TYPE_ALL Полноприводной
ID_DRIVING_WHEELS_TYPE_OTHER Иные

Справочник Тип топлива

ID типа топлива Тип топлива
ID_ENGINE_TYPE_PETROL Бензиновый
ID_ENGINE_TYPE_DIESEL Дизельный
ID_ENGINE_TYPE_GAS Газовый
ID_ENGINE_TYPE_ELECTRIC Гибридный
ID_ENGINE_TYPE_HYBRID Электрический
ID_ENGINE_TYPE_OTHER Прочее

Справочник Тип кузова ТС

ID типа кузова Описание
SEDAN Седан
HATCHBACK Хэтчбек
LIFTBACK Лифтбек
SUV Внедорожник
WAGON Универсал
COUPE Купе
MINIVAN Минивэн
LIMOUSINE Лимузин
PICKUP Пикап
VAN Фургон
CONVERTIBLE Кабриолет
MINIBUS Микроавтобус
OTHER Прочее

Пример данных отчёта

{
  "data": [
    {
      "report_type_uid": "A.AM.0239.PRC.ACT-ADS_test_report@test_domain",
      "progress_ok": 3,
      "progress_wait": 0,
      "progress_error": 0,
      "state": {
        "sources": [
          {
            "_id": "ads.price",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "references.base",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "base",
            "state": "OK",
            "extended_state": "OK"
          }
        ]
      },
      "content": {
        "tech_data": {
          "brand": {
            "id": "ID_MARK_TOYOTA",
            "logotype": {
              "uri": "https://vl.imgix.net/img/toyota-logo.png"
            },
            "name": {
              "normalized": "Toyota"
            }
          },
          "model": {
            "id": "ID_MARK_TOYOTA_MODEL_LAND_CRUISER_PRADO",
            "name": {
              "normalized": "Land Cruiser Prado"
            }
          }
        },
        "market_prices": {
          "ads": {
            "items": [
              {
                "amount": {
                  "max": 630000,
                  "min": 430000,
                  "optimal": 530000
                },
                "currency": {
                  "type": "RUB"
                },
                "mileage": 50000,
                "related_ads": [
                  {
                    "date": {
                      "publish": "2019-01-14 11:57:00"
                    },
                    "geo": {
                      "country": "Россия",
                      "region": "Московская область",
                      "city": "Москва",
                      "street": "Ленина"
                    },
                    "uri": "http://example.com",
                    "price": {
                      "amount": 450000,
                      "currency": "RUB"
                    },
                    "vehicle": {
                      "brand": {
                        "name": "Toyota"
                      },
                      "model": {
                        "name": "Land Cruiser Prado"
                      },
                      "year": 2018,
                      "condition": "Не битый",
                      "wheel": {
                        "position": "LEFT",
                        "position_id": "ID_STEERING_WHEEL_TYPE_LEFT"
                      },
                      "transmission": {
                        "type": "MANUAL",
                        "type_id": "ID_TRANSMISSION_TYPE_MANUAL"
                      },
                      "drive": {
                        "type": "Передний",
                        "type_id": "ID_DRIVING_WHEELS_TYPE_FRONT"
                      },
                      "owners": {
                        "count": 2
                      },
                      "engine": {
                        "power": {
                          "hp": 176.3
                        },
                        "volume": 2793.2,
                        "fuel": {
                          "type": "Бензиновый",
                          "type_id": "ID_ENGINE_TYPE_PETROL"
                        }
                      },
                      "body": {
                        "type": "Седан",
                        "type_id": "ID_BODY_TYPE_SEDAN"
                      },
                      "mileage": 79000
                    }
                  }
                ],
                "metadata": {
                  "functions": [
                    {
                      "name": "price_mileage",
                      "description": "y = price, x = mileage",
                      "parts": [
                        {
                          "type": "STRAIGHT_LINE",
                          "description": "y = coefficients[0] + x * coefficients[1]",
                          "coefficients": [
                            1667183,
                            -4.515303312754018
                          ],
                          "bounds": {
                            "left": 0,
                            "right": 365907.42316982563
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            ],
            "date": {
              "update": "2019-07-06 22:10:00"
            }
          }
        }
      }
    }
  ]
}