Рыночная цена ТС с учётом истории эксплуатации

A.0184.PRC.ACT-ADS

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

Методика расчёта: рыночная цена по объявлениям корректируется с учётом:

  • периодов владения (считается отклонение от нормального количества периодов владения исходя из возраста ТС, нормой для периода считается 4 года);
  • ДТП (уменьшается цена за каждое ДТП);
  • использования в такси (уменьшается цена за факт использования в такси).

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

Идентификаторы объекта: VIN, ГРЗ, номер кузова или номер шасси, номер ПТС или номер СТС.

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

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

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

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

  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 Обязательный Тип идентификатора ТС.
Возможные значения: VIN, GRZ, BODY, CHASSIS, PTS или STS
query string Обязательный Значение идентификатора ТС

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

{
  "queryType": "VIN",
  "query": "EXAMPL0V1N1000000"
}

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

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

Поле Тип Описание
amount.max integer Максимальное значение рыночной стоимости ТС c учётом дополнительных факторов
amount.min integer Минимальное значение рыночной стоимости ТС c учётом дополнительных факторов
amount.optimal integer Оптимальное значение рыночной стоимости ТС c учётом дополнительных факторов
reasons.used_in_taxi boolean Фактор, влияющий на стоимость ТС — использовалось ли ТС в такси
reasons.accidents.count integer Фактор, влияющий на стоимость ТС — количество ДТП
reasons.ownerships.count integer Фактор, влияющий на стоимость ТС — количество периодов владения
date.update string Дата обновления данных в формате YYYY-MM-DD hh:mm:ss

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

{
  "data": [
    {
      "report_type_uid": "A.0184.PRC.ACT-ADS_test_report@test_domain",
      "progress_ok": 7,
      "progress_wait": 0,
      "progress_error": 0,
      "state": {
        "sources": [
          {
            "_id": "vehicle.price",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "base",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "references.base",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "mileages.registry",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "ads.price",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "dtp.registry",
            "state": "OK",
            "extended_state": "OK"
          },
          {
            "_id": "av.taxi",
            "state": "OK",
            "extended_state": "OK"
          }
        ]
      },
      "content": {
        "market_prices": {
          "appraisal": {
            "amount": {
              "min": 581938,
              "max": 862961,
              "optimal": 722450
            },
            "reasons": {
              "used_in_taxi": false,
              "accidents": {
                "count": 3
              },
              "ownerships": {
                "count": 4
              }
            },
            "date": {
              "update": "2021-11-01 00:00:00"
            }
          }
        }
      }
    }
  ]
}