Plan, execute, measure and optimize customer experiences

Randomizing Cell Size

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 8
Accepted Solution

Randomizing Cell Size

 

 

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


Accepted Solutions
Solution
‎07-10-2017 02:03 AM
Contributor
Posts: 41

Re: Randomizing Cell Size

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


All Replies
SAS Employee
Posts: 15

Re: Randomizing Cell Size

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

Occasional Contributor
Posts: 8

Re: Randomizing Cell Size

 

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

Occasional Contributor
Posts: 8

Re: Randomizing Cell Size

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

SAS Employee
Posts: 15

Re: Randomizing Cell Size

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

Solution
‎07-10-2017 02:03 AM
Contributor
Posts: 41

Re: Randomizing Cell Size

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
Occasional Contributor
Posts: 8

Re: Randomizing Cell Size

Smiley Happy  Thank you  !!  ..  Thank you  !!  ..  Thank you  !!

SAS Employee
Posts: 15

Re: Randomizing Cell Size

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 

New Contributor
Posts: 2

Re: Randomizing Cell Size

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

SAS Employee
Posts: 15

Re: Randomizing Cell Size

 

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.

New Contributor
Posts: 2

Re: Randomizing Cell Size

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.

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

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