New features and changes in version 9.1.1

The following new features and changes are introduced in version 9.1.1 of HCL® Contact Optimization.

Perform a test run of a Contact Optimization session

You can tune your Contact Optimization session before a production run by performing a test run on a subset of the PCT data. After you run all the flowcharts that generate contact and offer information that the Contact Optimization session can access, you can run the Contact Optimization session that you created. You should perform a test run of the session to see whether the results of the optimization are what you expect. After you review the results, perform a production run to generate the final set of data.

Optimize a transaction query for performance improvements

You can use temporary tables instead of database-specific views to improve your performance. To optimize the Attribute Filter Query (AFQ) and improve your performance, you can enable the use of temporary tables. You can enable or disable the temporary table by going to Advanced Settings > Database Tuning at the Contact Optimization session level and setting Allow Temporary Tables to True. You can also configure this parameter in the Configuration Settings at Affinium|Campaign|partitions|partition1|Optimize|DatabaseTuning| AllowTempTables. By default, this setting is enabled because there is an improvement in the performance of larger sessions when you use temporary tables.

CAMPAIGN_HOME decoupled from Contact Optimization for distributed installations

You can run the Contact Optimization listener and related server utilities separate from Campaign. If you have Contact Optimization and Campaign on separate systems, from 9.1.1 onwards, you do not need to mount the Campaign directory for your Campaign installation as a network drive on the system that hosts Contact Optimization. The dependency on setting the CAMPAIGN_HOME environment variable is removed.

The MailList process performance is improved in case of post-optimized flowchart

In the post-Optimize flowchart, when a subset of IDs is extracted from an Optimized list, the processing logic has been enhanced to be able to work better on the set of selected IDs to gain runtime performance improvement. This is done through improved constraints on the set of data being queried during extraction.

Additional indexes for additional performance improvements

Beyond indexing the segment membership, contact history, and detailed contact history tables for each audience, and the PCT, POA, and RC tables for each session, there are other tables that you can index and update table statistics to improve the Contact Optimization session run performance. By default, the Contact Optimization installer will not add these extra indexes on campaign tables. These indexes should be added only if you find that Contact Optimization session queries are running slower than expected. Adding more indexes can degrade the performance for update queries, such as insert or update, on these tables. You can add these extra indexes and update table statistics by manually running the following database-specific SQL scripts:
  1. aco_extra_indexes_db2.sql
  2. aco_extra_indexes_sqlsvr.sql
  3. aco_extra_indexes_ora.sql
These scripts can be found in the <OPTIMIZE_HOME>/ddl folder. Each script has three sections: delete index, create index, and update table statistics. Index scripts need to be run only one time. However, update table statistics queries need to be run periodically to keep table statistics up-to-date. It is recommended to run these table statistics queries before you trigger a large Contact Optimization session run.
Note: All three scripts contain a SQL script for the default detailed contact history table (UA_DTLCONTACTHIST). If a Contact Optimization session is defined on any other audience level, then the index and statistics SQL queries should be run on the appropriate detail contact history table.