Como a KFC alcançou eficiência na contratação de um grande número de funcionários

A KFC abre anualmente cerca de 100 restaurantes em toda a Rússia, que exigem funcionários. Muitos também escolhem os restaurantes da rede como locais de empregos temporários, por exemplo, estudantes. KFC recebe mais de 15.000 pedidos de emprego todos os meses . Por um lado, bem, a empresa não ficará sem funcionários, mas, por outro lado, você pode imaginar quantos gerentes de RH serão necessários para processar todos esses candidatos?





Além disso, a maioria dessas respostas contém erros e algumas são irrelevantes para a vaga. E, embora os RH gastem seu tempo com eles, perdem candidatos realmente valiosos. Como voce pode evitar isso?





Para melhorar o processo de recrutamento, a KFC fez parceria com a  Voximplant . A empresa propôs a seguinte ideia: o robô liga para todos os candidatos, pergunta a relevância da vaga e, em caso de resposta positiva, fala mais sobre a vaga e se conecta ao call center.





Os resultados superaram todas as expectativas. O robô processa respostas 10 vezes mais rápido do que um humano, eliminando 37% dos candidatos, e os gerentes de RH só se comunicam com os candidatos interessados, aumentando assim a conversão.





Vamos ver como isso funciona

Fazer tal robô na plataforma Voximplant é muito mais fácil do que parece. Vamos escrever um robô semelhante agora.





, . , , , , -.





Voximplant, . , :





require(Modules.ASR);
require(Modules.Player);
 
const callerid = '7xxxxxxxxxx';
const operator = '7xxxxxxxxxx';
let data;
let callCandidate, callOperator;
let asr;
      
      



, , VoxEngine.customData. JSON : { "phone" : "7xxxxxxxxxx", "name": "" }.





, JSON customData, callerid data.phone :





VoxEngine.addEventListener( AppEvents.Started, async e => {
 data = JSON.parse( VoxEngine.customData() );
  //    callerid   data.phone
 callCandidate = VoxEngine.callPSTN( data.phone, callerid );
 
 //  
 callCandidate.addEventListener( CallEvents.Connected, callCandidate_connected_handler );
 callCandidate.addEventListener( CallEvents.Disconnected, callCandidate_disconnected_handler );
 callCandidate.addEventListener( CallEvents.Failed, callCandidate_failed_handler );
});
      
      



, , ( ) . , , :





function callCandidate_connected_handler( e ) {
 //     
 const text = ` ${data.name}.  ?`;
 const language = VoiceList.Yandex.Neural.ru_RU_alena;
 const player = VoxEngine.createTTSPlayer( text, language );
 
 //        ,
 //  ,   
 player.sendMediaTo( callCandidate );
 player.addEventListener( PlayerEvents.PlaybackFinished, playbackFinishedHandler );
};
      
      



, . , , :





function playbackFinishedHandler() {
 // ASR    
 const asrProfile = ASRProfileList.Tinkoff.ru_RU;
 asr = VoxEngine.createASR( { profile: asrProfile } );
 
 //      ,
 // ,     
 callCandidate.sendMediaTo( asr );
 asr.addEventListener( ASREvents.Result, asrResultHandler );
}
      
      



. . , “”, , , . , , :)





“”, . :





async function asrResultHandler( answer ) {
 //   
 asr.removeEventListener( ASREvents.Result );
 
 //     text,        
 if( answer.text.includes( '' ) ) {
 
   //    
   data.wantsToWork = '';
 
   //   (   callCandidate_disconnected_handler )
   callCandidate.hangup();
 }
 else if ( answer.text.includes( '' ) ) {
   data.wantsToWork = '';
 
   //   
   startOperatorCall();
 }
 else {
   callCandidate.hangup();
 }
}
 
function startOperatorCall() {
 const callOperator = VoxEngine.callPSTN( operator, callerid );
 
 //    
 VoxEngine.sendMediaBetween( callCandidate, callOperator );
 
 //  
 callOperator.addEventListener( CallEvents.Connected, () => {
   Logger.write( '  ' );
 });
 callOperator.addEventListener( CallEvents.Disconnected, async () => {
   callCandidate.hangup();
 });
 callOperator.addEventListener( CallEvents.Failed, async () => {
   callCandidate.hangup();
 });
}

      
      



. ( ) http- . :





//   
async function callCandidate_disconnected_handler( e ) {
 const url = 'https://servicename';
 
 //       url
 await Net.httpRequestAsync( url, { method: 'POST', postData: JSON.stringify(data) } );
 
 //  
 VoxEngine.terminate();
};
 
//  
function callCandidate_failed_handler( e ) {
 VoxEngine.terminate();
};
      
      



. , , , , , -.





. , ; . — :)





!








All Articles