Научиться звонить быстрее
Для общения с клиентами Рокетбанк сделал ставку на чат и мобильное приложение. Ведь 90% всех коммуникаций приходится на чат. Соответственно, на телеком-технологии до поры до времени они не обращали большого внимания. Но Рокет позиционирует себя как удобный банк, который избавляет клиентов от очередей и бюрократии. Значит, он должен избавить клиентов и от ожиданий на телефонной линии.
Справка о компании:
Рокетбанк – это мобильный банк для физических лиц. Каждый второй клиент приходит в банк по рекомендации друзей. На сегодняшний день у банка более 120 тысяч клиентов. В апреле 2016 года «Рокетбанк» стал частью группы «Открытие», крупнейшей финансовой группы в России.
При использовании обычной SIP-телефонии оператор тратил время на странные вещи: копировал телефонный номер из карточки клиента в буфер обмена, затем открывал окно IP-телефонии, затем вставлял номер и непосредственно звонил.
В момент роста компании стало понятно, что текущие инструменты крайне неудобны.
Почему Voximplant
После того как в банк поступает заявка на новую карту, операторы перезванивают человеку, чтобы уточнить детали: дебетовая или кредитная карта нужна, рублевая или валютная и так далее. В идеальной картине мира – оператор просто нажимает на кнопку «позвонить» внутри CRM – и обратный звонок клиенту поступает в течение 30 секунд.
Рокетбанк стал искать, кто сможет это организовать. Часть сервисов «забраковали»: их использование подразумевало покупку дорогого оборудования, которое надо было где-то размещать (помещения, аренда, обслуживание, вот это всё). Не в пример им, платформа Voximplant не требует никакого оборудования, все звонки надежно защищены и передаются через облако. Вторая причина, почему остановились на Voximplant — это безопасность. Рокетбанк не приветствует, чтобы у сторонних разработчиков был доступ в админку. А с помощью платформы back-end разработчики Рокета сделали все сами.
Как CRM подружили с телефонией
Рокет обучал CRM-ку «звонить» в два этапа. Сначала – на исходящей линии. Напомним, зачем это: чтобы оператор мог звонить одним кликом сразу из браузера CRM.
Затем в CRM интегрировали входящую линию. Новая компетенция для CRM – это быстро подгружать карточку клиента.
Цифры и результаты
Коммуникации Рокетбанка с клиентами значительно ускорились. На исходящей линии оператор связывался с новым клиентом через 30 секунд (скорость соединения занимает не более 5-10 секунд). На входящей линии – CRM подсказывает оператору, кто звонит в банк. Соответственно, клиенту не приходится долго объяснять, кто он такой. Оператор всё знает, и может поприветствовать клиента персональным обращением: «Здравствуйте, Пенелопа». В результате на входящей линии время «распознавания» (как говорят в банке, идентификации) клиента сократилось с 90 до 20 секунд!
Дополнительным бонусом стало повышение безопасности личных данных, поскольку теперь оператор не видит номер телефона – только кнопку для звонка.
Вся коммуникация остается внутри CRM. История отношений с каждым клиентом – сообщения из чата и аудиозаписи звонков – синхронизируется и отображается в одном месте. Все звонки записываются – и примерно 10% регулярно прослушиваются для контроля качества.
И это ещё не всё: мобильное приложение тоже должно звонить
Через год после интеграции Рокетбанк решил внедрить телефонию от Voximplant ещё и в приложение для представителей банка (это ребята, которые доставляют новые карты новым клиентам). Логика интеграции похожая: из приложения представитель видит только кнопку «Позвонить», а записи звонков – отправляются сразу в CRM. В первую очередь это сделано для того чтобы контролировать ВСЕ коммуникации с клиентом.
Звонок клиенту от представителя банка работает по принципу обратного звонка. Сигнал поступает на платформу Voximplant, которая сообщает представителю «жди» (используется text-to-speech), дозванивается до клиента – и потом соединяет их.
Пока что это решение работает в тестовом режиме.
Как понять, что CRM пора прокачать
Объединить интерфейсы CRM и телефонии – это 7 дней кодинга. И отдача заметна сразу. Люди откровенно устали от колл-центров, до которых невозможно дозвониться и от необходимости проговаривать кучу данных, которые и так уже есть у оператора.
Такое решение пригодится компаниям с большим отделом продаж, работающими с новыми или постоянными клиентами. Ну а интеграция телефонии с собственной CRM — отличный способ прокачать коммуникации: за счет простой автоматизации рутинных процессов.
Картинка до ката взята c сайта yeeea.com
Комментарии (34)
braineater
29.05.2017 18:54Люди откровенно устали от колл-центров, до которых невозможно дозвониться и от необходимости проговаривать кучу данных, которые и так уже есть у оператора.
Такие люди обычно пишут в чат Рокета. Звонить необходимо разве в случае одновременной утери телефона с приложением и карты, чтобы эту самую карту заблокировать. Других кейсов не могу придумать.
jehy
29.05.2017 20:34+2Вроде только написали, а javascript уже устаревший....
eyeofhell
30.05.2017 07:24В смысле «устаревший»? Как он вообще может быть устаревший, если Babel? O_O
jehy
30.05.2017 09:48Babel не даёт коду быть слишком новым для браузера или ноды. Но не наоборот.
Или вы думаете, что здесь приведён транспилированный код? Было бы странно.
eyeofhell
30.05.2017 10:04+1В статье написан пример, который можно скопипастить и все заработает из коробки. Естественно, вы можете писать на TypeScript, ES2017 или Elm, транспайлить и заливать через GitLab CI. Но статью усложнять не надо :)
jehy
30.05.2017 10:27Это да. Просто в 2017 году уже глаза режут вары и коллбеки, без них код понятнее.
Chamie
31.05.2017 12:30А чем вам var-то не угодил?
jehy
31.05.2017 12:47C var очень легко облажаться за счёт поднятие переменной. Именно из этого растут корни у сотен тестовых задачек для разработчика наподобие этой:
var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar();
А let и const ведут себя точно так же, как и переменные в классических языках разработки — так что подобных стрёмных вопросов просто не возникает.
Собственно, у ESLint (без которого имхо писать не стоит) во всех современных стандартах даже есть специальное правило no-var, в описании которого стоит ровно то, что я чуть выше написал по своим ощущениям:
ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords. Block scope is common in many other programming languages and helps programmers avoid mistakes.
Chamie
02.06.2017 18:54А let и const ведут себя точно так же, как и переменные в классических языках разработки
Вот так, например?
Напишете, что выведется? И что бы вышло в «классическом» (в вашем понимании) ЯПlet foo = false; function bar() { if (!foo) { let foo = 10; } alert(foo); } bar();
jehy
02.06.2017 19:02Возьмите с полки пирожок за придирку к формулировке. Всегда можно найти способ выстрелить себе в ногу, но для таких случаев есть правило no-shadow.
Chamie
02.06.2017 19:17-1Да, давайте на личности перейдём </sarcasm>
Я вам про let/var в языке, а вы мне прокостылиправила для транспайлера. Мне это больше напоминает «я пришёл в JS с языка X, давайте делать вид, что JS — это такой плохой X, а все несовпадения назовём недостатками и заткнём тысячейкостылейправил в транспайлере».
no-shadow
заставит вас все имена переменных делать уникальными. Зачем так жить? Назвал переменнуюi
, и потом ни в одной вложенной функции нельзяfor(let i=0
написать.
А «всегда можно найти способ выстрелить себе в ногу» можно и про ошибки с hoisting'ом сказать.jehy
02.06.2017 19:21+1Видимо, вы никогда просто не пробовали это правило. Оно не заставляет называть всё уникальными именами. Оно не даёт только пересекать области видимости. То есть, у вас может быть функция, а внутри неё — сколько угодно циклов для i. А если у вас уже внутри этого цикла идёт ещё один — вообще довольно логично назвать переменную по-другому.
Chamie
02.06.2017 19:26-1Там прямо сверху пример:
var a = 3; function b() { var a = 10; }
Вот об этом я и говорю — во внешнем скоупе естьi
, значит, ни в одной из функций, объявленных в нём, нельзя использовать переменную с именемi
. Т.е., если есть глобальная переменнаяi
, то переменные так нельзя называть вообще нигде.jehy
02.06.2017 19:34+1Вы не поверите, но в 2017 году глобальные переменные не используют...
Chamie
02.06.2017 19:52Верну вам:
Возьмите с полки пирожок за придирку к формулировке.
К остальной части комментария вопросов нет?jehy
02.06.2017 20:06+1Просто мне сложно представить другой кейс, в котором вам захочется использовать то же имя переменной. А с глобальными я верю, поскольку видел воочию код, в котором использовались глобальные переменные с названиями вроде c, v, cc, vv и a. И код этот писался блоками по 400 строк. Думаю, разработчик сильно икал, когда я это рефакторил. Не надо так делать — и никаких проблем с no-shadow у вас не будет.
Кстати, регулярно вижу, когда разработчики прокидывают через всё приложение значимые объекты с названиями вроде c1. И попробуй пойми, что это. Байты что ли экономят? В общем, я своих разработчиков так делать отучил. И с кодом сразу стало на порядок проще работать.
Derevtso
01.06.2017 12:56Насколько могу судить (не на примере рокетбанка, т.к. не являюсь клиентом), для подтверждения критичных операций по-прежнему должно использоваться (и, наверняка, используется) кодовое слово. А то и номер паспорта с датой и местом рождения в придачу.
Можно, конечно, ещё потерять и паспорт вместе с телефоном, но это — совсем другая история.
Shakhmin
01.06.2017 12:56Система вполне дополняется секретным словом, которое нужно ввести оператору со слов клиента, перед действием или выдачей информации. Без этого слова оператору не показываются значимые данные.
Да, Иван Иванович, но без секретного слова больше ничего не доступно оператору. В случае идентификации по паспортным данным, оператор вполне может их вводить со слов звонящего (в номере точно сложно опечататься)
А сама идентификация клиента очень важна хотя бы теми процентами клиентов, которым нужен особый подход — випы и проблемное, остальным — бонус.
vmaslyaev
01.06.2017 12:57Прошу меня простить, но вышеописанное практически все промышленные CRM-системы уже делают давно.
Я понимаю что в случае с Рокетом это узкоспециализированное решение заточенное под их процессы.
Главная фишка использования CRM-систем это дальнейшая аналитика: какие звонки приводят к продажам, а какие нет (или к вовлечения в сервис, в случае Рокета).
YaMishar
А мне не нравится, когда меня по имени приветствуют. Может это я дал другу телефон позвонить. Реальный кейс — увели телефон и карточки. Звонит, чтобы заблокировали. И плюс ощущение небезопасности, если мой телефон нашёл посторонний человек, он может быть идентифицирован мною. Я понимаю, что там будут ещё вопросы, но всё-такиощущение остаётся.
Germanets
Тут добавляется ещё один пусть не такой явный, но значимый момент в различии системы с такой интеграцией и без:
1) Система без интеграции: оператору поступает звонок от какого-то клиента банка -> Оператор ничего не знает о клиенте и сначала узнаёт ФИО от звонящего потом убеждается, что звонящий действительно тот, кем он назвался. Для оператора это действие — проверка данных от ненадёжного источника, поэтому он все их тщательно проверяет.
2) Система с интеграцией: оператору поступает звонок, система показывает, что это звонок от Иванова. Оператор уточняет данные у звонящего и проверяет, что это действительно Иванов. Для оператора это проверка данных поступивших от надёжного источника — из их собственной внутренней системы, которой оператор склонен доверять.
wispoz
Два раза перечитал, но так и не понял в чем надежность? Я звоню в банк, там отвечают добрый день Иван, я говорю да добрый день, где идентификация?
Germanets
Видимо, я неправильно выразился, или зря ответил на комментарий, вместо того, чтобы написать его под самим постом. Я имел ввиду то, что во втором случае надёжность какраз таки меньше — оператор склонен доверять системе, вместо того, чтобы тщательно проверять пароли\явки.
GDXRepo
Тоже не понял про идентификацию. Я нашел на дороге телефон, нашел там рокетбанк, каким-то образом в него вошел (не суть, как именно, так получилось), позвонил — и меня приветствуют именем другого человека, причем оператор явно будет думать, что я — это я. Хорошо, если в процессе разговора они запрашивают некие секретные слова/ключи, чтобы идентифицировать человека, а не просто полагаются на показания системы — но так ли это на самом деле?
Merkat0r
Ну в альфе промсвязи и тинькове точно также
YaMishar
В Альфе меня не приветствуют точно. В Сбере, к примеру, только когда я уже начинаю запрашивать информацию или прошу о действиях, тогда называют иваниванычем. Тоже не очень, но тут хотя бы ощущение, что они меня по голосу за 1 минуту идентифицировали.
wispoz
В альфе как раз это и практикуют, как-то раз пришлось звонить с телефона жены, было конечно весело когда: Добрый, %ИМЯ_ЖЕНЫ% )
splav_asv
Это по обычной линии не приветствуют. По выделенной, которая начиная с «комфорт» приветствуют.
Germanets
Очень сильно надеюсь, что мы с вами ошибаемся, и операторы продолжат так же тщательно проверять данные звонившего и секретные слова…
Chamie
Если банк нормальный, то не оператор проверяет, а система от него требует вашего кодового слова для продолжения.
vlivyur
2) Интеграция разная бывает. Можно же не разрешать оператору никаких действий, пока он системе не скажет что это Иванов Иван Иванович (если она ему не подтвердила этого).
Gendalph
Вы еще не запаролили свой телефон?
YaMishar
Он у меня по отпечатку. Но я же говорю — другу давал.
А прошлый телефон по жесту разблокировался. Племяник там за 10 попыток жест подобрал. Следы оставались.
DistortNeo
Ещё хотелось бы видеть системы, которые используют голос для проверки пользователя.
Если голос отличается от обычного, то проверка должны быть более основательной.