Оптимизация бизнес-процессов при помощи кривых выживаемости

Давайте представим, что у нас есть сервис по бронированию столиков в ресторане. Бронирование происходит в 2 этапа:

  1. Пользователь оставляет заявку на бронирование столика на сайте.
  2. Наш колл-центр перезванивает пользователю, чтобы подтвердить или отменить бронь.

Мы хотим понять, насколько эффективно работает колл-центр и как быстро обрабатываются заявки.

Хороший способов проанализировать это — кривые выживаемости.



Что такое кривая выживаемости?


В нашем случае, кривая выживаемости — это график, отображающий % необработанных заявок через определенное время.

На графике выше представлен самый простой пример кривой выживаемости. Более хитрые варианты мы рассмотрим в конце статьи.

Как строить кривые выживаемости?


Для построения кривой выживаемости нам понадобятся:
  • количество заявок, пришедших в начале каждого часа;
  • количество обработанных заявок в течение каждого часа.

Эти данные можно представить в следующем виде:



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

Например, из 63 заявок, пришедших с 15:00 до 16:00, в первый час было обработано 17 заявок, и к началу следующего часа в очереди на обработку осталось 46 заявок.

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

Давайте представим данные из последней строки в виде следующей таблицы (вычисления приведены ниже):



Cоответствующие значения из таблицы вычисляются следующим образом:

Коэффициент выбывания [i] = Заявок обработано [i] / Заявок в очереди [i]
Коэффициент выживаемости [i] = 1 — Коэффициент выбывания [i]
Кривая выживаемости [i] = Коэффициент выживаемости [i] * Кривая выживаемости [i-1]
Кривая выбывания [i] = 1 — Кривая выживаемости [i]


Построенная ниже кривая выживаемости начинается со 100 процентов необработанных заявок в нулевом возрасте:



Для анализа удобнее использовать кривую выбывания. Кривая выбывания — это доля обработанных заявок в соответствующем возрасте. Не путайте кривую выбывания с кривой выживаемости. В первом случае мы смотрим на долю обработанных заявок, во втором — необработанных.

Ниже построена соответсвующая кривая выбывания:


Как анализировать?


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

Начнем с последнего графика из прошлого пункта. По нему можно понять, как быстро обрабатывает заявки наш колл-центр. Видно, что в среднем 80% заявок обрабатывается в течение 7 часов.

Если построить такие кривые выживаемости не для всего колл-центра, а для каждого сотрудника в отдельности, то можно будет понять кто работает эффективнее. На основании этих данных можно премировать лучших сотрудников и увольнять/обучать менее эффективных.

Давайте рассмотрим другой пример:



Из графика видно, что заявки на бронирование не обрабатываются в течение первых двух часов. Причины задержки могут быть разными:
  • У нас может не хватать людей в колл-центре, и сначала обрабатываются старые заявки.
  • Рестораны могут подтверждать бронь с задержкой, а наш колл-центр обрабатывает заявку только после подтверждения от ресторана.
  • Заявки из базы данных сайта могут выгружаться на обзвон раз в 2 часа.
  • Возможно, задержка связана со спецификой нашего сервиса.

Давайте посмотрим на такой график:



Видно, что после 2-х часов заявки практически не обрабатываются, и работа над ними возобновляется только после 4-х часов. Причины могут быть следующими:
  • Если колл-центр не может дозвониться до клиента, то он откладывает попытку дозвона на 4 часа.
  • Некоторые рестораны подтверждает бронирование позже, и колл-центр может обрабатывать брони таких ресторанов с задержкой.
  • Возможно, первая попытка дозвона производится в автоматическом режиме, и если дозвон не состоялся, то после 4 часов заявка выгружается на ручной обзвон.


Что дальше?


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

  • Премировать или увольнять сотрудников.
  • Договориться на более оперативную реакцию партнеров.
  • Менять процесс обработки заявок.
  • +13
  • 9,5k
  • 6
Поделиться публикацией
Комментарии 6
    +1
    Классно, спасибо, попробую запилить посмотреть на реальных данных.
      +2
      Эта вся штука называется Survival Analysis. Для этого анализа есть уже готовые решения. Например, в R или Python.
      +1
      Я правильно понимаю что заявки не по очереди обрабатываются?
      То есть возможно что заявка которая пришла 2 часа назад обработалась а заявка которая пришла 3 часа назад нет?

      Или разные очереди для тех кто без очереди и для тех кто только спросить?
        +1
        Заявки не обязательно обрабатываются по очереди. Например, до заявителя не могут дозвониться с первого раза, тогда заявку откладывают на потом. Или ресторан подтверждает бронь с задержкой, тогда заявка тоже обработается позже.
        +1
        Я что-то не понимаю, или скорость обработки одной заявки зависит от количества заявок? В противном случае график должен быть практически линейным.
          0
          В идеале, скорость обработки каждой заявки должна быть одинакова. На практике, не все заявки обрабатываются с одинаковой скоростью: (1) разные сотрудники имеют разную скорость обработки, (2) по некоторым заявкам не могут дозвониться с первого раза, (3) по другим заявкам — задержка на стороне партнеров и т.п.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое