Optimization rule example

Now you need to understand how to apply these rules to actual optimization problems. Many business problems require several rules working together to achieve the desired behavior.

Maximizing customer value

Problem: To propose the best offers to your customers keeping within the budget and the limitations of your call center and email server capacities and without breaking any internal offer rules.

You know that you get the highest response when someone calls the customer personally, however, a phone call is the most expensive way to deliver an offer. Also, the call center can make only a maximum of 5,000 calls a week and the email servers can send 5 million outbound emails a day. Direct mail gets a better response than email, but the mailing is more than ten times as expensive as an email offer. You have quantified these return rates in a score field you have created by multiplying response rate by profitability. The cost of these offers are contained in the CostPerOffer attribute.

You also have to abide by your customer's wishes. You let your customers choose to opt-out of any or all of your contact channels.

You have multiple offers, but some offers cannot be sent in combination, for example, you do not want to send an offer for free online banking to the same person you send an offer for free checking. In addition, you should never send a worse offer for the same product or service after a better offer. And, you should not overload customers with the same offer.

This can be solved by a single Optimize session. The following rules show one possible solution.

Ensure that you are not violating any of the customer's wishes by creating Exclude/Include rules that enforce opt-out (or opt-in) choices.

*
This optimization session should Exclude customers in the segment Direct Mail Opt-Out List for offers from channel DirectMail concerning offer/offer list Any Offer.
This optimization session should Exclude customers in the segment eMail Opt-Out List for offers from channel email concerning offer/offer list Any Offer.
This optimization session should Exclude customers in the segment Call Opt-Out List for offers from channel CallCenter concerning offer/offer list Any Offer.
This optimization session should Exclude customers in the segment Global Opt-Out List for offers from channel Any Channel concerning offer/offer list Any Offer.

Define your limitations. You have a limit on the amount of money you can spend, the number of calls you make, and the number of emails you send. Use these capacity rules:

*
The number of offers from channel CallCenter over the time period 7 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 5,000.
*
The number of offers from channel email over the time period 1 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 5,000,000.
*
The Sum of the CostPerOffer should be <= the value 1,500,000 for transactions from the offer/offer list Any Offer from channel Any Channel.

Define your offer guidelines. You can use the For Each Customer rules to ensure correct sequencing.

*
For each customer in segment All Segments, that receives an offer from channel All Channels concerning offer/offer list FreeOnlineBanking cannot receive an offer from channel All Channels within the time period 90 days concerning offer/offer list FreeChecking.
*
For each customer in segment All Segments, that first receives an offer from channel All Channels concerning offer/offer list Platinum Cards cannot later receive an offer from channel All Channels within the time period 90 days concerning offer/offer list Gold Cards.

Ensure that you are not creating contact fatigue. You can use For Each Customer rules to enforce your requirements.

*
For each customer in segment Any Customer, the number of offers from the channel email over the time period 7 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 2.
For each customer in segment Any Customer, the number of offers from the channel email over the time period 3 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 1.
For each customer in segment Any Customer, the number of offers from the channel CallCenter over the time period 14 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 2.
For each customer in segment Any Customer, the number of offers from the channel CallCenter over the time period 7 days concerning offer/offer list Any Offer should be between minimum 0 and maximum 1.
*
For each customer in segment Any Customer, the number of duplicate offers from the channel Any Channel over the time period 30 days concerning offer/offer list Any Offer should not exceed 1.
Optimizing a set of offers

Another way to use Optimize is to optimize the generation of a personalized set of coupons.

Problem: You want to send a personalized selection of coupons to your customers while staying within budget constraints and not violating any internal rules or agreements with your suppliers.

Once again, you need to work within a budget. You need to ensure that a coupon booklet mailed to a customer contains enough coupons to be worth mailing and you want to ensure that every customer receives the selection of coupons only once. You also have restrictions based on agreements with your suppliers with contractual minimums and maximums. In addition, certain suppliers do not want their offers given with competitor's offers.

Ensure that you are not violating any of the customer's wishes by creating Exclude/Include rules that enforce opt-out (or opt-in) choices.

*
This optimization session should Exclude customers in the segment Direct Mail Opt-Out List for offers from channel DirectMail concerning offer/offer list Any Offer.

Define your limitations. You have a limit on the amount of money you can spend, and you also need to include any supplier limitations. These can be solved with capacity rules:

*
Total number of offers from channel Any Channel over the time period 30 days concerning offer/offer list CompanyC should be between minimum 1000 and maximum 5000.
*
The Sum of the CostPerOffer should be <= the value 3,000,000 for transactions from the offer/offer list Any Offer from channel Any Channel.

Define your offer guidelines. You can use the For Each Customer rules to ensure no internal guidelines are broken. Only one rule example for each type of rule is shown here, where an actual situation may contain dozens.

*
For each customer in segment All Segments, that receives an offer from channel All Channels concerning offer version Brand = CompanyA cannot receive an offer from channel All Channels within the time period 30 days concerning offer version Brand = CompanyB.
*
For each customer in segment Any Customer, the number of duplicate offers from the channel Any Channel over the time period 30 days concerning offer version ProductType = ProductA should not exceed 1.

Ensure that you are not sending out more than one selection of coupons and that each set of coupons is worth sending. You can use a combination of For Each Customer rules to enforce your requirements.

*
For each customer in segment Any Customer, the number of offers from the channel DirectMail over the time period 30 days concerning offer/offer list Any Offer should be between minimum 6 and maximum 12.
*
For each customer in segment Any Customer over the time period 30 days the number of packages from the channel Any Channel should not exceed 1.