Configurando CustomerSampleSize
Configurar adequadamente CustomerSampleSize para melhor tempo de execução de sessão do Contact Optimization ao mesmo tempo em que preserva a otimização requer alguma consideração.
CustomerSampleSize e "chunks"
O Contact Optimization funciona dividindo os contatos propostos em sub-amostras a esmo de clientes chamadas "chunks." Todos os contatos propostos e o histórico de contatos que pertence a um único cliente são processados com esse cliente no chunk no qual esse cliente pertence. Um cliente pode pertencer a apenas um chunk. A precisão do algoritmo de otimização depende de esses chunks de clientes serem estatisticamente similares uns aos outros. Um tamanho de chunk maior torna esse requisito mais provável. As restrições de capacidade de diversos clientes são igualmente distribuídas pelos chunks. Por exemplo, a sua sessão do Contact Optimization contém uma restrição que especifica que há um máximo de 1000 ofertas A permitidas. Se a sessão do Contact Optimization estiver executando com 10 chunks, cada chunk terá uma regra de capacidade que permitirá um máximo de 100 ofertas A.
Você usa a variável de ajuste de algoritmo CustomerSampleSize para configurar o tamanho de chunk máximo. Quanto maior o chunk, mais precisos os resultados. Porém, o tempo de execução da sessão e os recursos de memória também aumentam. Não use tamanhos de chunk maiores que 10.000 sem planejamento cuidadoso. Muitos sistemas não possuem recursos de memória suficientes para processar mais de 10.000 clientes por vez. Essa falta de recursos de memória resulta em uma execução de sessão do Contact Optimization com falha com um erro de falta de memória. Em muitos casos, um tamanho de chunk maior pode não aumentar significantemente a otimização da solução de maneira alguma, mas ainda leva mais tempo e memória para executar. A otimização é medida como a soma de pontuações das transações sobreviventes na Tabela de Contatos Otimizados. Você pode precisar ajustar o CustomerSampleSize com base no seu problema de otimização específico e necessidades de desempenho.
Em um cenário de otimização simples no qual não há nenhuma capacidade de regras de múltiplos clientes definidas, não há nenhum benefício acrescido com o uso de tamanhos de chunk maiores.
Regras de Capacidade CustomerSampleSize e de Múltiplos Clientes
Para entender os casos nos quais as regras de capacidade de múltiplos clientes são usadas, você deve entender como essas regras são aplicadas a diversos chunks. Considere o caso no qual exista uma única regra de Capacidade de Nº Mín./Máx. de Ofertas com um conjunto mínimo de 20 e um conjunto máximo de 1.000 para email de canal. Se houver 100.000 clientes e um tamanho de chunk máximo de 10.000, cada chunk será processado usando uma regra modificada na qual o máximo seja 100. O Contact Optimization calcula o valor máximo da regra modificada ao dividir o valor máximo da regra (1.000) pelo número de chunks (10).
Uma tamanho de chunk máximo maior pode causar a criação de mais chunks. Essa configuração torna mais provável que uma regra possa depender de algum elemento (como canal de email) que seja menos numeroso que o número de chunks. Se o tamanho do chunk fosse reduzido para 100, haveria 1.000 chunks. Agora, o mínimo para a regra é menos que o número de chunks, o que torna a regra modificada 0,02 (20 dividido por 1.000). Nesse caso, 2% dos chunks usam uma regra com no mínimo 1 e os outros 98% dos chunks usam no mínimo 0. Desde que cada chunk seja estatisticamente semelhante com relação ao email de canal, o Contact Optimization processará a regra conforme esperado. Um problema ocorre quando há menos emails oferecidos a clientes do que chunks. Se somente a 500 clientes foram oferecidos emails, cada chunk tem apenas uma chance de 50% de conter um cliente ao qual um email foi oferecido. Além disso, a probabilidade de um chunk particular possuir um email oferecido a um cliente e uma regra de mínimo 1 é de somente 1%. Em vez de satisfazer o mínimo especificado de 20, oContact Optimization retorna somente 5 em média.
O número de chunks depende do tamanho do chunk e do número total de clientes. Como o tamanho de chunk máximo é 10.000, o número mínimo de clientes com um elemento significante (um item usado em uma regra) não deve ser menor que o número de clientes dividido por 10.000 para atingir resultados ideais. Pode parecer que aumentando o número de contatos propostos para manter similaridade estatística diminuiria o desempenho, e é verdade que mais contatos propostos sejam incluídos no uso do processador. Esse uso pode ser mais compensado, pois permite um tamanho de chunk menor a ser usado, já que esses chunks menores podem ser processados mais rapidamente.