Как задать параметр CustomerSampleSize
Чтобы правильно сконфигурировать параметр CustomerSampleSize для самого оптимального времени выполнения сеанса Contact Optimization и при этом сохранить наилучшее качество, необходимо уделить этому вопросу некоторое внимание.
CustomerSampleSize и "чанки"
Компонент Contact Optimization работает по принципу разбиения предложенных контактов на случайные подвыборки покупателей, именуемые "чанками". Все предложенные контакты и хронология контактов, относящихся к одному покупателю, обрабатываются с использованием данного покупателя в чанке, к которому покупатель принадлежит. Покупатель может принадлежать только к одному чанку. Точность алгоритма оптимизации зависит от того, насколько эти чанки покупателей статистически похожи друг на друга. Чем больше размер чанка, тем больше вероятность применения этого требования. Ограничения мощности для разных покупателей равномерно распределены по чанкам. Например, сеанс компонента Contact Optimization содержит ограничение, которое задает, что максимально допустимое число предложений А равно 1000. Если сеанс компонента Contact Optimization запущен с 10 чанками, у каждого чанка есть правило количества, разрешающее не более 100 предложений А.
Вы используете переменную настройки алгоритма CustomerSampleSize, чтобы задать максимальный размер чанка. Чем больше чанк, тем точнее будут результаты. Однако, время выполнения сеанса и ресурсы памяти также увеличатся. Не используйте чанки размером больше 10000 без тщательного планирования. Многие системы не обладают достаточным объемом памяти для обработки более 10000 покупателей одновременно. Такая нехватка объема памяти приводит к тому, что не удается выполнить запуск сеанса Contact Optimization без ошибки нехватки памяти. Во многих случаях больший размер чанка может не дать значительного увеличения общей оптимальности решения, но при запуске потребуется больше времени и памяти. Оптимальность измеряется как сумма оценок оставшихся транзакций в таблице Оптимизированные контакты. Вам может понадобиться настроить параметр CustomerSampleSize на основе конкретной проблемы оптимизации и требований производительности.
В простом сценарии оптимизации, в котором нет правил для разных покупателей, нет смысла увеличивать размер чанков.
CustomerSampleSize и правила количества для разных покупателей
Чтобы понять случаи, когда используются правила количества для разных покупателей, нужно знать, как эти правила применяются к нескольким чанкам. Рассмотрите случай, когда есть одно правило количества Минимальное/Максимальное число предложений с минимальным набором до 20 и максимальным набором до 1000 для электронной почты канала. Если есть 100000 покупателей и максимально допустимый размер чанков равен 10000, каждый чанк будет обрабатываться с использованием измененного правила, в котором максимальное число равно 100. Contact Optimization вычисляет максимальное значение измененного правила: это частное от деления максимального значения (1000) на число чанков (10).
При меньшем максимальном размере чанка может быть создано больше чанков. Этот параметр повышает вероятность того, что правило будет зависеть от какого-то менее многчисленного элемента (например, от канала электронной почты), чем число чанков. Если размер чанков уменьшить до 100, число чанков будет равно 1000. Теперь минимально допустимое значение для правила меньше числа чанков, в связи с чем измененное правило равно 0,02 (20, разделенное на 1000). В этом случае 2% чанков используют правило с минимальным значением, равным 1, а в других 98% чанков используется минимальное значение, равное 0. Так как все чанки статистически похожи друг на друга (в том, что касается электронной почты канала), компонент Contact Optimization обрабатывает правило как ожидается. Проблема возникает, если число покупателей, которым предлагаются электронные сообщения, меньше, чем число чанков. Если электронные сообщения предлагаются только 500 покупателям, у каждого чанка есть только 50% вероятности, что в нем окажется покупатель, которому предлагается электронное сообщение. Кроме того, вероятность того, что у чанка есть и покупатель, которому предложено электронное сообщение, и минимум одно правило, составляет только 1%. Вместо того, чтобы соответствовать минимальному заданному значению, равному 20, компонент Contact Optimization возвращает, в среднем, только 5.
Число чанков зависит от размера чанка и общего числа покупателей. Так как максимальный размер чанка составляет 10000, минимально допустимое число покупателей, имеющих значимый элемент (элемент, используемый в правиле), должно быть не меньше числа покупателей, разделенного на 10000, чтобы достичь оптимальных результатов. Может показаться, что увеличение числа предложенных контактов для сохранения статистической схожести может снизить производительность, но на самом деле, процессор будет использовать большее число предложенных контактов. Это использование может быть больше, чем смещением, если при этом можно будет использовать меньший размер чанка, так как эти чанки меньшего размера могут быть обработаны быстрее.