Example of Optimizing Point Block Updates
Suppose 10,000 transactions are being processed, each generating 10 points, and there is a point block of 100,000 points.
If these system preferences are not specified, then the point block record updates 10,000 times, slowing performance.
As an example, suppose the Siebel Loyalty preferences are set to:
LOYPointBlockBatchSize set to 50
LOYPointBlockBatchPercent set to 2
For the first 9,800 transactions (100 minus 2 equals 98%), the Siebel Loyalty Engine batches the updates and only applies updates after every 50 transactions, resulting in 196 updates (9,800/50) instead of 9,800. This setting reduces the processing load for 98% of the transactions.
From the next transaction onwards the point block would have less than 2% remaining balance and so the batching would be disabled resulting in 200 updates.
The total number of updates done would be 396 (196 plus 200), as compared to 10,000 without these parameters. There might be contention during processing of the final 200 transactions, but it could happen for only 2% of the transactions.
After this point block has been used, the next point block has a 100% balance to start with and is used with the optimization until it reaches a less than 2% balance.