Bagaimana KFC mencapai efisiensi dalam mempekerjakan sejumlah besar karyawan

KFC setiap tahun membuka sekitar 100 restoran di seluruh Rusia, yang membutuhkan karyawan. Banyak juga yang memilih restoran rantai sebagai tempat untuk pekerjaan sementara, misalnya mahasiswa. KFC menerima lebih dari 15.000 lamaran pekerjaan setiap bulan . Di satu sisi, perusahaan tidak akan dibiarkan tanpa karyawan, tetapi di sisi lain, dapatkah Anda bayangkan berapa banyak manajer SDM yang akan dibutuhkan untuk memproses semua kandidat ini?





Selain itu, sebagian besar tanggapan ini mengandung kesalahan, dan beberapa tidak relevan untuk lowongan. Dan sementara HR menghabiskan waktu mereka untuk itu, mereka kehilangan kandidat yang sangat berharga. Bagaimana Anda bisa menghindari ini?





Untuk meningkatkan proses perekrutan, KFC telah bermitra dengan  Voximplant . Perusahaan mengusulkan ide berikut: robot memanggil semua kandidat, menanyakan seberapa relevan lowongan tersebut, dan jika jawaban positif, memberi tahu lebih banyak tentang lowongan dan menghubungkan ke call center.





Hasilnya melebihi semua harapan. Robot memproses respons 10 kali lebih cepat daripada manusia, menyisihkan 37% kandidat, dan manajer SDM hanya berkomunikasi dengan kandidat yang tertarik, sehingga meningkatkan konversi.





Mari kita lihat cara kerjanya

Membuat robot seperti itu di platform Voximplant jauh lebih mudah daripada yang terlihat. Ayo buat robot serupa sekarang.





, . , , , , -.





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