BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Gerda
Fluorite | Level 6

 

 

Hello  ..  please can you give me some tips

 

I have a monthly campaign, with about 200,000 qualifying customers  (all filters applied)

 

But, I only need a cell size of 20,000 every month

 

My problem is this  :

 

It seems that (in optimization) the customers are being sorted by the Subject ID, all of the scenario rules are being applied,

and then the first 20,000 customers are selected

 

Which means that my selection of monthly customers only vary from Subject ID : A to H  .. 

It never selects customers from Subject ID : H to Z  ?

 

Please advise how to randomize during Optimization (I guess)

 

Gerda

1 ACCEPTED SOLUTION

Accepted Solutions
Dmitry_Alergant
Pyrite | Level 9

Hi Gerda,

 

 

According to SAS MA user guide on the optimization methods (page 186 for MA 6.5):

 

Screen Shot 2017-07-07 at 23.06.16.png

 

Please note the highlighted part. What is the customer ranking? Let's search further in the document, here we are:

 

Screen Shot 2017-07-07 at 23.01.11.png

 

So, I think you only need to set up a random sort order in your communications. There may be no out-of-the-box "random sort" option like in lthe Limit node, but can always create c calculated item using the "ranuni" function and sort by it.

 

-------
Dmitriy Alergant, Tier One Analytics

View solution in original post

10 REPLIES 10
PatriciaNeri
SAS Employee

Gerda,

 

From your post, I understand that you are looking at the mo_solution file and there is no customer with subject ID: H to Z. Is this the situation?

 

Could it be that for example, you are maximizing profit and customer A to H are the ones with the highest possible profit?

 

Which algorithm are you using: analytical or priority- based scenario?

Could you list your other scenario rules? Do you have contact rules?

 

Best,

Patricia

Gerda
Fluorite | Level 6

 

Hi Patricia  ..  Yes you are 100% correct

 

Hi am using priority- based scenario

 

And apart from the 20,000 constraint, I only have a Group Max Contact Policy of 1 Subject_ID

 

Gerda

Gerda
Fluorite | Level 6

Hi Patricia  ..  Do you by any chance have a solution for me yet  ?

PatriciaNeri
SAS Employee

Gerda,

 

You are using Priority-based scenario optimization which works like this:

Prioritization’s objective is to allocate customers based on the priorities of the campaigns you assigned to those campaigns. Prioritization first assigns as many leads as possible to the cells with Priority “1”, then to Priority “2” and so on. The algorithm checks simultaneously for the max 20,000 constraints and the contact policy you have.

 

You must have assigned the priorities in such a way that the customers A-H have the highest priority until there are 20,000 customers in the solution.

 

If you want to change the solution you are obtaining, you could do several things (which one you choose will depend on the business problem you want to solve):

  1. Change the optimization method from priority based scenario to analytical method. You could do this if you have analytical (probabilities, churns, etc.) at the customer level for the different campaigns.
  2. Leave the priority based scenario, but change the priorities of your campaigns. For example, if customer A-C are in campaignOne, customer D-H in campaignTwo, customer …., customer P-Z in campaignTen then you could change the priorities to campaignTen_priority=1, campaignNine_priority=2, campaignTwo_priority=9, campaignOne_priority=10, and so on.
  3. Leave the priority based scenario, leave the priorities of your campaigns as you have them, but add min lead constraints to the campaigns. Right now, you just have one constraints that says max 20 leads overall; you could add these constraints: “at least 5000 leads for campaignTen”, “at least 2000 leads for campaignNine”, and so on. If you decide to apply this option, you must make sure that you have at least as many leads eligible for each campaign as the minimum number of leads you are requesting for that campaign.

Best,

Patricia

Dmitry_Alergant
Pyrite | Level 9

Hi Gerda,

 

 

According to SAS MA user guide on the optimization methods (page 186 for MA 6.5):

 

Screen Shot 2017-07-07 at 23.06.16.png

 

Please note the highlighted part. What is the customer ranking? Let's search further in the document, here we are:

 

Screen Shot 2017-07-07 at 23.01.11.png

 

So, I think you only need to set up a random sort order in your communications. There may be no out-of-the-box "random sort" option like in lthe Limit node, but can always create c calculated item using the "ranuni" function and sort by it.

 

-------
Dmitriy Alergant, Tier One Analytics
Gerda
Fluorite | Level 6

🙂  Thank you  !!  ..  Thank you  !!  ..  Thank you  !!

PatriciaNeri
SAS Employee

Dmitriy,

If the method is prioritization and it is selecting customers from A-H, that selection won’t change even when you rank on customer rankings. The solution still be customers from A-H, their order might be different, but still the solution will never have customers from Subject ID : H to Z 

Sergey_t1a
Calcite | Level 5

Hello!

 

What Gerda wanted is actually a very logical business requirement and expectation, and Patricia's last answer surprised me. 

 

Our clients rarely use the Priority-based Scenario method (more often it's either a full-blown SAS MO Analytical Scenario, or no scenarios at all), so I decided to recheck the method that Dmitry was talking about.

 

The purpose of the experiment is to select 20,000 random customers out of 200,000 satisfying filtering. The constraint is set in the optimization script. And for random sampling, he used the function of random generation of the number "ranuni".

Created a simple campaign:

1.png

This campaign was included in the optimization and in the scenario, limited the number of customers to 20,000.

Without the use of sorting by random value, a data set was obtained as in Gerda. In my case from A-C.

2.png

Added a computed element that uses the “ranuni” function in the export field and sorted by it.

3.png

As a result, customers were randomly allocated A-Z.

4.png

PatriciaNeri
SAS Employee

 

Sergey,

Thanks for participating in this discussion. The key issue here is that Gerda is using the priority-based scenario, not the analytical scenario.

 

The scenario described by Gerda has these characteristics

  1. She used the priority – based scenario and customers A to D are the ones with the highest ranking.
  2. There is one constraint: max 20,000 leads
  3. There is one Max/Min contact policy of at most one per subject_ID

 Based on her reply, we know that the campaigns the customers A to D are assigned are the ones that have the highest priorities, that is why once 20,000 customers are selected there is no need to continue selecting customers from E to Z.

 

About  Priority – based scenario:

  • It is a greedy algorithm that considers each campaign in priority order:
  • Fills each campaign according to the customer rank for that campaign. 
  • Once the max constraint (either cell-size or budget) for that campaign is met, then the algorithm proceeds to the next campaign. 

-Follows this process until either all the constraints are met OR it runs out of customers to allocate.

Sergey_t1a
Calcite | Level 5

In the experiment we used Priority-based scenario.

4.png

I was really interested in whether the sample was sorted by subject_id and whether it was possible to change this behavior.

As the experiment showed, this is easily solved using ranuni.

How to improve email deliverability

SAS' Peter Ansbacher shows you how to use the dashboard in SAS Customer Intelligence 360 for better results.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 10 replies
  • 2167 views
  • 2 likes
  • 4 in conversation