Contact Optimization opera suddividendo i contatti proposti in campioni secondari casuali di clienti chiamati "blocchi". Tutti i contatti proposti e la cronologia dei contatti appartenenti a un singolo cliente sono elaborati con tale cliente nel suo blocco di appartenenza. Un cliente può appartenere a un singolo blocco. L'accuratezza dell'algoritmo di ottimizzazione dipende dal fatto che questi blocchi siano statisticamente simili l'uno all'altro. Un blocco più grande ha più probabilità di soddisfare questo requisito. Le restrizioni della capacità che interessano più clienti sono equamente distribuite tra i blocchi. Ad esempio, la sessione
Contact Optimization contiene una restrizione che specifica che è consentito un massimo di 1000 offerte A. Se la sessione
Contact Optimization viene eseguita con 10 blocchi, ciascun blocco ha una regola di capacità che consente un massimo di 100 offerte A.
Si utilizza la variabile per regolare l'algoritmo di ottimizzazione CustomerSampleSize per impostare la dimensione massima di blocco. Più grande è il blocco e più accurati saranno i risultati. Si verifica tuttavia anche un aumento del runtime di sessione e delle risorse di memoria. Non utilizzare delle dimensioni di blocco superiori a 10.000 senza una attenta pianificazione. Molti sistemi non dispongono di sufficienti risorse di memoria per elaborare più di 10.000 clienti per volta. Questa mancanza di risorse di memoria causa un malfunzionamento dell'esecuzione della sessione
Contact Optimization con un errore di memoria insufficiente. In molti casi, una dimensione di blocco più grande potrebbe non aumentare affatto l'efficacia della soluzione in modo evidente, richiedendo comunque per l'esecuzione più tempo e più memoria. L'efficacia viene misurata come la somma dei punteggi delle transazioni rimanenti nella tabella contatti ottimizzati. Potrebbe essere necessario regolare il valore di
CustomerSampleSize sulla base di specifiche esigenze di prestazioni e problemi di ottimizzazione.