Cómo logró KFC la eficiencia en la contratación de un gran número de empleados

KFC abre anualmente alrededor de 100 restaurantes en toda Rusia, que requieren empleados. Muchos también eligen los restaurantes de la cadena como lugar para trabajos temporales, por ejemplo, estudiantes. KFC recibe más de 15.000 solicitudes de empleo cada mes . Por un lado, bueno, la empresa no se quedará sin empleados, pero por otro lado, ¿te imaginas cuántos gerentes de RRHH serán necesarios para procesar a todos estos candidatos?





Además, la mayoría de estas respuestas contienen errores y algunas son irrelevantes para la vacante. Y mientras los recursos humanos dedican su tiempo a ellos, se pierden candidatos que realmente valen la pena. ¿Cómo se puede evitar esto?





Para mejorar el proceso de contratación, KFC se ha asociado con  Voximplant . La empresa propuso la siguiente idea: el robot llama a todos los candidatos, pregunta qué tan relevante es la vacante y, en caso de una respuesta positiva, informa más sobre la vacante y se conecta al call center.





Los resultados superaron todas las expectativas. El robot procesa las respuestas 10 veces más rápido que un humano, eliminando al 37% de los candidatos, y los gerentes de recursos humanos solo se comunican con los candidatos interesados, lo que aumenta la conversión.





Vamos a ver cómo funciona

Hacer un robot de este tipo en la plataforma Voximplant es mucho más fácil de lo que parece. Escribamos un robot similar ahora mismo.





, . , , , , -.





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