Откуда Рокетбанк знает ваше имя

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

    Научиться звонить быстрее


    Для общения с клиентами Рокетбанк сделал ставку на чат и мобильное приложение. Ведь 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
    Voximplant 78,49
    Облачная телеком-платформа
    Поделиться публикацией
    Комментарии 34
    • +10
      А мне не нравится, когда меня по имени приветствуют. Может это я дал другу телефон позвонить. Реальный кейс — увели телефон и карточки. Звонит, чтобы заблокировали. И плюс ощущение небезопасности, если мой телефон нашёл посторонний человек, он может быть идентифицирован мною. Я понимаю, что там будут ещё вопросы, но всё-такиощущение остаётся.
      • +2
        Тут добавляется ещё один пусть не такой явный, но значимый момент в различии системы с такой интеграцией и без:
        1) Система без интеграции: оператору поступает звонок от какого-то клиента банка -> Оператор ничего не знает о клиенте и сначала узнаёт ФИО от звонящего потом убеждается, что звонящий действительно тот, кем он назвался. Для оператора это действие — проверка данных от ненадёжного источника, поэтому он все их тщательно проверяет.
        2) Система с интеграцией: оператору поступает звонок, система показывает, что это звонок от Иванова. Оператор уточняет данные у звонящего и проверяет, что это действительно Иванов. Для оператора это проверка данных поступивших от надёжного источника — из их собственной внутренней системы, которой оператор склонен доверять.
        • +4
          Два раза перечитал, но так и не понял в чем надежность? Я звоню в банк, там отвечают добрый день Иван, я говорю да добрый день, где идентификация?
          • 0
            Видимо, я неправильно выразился, или зря ответил на комментарий, вместо того, чтобы написать его под самим постом. Я имел ввиду то, что во втором случае надёжность какраз таки меньше — оператор склонен доверять системе, вместо того, чтобы тщательно проверять пароли\явки.
          • +1
            Тоже не понял про идентификацию. Я нашел на дороге телефон, нашел там рокетбанк, каким-то образом в него вошел (не суть, как именно, так получилось), позвонил — и меня приветствуют именем другого человека, причем оператор явно будет думать, что я — это я. Хорошо, если в процессе разговора они запрашивают некие секретные слова/ключи, чтобы идентифицировать человека, а не просто полагаются на показания системы — но так ли это на самом деле?
            • 0
              Ну в альфе промсвязи и тинькове точно также
              • 0
                В Альфе меня не приветствуют точно. В Сбере, к примеру, только когда я уже начинаю запрашивать информацию или прошу о действиях, тогда называют иваниванычем. Тоже не очень, но тут хотя бы ощущение, что они меня по голосу за 1 минуту идентифицировали.
                • +1
                  В альфе как раз это и практикуют, как-то раз пришлось звонить с телефона жены, было конечно весело когда: Добрый, %ИМЯ_ЖЕНЫ% )
                  • 0
                    Это по обычной линии не приветствуют. По выделенной, которая начиная с «комфорт» приветствуют.
                • 0
                  Очень сильно надеюсь, что мы с вами ошибаемся, и операторы продолжат так же тщательно проверять данные звонившего и секретные слова…
                  • +1
                    Если банк нормальный, то не оператор проверяет, а система от него требует вашего кодового слова для продолжения.
                • 0
                  2) Интеграция разная бывает. Можно же не разрешать оператору никаких действий, пока он системе не скажет что это Иванов Иван Иванович (если она ему не подтвердила этого).
                • +2

                  Вы еще не запаролили свой телефон?

                  • 0
                    Он у меня по отпечатку. Но я же говорю — другу давал.
                    А прошлый телефон по жесту разблокировался. Племяник там за 10 попыток жест подобрал. Следы оставались.
                  • 0

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

                  • 0
                    Люди откровенно устали от колл-центров, до которых невозможно дозвониться и от необходимости проговаривать кучу данных, которые и так уже есть у оператора.
                    Такие люди обычно пишут в чат Рокета. Звонить необходимо разве в случае одновременной утери телефона с приложением и карты, чтобы эту самую карту заблокировать. Других кейсов не могу придумать.
                    • +2

                      Вроде только написали, а javascript уже устаревший....

                      • 0
                        В смысле «устаревший»? Как он вообще может быть устаревший, если Babel? O_O
                        • 0

                          Babel не даёт коду быть слишком новым для браузера или ноды. Но не наоборот.


                          Или вы думаете, что здесь приведён транспилированный код? Было бы странно.

                          • +1
                            В статье написан пример, который можно скопипастить и все заработает из коробки. Естественно, вы можете писать на TypeScript, ES2017 или Elm, транспайлить и заливать через GitLab CI. Но статью усложнять не надо :)
                            • 0

                              Это да. Просто в 2017 году уже глаза режут вары и коллбеки, без них код понятнее.

                              • 0
                                А чем вам var-то не угодил?
                                • 0
                                  C 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.
                                  • 0
                                    А let и const ведут себя точно так же, как и переменные в классических языках разработки
                                    Вот так, например?
                                    let foo = false;
                                    function bar() { 
                                        if (!foo) {
                                            let foo = 10; 
                                        } 
                                        alert(foo); 
                                    } 
                                    bar();
                                    Напишете, что выведется? И что бы вышло в «классическом» (в вашем понимании) ЯП
                                    • 0

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

                                      • –1

                                        Да, давайте на личности перейдём </sarcasm>
                                        Я вам про let/var в языке, а вы мне про костыли правила для транспайлера. Мне это больше напоминает «я пришёл в JS с языка X, давайте делать вид, что JS — это такой плохой X, а все несовпадения назовём недостатками и заткнём тысячей костылей правил в транспайлере».
                                        no-shadow заставит вас все имена переменных делать уникальными. Зачем так жить? Назвал переменную i, и потом ни в одной вложенной функции нельзя for(let i=0 написать.
                                        А «всегда можно найти способ выстрелить себе в ногу» можно и про ошибки с hoisting'ом сказать.

                                        • +1

                                          Видимо, вы никогда просто не пробовали это правило. Оно не заставляет называть всё уникальными именами. Оно не даёт только пересекать области видимости. То есть, у вас может быть функция, а внутри неё — сколько угодно циклов для i. А если у вас уже внутри этого цикла идёт ещё один — вообще довольно логично назвать переменную по-другому.

                                          • –1

                                            Там прямо сверху пример:

                                            var a = 3;
                                            function b() {
                                            var a = 10;
                                            }

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

                                            • +1

                                              Вы не поверите, но в 2017 году глобальные переменные не используют...

                                              • 0
                                                Верну вам:
                                                Возьмите с полки пирожок за придирку к формулировке.
                                                К остальной части комментария вопросов нет?
                                                • +1

                                                  Просто мне сложно представить другой кейс, в котором вам захочется использовать то же имя переменной. А с глобальными я верю, поскольку видел воочию код, в котором использовались глобальные переменные с названиями вроде c, v, cc, vv и a. И код этот писался блоками по 400 строк. Думаю, разработчик сильно икал, когда я это рефакторил. Не надо так делать — и никаких проблем с no-shadow у вас не будет.


                                                  Кстати, регулярно вижу, когда разработчики прокидывают через всё приложение значимые объекты с названиями вроде c1. И попробуй пойми, что это. Байты что ли экономят? В общем, я своих разработчиков так делать отучил. И с кодом сразу стало на порядок проще работать.

                      • 0
                        Насколько могу судить (не на примере рокетбанка, т.к. не являюсь клиентом), для подтверждения критичных операций по-прежнему должно использоваться (и, наверняка, используется) кодовое слово. А то и номер паспорта с датой и местом рождения в придачу.

                        Можно, конечно, ещё потерять и паспорт вместе с телефоном, но это — совсем другая история.
                        • 0

                          Система вполне дополняется секретным словом, которое нужно ввести оператору со слов клиента, перед действием или выдачей информации. Без этого слова оператору не показываются значимые данные.
                          Да, Иван Иванович, но без секретного слова больше ничего не доступно оператору. В случае идентификации по паспортным данным, оператор вполне может их вводить со слов звонящего (в номере точно сложно опечататься)
                          А сама идентификация клиента очень важна хотя бы теми процентами клиентов, которым нужен особый подход — випы и проблемное, остальным — бонус.

                          • 0
                            Прошу меня простить, но вышеописанное практически все промышленные CRM-системы уже делают давно.
                            Я понимаю что в случае с Рокетом это узкоспециализированное решение заточенное под их процессы.
                            Главная фишка использования CRM-систем это дальнейшая аналитика: какие звонки приводят к продажам, а какие нет (или к вовлечения в сервис, в случае Рокета).

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

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