Creating an interaction history summary data set
Simplify decision strategies by creating data set records for interaction history summaries. These data sets aggregate interaction history to limit and refine the data that strategies process.
Use interaction history summaries to filter customer data and integrate multiple arbitration and aggregation components into a single import component. For example, you can create a data set that groups all offers that a customer accepted within the last 30 days and use that data set in your strategy to avoid creating duplicate offers.
- In the header of Dev Studio, click Configure > Decisioning > Decisions > Data Sources > Interaction History Summaries.
-
In the Base data set list, select the source of the data
set:
- To create a data set based on a relational database interaction history, select
Interaction History.Note: To create a data set based on a relational database interaction history, set the interactionHistory/AggregatesOnlyMode dynamic system setting to false.
- To create a data set based on a streamed interaction history, select Interaction Stream. Use a stream-based interaction history to improve the performance of your system when processing high-volume interactions.
- To create a data set based on a relational database interaction history, select
Interaction History.
- Click Create.
-
In the Data Set Record Configuration section, define the data
set:
-
In the Label field, enter the data set label.
The identifier is automatically created based on the data set label.
- Optional: To change the automatically created identifier, click Edit, enter an identifier name, and then click OK.
- From the Type list, select Summaries.
-
In the Label field, enter the data set label.
- In the Context section, specify the ruleset, applicable Strategy Result class, and ruleset version of the data set.
- Click Create and open.
-
In the Time period section, specify the time span for which you
want to aggregate data:
- To aggregate data from the entire interaction history, select All time.
- To aggregate data from a specific time period, select Last, and then specify the time span.
- Optional: To specify the aggregation start time, select Start aggregating as of, and then specify a date.
-
In the Group by section, select the properties by which you want
to group the data.
By default, the aggregated data is grouped by the pySubjectID and pySubjectType properties from the Data-pxStrategyResult class.
-
In the Aggregate section, add aggregates,
and then specify when conditions for the aggregates, if applicable:
- Click Add aggregate.
- In the Define section, specify the aggregate output, function, and source data set if applicable.
- Optional: To add when conditions for the aggregates, click the expand icon next to Define, click Add condition, and then specify the when condition.
For example: To ensure that the customer does not receive duplicate offers, define the aggregate and when conditions, and then use the data set in your application's strategy to prevent offers for which the value of the CountPositives property is greater than 0 for a specific customer. Use the following settings:- Output: .CountPositives
- Function: Count
- When: pyOutcome = Accepted
- Optional:
To further limit the data that the data set aggregates, in the
Filter section, click Add condition, and
then define the filter conditions.
For example: To limit the interaction history data to inbound email interactions, use the following settings:
- Where: A AND B
- A: pyChannel = email
- B: pyDirection = inbound
- Click Save.
- Optional:
To save processing time, turn on preaggregation for the new data set:
- In the header of Dev Studio, click Configure > Decisioning > Decisions > Data Sources > Interaction History Summaries.
-
Next to the data set for which you want to turn on preaggregation, click Manage > Materialized.
Preaggregated data sets save processing time because they include the latest interactions. Data sets that are not preaggregated do not include the latest interactions and therefore they query the database.