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

Hi everyone,

 

I understand:

1) the Response Definition allows to set up the Response Code for different responses channels.

2) the Response Node allows us to link different Response Code to the Communication Node.

3) the CI_CONTACT_HISTORY saves all of campaign histories at subject level

4) the CI_RESPONSE_HISTORY should save all of the responses, and there are conditions have to be met before response can be created.

5) there are Converted/Responded, promoted/inferred or Opened/clicked/etc for response types.

6) I do not believe MA can automatically go out find its responses without configuration.

 

I am curious where I should look/define the actural responses, and schedule these processes.  The scope is not real-time decision making.  For example: link to external sales header table to get total amount at certain period; link to external sales detail for promoted response to a specific treatment at a time period; or link to external email promotion fact table to find the open and clicks, etc.  At the end, I guess I want to know how CI_RESPONSE_HISTORY table is processed.  Is it included in MA or it has to be done outside?

 

Thanks a bunch!

 

Jane

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
shill
SAS Employee

The CI_RESPONSE_HISTORY table is provided as a place where you can write response data, but populating it is an additional task that is generally done (and in my opinion, best done) outside of MA.

 

Normally this is an ETL process that analyzes input from the channels, where hopefully the actions you're tracking as responses include the Response Tracking Code and Treatment Tracking Code values that were assigned by MA so that you can perform direct attribution. Another option is to analyze your transaction data looking for behavior by customers who were in the campaigns and recorded in CI_CONTACT_HISTORY. If you find that someone has been contacted AND made a purchase (for example), you can create an inferred response.

 

The reason no specific process exists for this is because every customer and every offer has very different parameters for what defines a response: how long has it been since the contact? what if they received multiple contacts - to which do you attribute the response? what if they bought something other than what you were promoting? And so on.


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

View solution in original post

10 REPLIES 10
shill
SAS Employee

The CI_RESPONSE_HISTORY table is provided as a place where you can write response data, but populating it is an additional task that is generally done (and in my opinion, best done) outside of MA.

 

Normally this is an ETL process that analyzes input from the channels, where hopefully the actions you're tracking as responses include the Response Tracking Code and Treatment Tracking Code values that were assigned by MA so that you can perform direct attribution. Another option is to analyze your transaction data looking for behavior by customers who were in the campaigns and recorded in CI_CONTACT_HISTORY. If you find that someone has been contacted AND made a purchase (for example), you can create an inferred response.

 

The reason no specific process exists for this is because every customer and every offer has very different parameters for what defines a response: how long has it been since the contact? what if they received multiple contacts - to which do you attribute the response? what if they bought something other than what you were promoting? And so on.


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

janezou
Obsidian | Level 7

Thanks Shill for clarifying!

 

It makes sense to do it in ETL outside, the response could become complicated with different (business rules + channels + subjects + period of time) + control/test, etc. 

 

By reading the user's guide and admin's guide, I got the impression that the response history table would be "magically" populated once response node is created, thought I might have missed something.

 

 

shill
SAS Employee

The response node(s) (which you can have added to the diagram if you configure your communication node with responses) does automatically query the CI_RESPONSE_HISTORY table to get the list of customers who were a) contacted by the communication the response node comes from and b) had that particular response(s).

 

But it won't give you any counts if you haven't first populated the table 🙂


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

janezou
Obsidian | Level 7

Yes, the Reponse Node(s) from Communication Node could serve as place holders, they could be used to bring real responses in the future ETL.  That is the only purpose of Response Node, I guess?  At campaign time, we do not have any response for sure.

 

Or the Response Nodes(s) can also be completely ignored. The response will be handled at the back end completely after compain execution.

 

Does this make sense?

 

Thanks,

 

shill
SAS Employee

The response node serves two possible purposes: informational (for the campaign designer to quickly check on the results of that campaign without writing a report - this functionality pre-dates VA) or as a starting point for follow-up campaigns. You can either connect a second wave of some logic and/or just a communication node to send a different messasge/offer to those who responded vs. those who hadn't after a week, for example, or you could connect a linkable cell to it and use that as a shortcut to building a select node where camp_cd = X and comm_cd = y, etc.


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

janezou
Obsidian | Level 7

That is a very smart way of creating wave 2, I have never thought of.  THANKS!

ThreeJay
Fluorite | Level 6

Hi Steve,

 

I just started configuration of SAS CI at Gothaer Germany. Right now I'm gathering information about response tracking in CI and I'm wondering how to handle the TREATMENT_HASH_VAL column in the RESPONSE_HISTORY when i don't use dynamic treatments or any treatment at all in my campaigns. That cloumn is part of the key in the RESPONSE_HISTORY and NOT NULL. So my question is: Is there a default value for that column in case there are no treatments in the campaign?

 

Thanks, Jakobus

shill
SAS Employee

If you're not using it to join back to a specific treatment in a package, the TREATMENT_HASH_VAL can be anything (besides NULL). Elsewhere in the data model values of "S" (for static) and "X" (for dynamic default values) are used; following that pattern I would suggest a standard of "N" (for None). It's not a referential key, so ultimately it's up to you - the main thing in my opinion is that it be handled consistently.


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

ThreeJay
Fluorite | Level 6

Hi Steve,

 

thanks for your post. I tested with NULL Values in that column and it works. But if you say its risky I will use "N" to fill in.

 

Thanks & BR, Jakobus

shill
SAS Employee

Interesting... since it's part of the key and you mentioned it's marked NOT NULL that shouldn't have worked.


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

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
  • 2806 views
  • 4 likes
  • 3 in conversation