RRRRR - 54.205.89.199

Обсуждения-аналоги

Скрыть / Показать Сортировать по дате
2014-04-02 18:20:29
Вадим » Всем

Коллеги, здравствуйте!

Поскольку Сергей Валерьевич в своих статьях затрагивает вопросы программирования, м.б. профильные специалисты помогут в решении моих вопросов.

На Хабре послушал лекцию Андрея Себранта (Яндекс): «Что такое на самом деле Big Data и чем они прекрасны».
Теперь, хочется узнать, какими методами выполнить анализ данных.

Предо мной стоит прикладная задача – голосовое оповещение абонентов по телефону.
В каждом заказе на голосовое оповещение описывается сценарий выполнения звонков: длительность по дням/часам, количество повторений вызова и т.п.

Пректируется как облачная услуга.

Если реализовывать алгоритм со 100% дозвоном каждому абоненту, существенно увеличивается загруженность линий связи.
Соответственно очень сильно вырастает стоимость услуги.
Необходимо оптимизировать количество повторных звонков – снижать их, при неизменно высоком проценте дозвона (желательно 100%).
Это существенно, при количестве абонентов десятки/сотни тысяч.

Поскольку я далёк от математики (статистики) у меня больше вопросов, чем ответов.


Вопрос № 1. Можно ли, без предварительной статистики, математическими методами создать прогноз по количеству повторных звонков?
В том числе, это необходимо для того, чтобы Заказчик на этапе формирования заказа мог сделать прогноз стоимости услуги.
Обратился на кафедру прикладной математики родного университета, отказали – нужна статистика ...

Вопрос № 2. Что это за методы анализа (математические модели) применяемые для Big Data? Это что-то новое, или маркетинговая упаковка давно известных методов?

Вопрос № 3. Что это за алгоритмы, с помощью которых программа самообучается, для наиболее оптимального выполнения задачи? Как правильно выбрать такой алгоритм для выполнения моей прикладной задачи?

С Уважением,

2014-04-14 12:43:14
Александр Сычёв » Вадим

Добрый день!

Если реализовывать алгоритм со 100% дозвоном каждому абоненту, существенно увеличивается загруженность линий связи.

Т.к., Вы пишете о 100% дозвоне, уточните какая версия из приведённых ниже правильна или напишите Вашу:

1.  Много одновременных звонков забивает канал.

2.  Множество повторных звонков препятствует (создаёт "пробку") дозвону на остальные номера ("неповторные"  - на которые, возможно, ответили бы с 1 раза).  

3. Иное...

С Уважением,

 

P.S. "Big Data", предположительно, не имеет отношения к этой задаче.

2014-04-15 12:44:08
Вадим » Александр Сычёв

Александр, здравствуйте!


Все указанные Вами версии верны, поскольку:

  1. Количество каналов всегда ограничено, поэтому одновременные звонки или забивают канал, или требуется увеличить срок оповещения (дни×часы). Это может привести к снижению уровня дозвона (не 100%). Так же, забивают канал: одновременное выполнение нескольких заказов, звонки со статусом "срочное оповещение".
  2. Множество повторных звонков - да, абоненты которым звонили, но не дозвонились. Чтобы достичь 100% уровня, необходимо звонить каждому абоненту каждый день - резко увеличивается потребность в каналах.


"Big Data" - как я понял, это обработка большого объёма неструктурированных данных с целью поиска закономерностей.

Предполагаю, в моём случае, необходимо выполнить (-нять) "тестовые" обзвоны, собирать статистику ответа/доступности абонентов.

Исходя из этой статистики, программа ищет закономерности в максимально быстром дозвоне абоненту (минимальное количество звонков/каналов связи).

И, соответственно, автоматически корректирует сценарий звонков (не каждый день, в определённый час и т.п.).


С уважением,


2014-04-16 21:20:22
Александр Сычёв » Вадим

Безусловно можно прибегнуть к тестовым обзвонам для сбора информации и определения оптимального времени и темпа пересылки, но можно вместе с этим оптимизировать и сам алгоритм рассылки сообщений.

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

То есть на части каналов всегда идут первичные звонки. Если же на какой-либо из этих звонков не был получен ответ, то он перемещается в другую очередь. 

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

Хочется добавить вопрос:

Является ли существенным параметром размер голосового сообщения при подобной рассылке?

С уважением, Александр Сычев.

2014-04-17 12:11:33
Вадим » Александр Сычёв

Александр, здравствуйте!


Давайте я расскажу, как я пришел к поставленным мною вопросам.

Я сделал волюнтаристский прогноз общего количества звонков.
Может быть из-за «такого» предположения, я не могу сделать правильный вывод.
Помогите разобраться.


Поскольку, статистики звонков прошлых периодов нет, я задал условия выполнения прозвона и сам задал его эффективность.

Условия заказа:

  1. количество абонентов - 50000;
  2. срок оповещения - 5 дней;
  3. время оповещения с 10:00 до 21:00;
  4. продолжительность вызова (гудков) - 10 сек.;
  5. продолжительность сообщения - 20 сек.


Эффективность дозвона в течение дня:


Интервал времени

% Дозвона

10÷11

2%

11÷12

2%

12÷13

1%

13÷14

1%

14÷15

0,5%

15÷16

0,5%

16÷17

1%

17÷18

2%

18÷19

25%

19÷20

35%

20÷21

30%


Эффективность дозвона по дням оповещения:

Пн

Вт

Ср

Чт

Пт

10%

20%

30%

30%

10%

20%

30%

30%

10%

10%

30%

30%

10%

10%

20%

30%

10%

10%

20%

30%

10%

10%

20%

30%

30%

10%

20%

30%

30%

10%

20%

30%

30%

10%

10%

30%

30%

10%

10%

20%

15%

35%

35%

5%

10%

10%

15%

35%

35%

5%

5%

10%

15%

35%

35%



Так же задал еще два условия, на мой взгляд, повышающих эффективность дозвона:

  1. каждому абоненту звоним каждый день;
  2. звонки выполняются пакетами – в течение каждого часа выполняем 3 звонка с интервалом 5 минут.


В итоге, у меня получилось, что общая продолжительность:

  • голосового оповещения (передача сообщения) всех абонентов составляет ≈278 часов;
  • повторных звонков (ожидание ответа) составляет ≈13900 часов.


Если объединить это время, можно получить требуемое количество линий по дням недели и в течение дня (см. таблицу ниже):

  • максимальное количество - 419 (пн; 18÷19);
  • минимальное количество - 56 (пт; 19÷20).


Интервал времени

Пн

Вт

Ср

Чт

Пт

10÷11

418

373

293

177

69

11÷12

417

372

290

174

68

12÷13

415

369

286

173

68

13÷14

414

367

286

173

67

14÷15

412

366

285

172

65

15÷16

412

366

285

171

64

16÷17

412

366

285

170

64

17÷18

413

366

283

170

65

18÷19

419

386

306

172

69

19÷20

403

340

280

197

56

20÷21

382

312

207

142

73



То есть, во время выполнения повторных звонков, каналы связи будут заняты на порядок больше (в 50 раз), чем во время самого оповещения (передачи сообщения).



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

В этом случае, имеющийся фонд номерных линий я должен поделить на каналы для первичных звонков и на каналы для повторных звонков.
В какой пропорции?
При «достаточном» количестве каналов связи первичные звонки могут быть выполнены за час/несколько часов (в моём примере за1 час при 400 каналах).

Является ли существенным параметром размер голосового сообщения при подобной рассылке?

В моём примере я увеличил размер (продолжительность) сообщения с 20 до 40 секунд.
Количество требуемых каналов, в пиковый интервал времени (пн; 18÷19), увеличился с 419 до 429.
Я не вижу существенного влияния.

С Уважением,

2014-04-20 12:01:12
Александр Сычёв » Вадим

Добрый день!

1. Из этих данных следует, что проблема не в пропускной способности канала, а в большом количестве повторных звонков. Тогда модельно представим себе, что мы таки разделили звонки на две очереди ("первичные" и "дозвоны"), как написано выше, но пусть каналы для второй очереди будут у нас "идеальными" (мысленно): то есть, пускай они обладают не только максимальной пропускной способностью, но даже и расширяются при росте числа сообщений. То есть, точно (по условиям задачи) не забьются, сколько-бы сообщений там ни "крутилось".

Вопрос: "Увеличится ли от этого число удачных дозвонов?"

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

 

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

 

2. Чтобы убрать "пузырь" из "второй очереди", я предлагаю ввести лимит на число дозвонов. Если абонент не ответил на звонок N раз (например, 3), то пусть попытки таким способом связаться с ним прекращаются (соответственно, это номер уходит из "пузыря"), но зато абоненту отправляется смс-сообщение ("Для Вас оставлено голосовое сообщение, его можно прослушать по ссылке..."). Он, если захочет, прослушает его в любой момент (а "вторая очередь" будет разгружаться - кто-то ответит, кому-то ушли смс).

Статистику прослушиваний по ссылке (в т.ч., с разбивкой по номерам) получить будет достаточно просто (например, в параметрах ссылки в конце ставьте & и пусть после & автоматически приписывается номер, на который уходит смс).

При данной схеме (разделение + лимит + отправка смс со ссылкой после лимита) никто не будет долго дожидаться первого звонка, а каналы и первой, и второй очереди не будут забиваться.

3. Вы сможете формировать для Заказчика подробный отчет о том,

  • сколько сообщений было отправлено, 
  • сколько из них было прослушано сразу и кем (по номерам), 
  • сколько и кем после первого дозвона,
  • сколько и кем после второго дозвона,
  • ....................
  • сколько и кем после N-го дозвона,
  • и сколько и кем было прослушано при переходе по ссылке.

4. Понимая мотивацию получения "100процентного дозвона", я не считаю эту цель верной (в такой формулировке). Стопроцентная "конверсия" (отношение) достижима только на малых числах. Например, если один Покупатель зашёл в магазин и что-то купил, то "конверсия" (отношение купивших в зашедшим) = 100% (и такое нередко бывает). Но при 1000 Посетителях не будет такого, что каждый из них что-то купит. Тем более, при 50 000-ах. То же и со звонками. 

Выборка растёт, конверсия "ложится на полку". Это закономерность.

5. Но это не означает, что Вы оказываете услугу плохо. Ваша задача (если я верно понял) гарантированно предоставить абоненту возможность прослушать сообщение. Вы эту задачу на 100% выполняете и перевыполняете :) [несколько звонков, ссылка, хранение файла до потери актуальности]. Решение же о том, как не забить канал приведено выше.

Кстати, если Ваш Заказчик захочет лимит (число дозвонов перед смс) побольше, то может доплатить за это :)

В рамках такой модели возможна оптимизация работы. Сложить цену для Заказчика тоже сможете.

С Уважением,

2014-04-20 22:03:57
Вадим » Александр Сычёв

Александр, спасибо!

«Для Вас оставлено голосовое сообщение, его можно прослушать по ссылке...»

Правильно ли я понял, что ссылка, это номер автоответчика (например, традиционное «800-…»)?


С моим партнером мы обсуждаем такую тему: что важнее, доставить сообщение или информацию?
Поясню.
Можно пытаться, во чтобы то ни стало, доставить голосовое сообщение абоненту (наращивая номерную емкость, или организовывая «идеальную» линию для дозвонов).
Можно отправить абоненту SMS или email.
Моя точка зрения – первый вариант хорош для передачи эмоции, второй для передачи информации.
То есть, для передачи информации абоненту о наличии задолженности, или об очередном платеже более чем достаточно передать информацию с помощью SMS/email.

Если отправлять SMS/email, то зачем нам иметь номерную ёмкость линий фиксированной связи?
SMS/email, в любом случае, более дешевая услуга, с точки зрения затрат на передачу информации.
Да и по мобильному телефону быстрее/реальнее получить отклик абонента.
Значит, необходимости в организации «идеальной» линии для дозвонов нет!?
Например, на мобильный номер абоненту, я сразу отправлю SMS о величине задолженности. К тому же, убираем лишнее действие – переход по ссылке абонентом.

Я читал, что «средняя» скорость – 1000 SMS в минуту. Здорово, 50 минут, и все абоненты оповещены!


Тогда вопрос, где можно применить голосовое оповещение?

Вероятно там, где:
1. Важна эмоциональная окраска.
Например, для:
- урегулирования задолженности (теми же коллекторскими агентствами, вероятно, переход по ссылке будет не востребован);
- для передачи поздравления (так же теряется эмоциональная окраска) и т.п.
2. Нет возможности передать сообщение на мобильный номер/email – используются только линии фиксированной связи.
Раз так, каким образом я могу убрать «пузырь» дозвонов, если нет возможности использовать SMS/email?


UPD: прошу извинить меня за то, что сразу не указал, что речь идёт только о фиксированной связи. Мобильные номера и e-почту «не используем» (нет смысла).


С Уважением,

2014-04-24 21:00:26
Александр Сычёв » Вадим

Добрый день,

«Правильно ли я понял, что ссылка, это номер автоответчика (например, традиционное «800-…»)?»

Это может быть как номер автоответчика, так и ссылка при переходе по которой человек сможет прослушать свое сообщение.

«Каким образом я могу убрать «пузырь» дозвонов, если нет возможности использовать SMS/email?»

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

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

Таким образом, Заказчик сам определит число звонков, и "пузырь" не будет чрезмерно большим.

С Уважением, Александр.

2014-04-25 11:16:08
Вадим » Александр Сычёв

Александр, здравствуйте!



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

Спасибо, Вы подтвердили мое мнение.

Таким образом, Заказчик сам определит число звонков, и «пузырь» не будет чрезмерно большим.

Это решение только одной проблемы – убираем «пузырь» первичных/повторных звонков.
Но мы не решаем вопрос снижения каналов связи. Например, Заказчик хочет сделать первичные звонки в определённое время суток (с 18 до 20). При количестве абонентов десятки тысяч, неизбежно растет очередь первичных звонков.




Первоначально, задача ставилась так, Заказчик (например, Управляющая компания (ЖКХ)) имеет телефоны абонентов только фиксированной связи.
Я понял, что проблема «пузырей» первичных и повторных звонков не решается в такой системе.
К тому же, эффективность доставки остаётся под сомнением (не успели взять трубку; не поняли о чем идёт речь; трубку взял ребёнок и т.п.).

Моё предложение, которое я уже передал владельцу этого проекта – не ограничивать проект только фиксированной связью.
То есть, добавить возможность отправлять сообщения на:
• мобильный (к тому же, с мобильными операторами проще и реальнее договориться о снижении тарифов, чем с Ростелеком – практический опыт владельца проекта);
• SMS;
• email.


В данном случае получается хорошая связка:
1. Позвонили на «фиксированный» телефон – «failure».
2. Перезвонили на мобильный – «failure»
3. Передали SMS.

Полагаю, на уровне звонка на мобильный номер будет решен вопрос информационного оповещения большинства абонентов.


Александр, Вы помогли мне в обсуждении этой темы, благодарю Вас!


С Уважением,

Уважаемые Коллеги!

Если Вам нравится наш Форум, Вы можете поддержать его, отправив любую сумму (тогда выберите опцию "Спасибо за Форум").

Вы также можете поддержать конкретное обсуждение и получить гарантированный ответ от наших специалистов (тогда выберите опцию "Прошу эксперта ответить в этой теме").
Задайте Ваш вопрос здесь.

Большое Спасибо!


Яндекс.Метрика