Campaign Attribution models

Algorithm name: Campaign Attribution

Applies to: B2B and B2C

Campaign attribution model measures the effectiveness of campaigns by analyzing touch points that drive revenues and conversions.

What is Campaign Attribution algorithm?

The Campaign Revenue Attribution (Revenue and Non-Revenue) model measures the effectiveness of campaigns by analyzing touch points that drive revenues and conversions.

There are two types of Campaign Attribution models. The Revenue Campaign Attribution model measures the effectiveness of campaigns by assigning a monetary value to each campaign. The Non-Revenue Campaign Attribution model measures the effectiveness of campaigns by assigning a percentage attribution value to each campaign. The model calculates the 'Attribution Percentage' as a percentage value of campaigns converted to total conversions for each individual campaign.

Each model considers all the touch points that contributed to the conversion of the campaign. This is a multi-touch attribution model where the model assigns weights to each touchpoint based on the underlying conversion and non-conversion paths.

Parameters of the model

To create and configure the model the following parameters must be defined:

  • Algorithm: Choose theI algorithm in Unity.

    • Attribution type: Select ‘multi-touch Revenue’ for attributing revenue to campaigns; Select ‘multi-touch non-Revenue’ for attributing conversions/ units sold to campaigns

    • Lookback window: Select the number of days for lookback analysis

  • Queries: The queries you select generate the dataset used for both model training and scoring.

  • Inputs: Inputs are attributes from the Oracle Unity data model that the model uses during training and scoring.

  • Outputs: These are the data objects and attributes from the Unity data model that store the model's output values. You can customize the default output mappings if needed.

Model inputs

The Campaign attribution model uses the following data. For the model to successfully run, check the sections: key input considerations, key data guidelines and best practices.

Attribute name in the query Attribute from Unity data object Unity Data object Description of the attribute Expected Data Type Must have?
ID AccountID / MasterAccountID CustomerID/ MasterCustomerID Account/ Customer/ Master objects Profile Identifier – Account or Customer depending on the use case String Yes
CAMPAIGN_ID ID MarketingProgram Marketing Program Identifier String Yes
RESPONSE_DATE EventTS Event Campaign engagement timestamp Timestamp Yes
PRODUCT_ID ProductID Event Product Identifier String Yes
RESPONSE_ID ID (EventID) Event Engagement event Identifier String Yes
ORDER_QUANTITY Quantity OrderItem The quantity ordered (Only for Revenue Attribution) Int Yes
REVENUE_LINE_CREATED_DATE OrderEntryTS OrderItem The timestamp when the order/sale happened Timestamp Yes
REVENUE_GENERATED ExtendedPrice OrderItem Revenue generated for that product (Only for Revenue Attribution) Float  

Key considerations on model inputs

  1. Data schema checks: If an attribute is unavailable, assign a constant default value across all records. This allows the model to validate the input schema. This will not impact the model outcomes as the attribute will be excluded during feature importance analysis due to lack of data variance.

  2. Model extensibility: The model can be run to attribute conversions/ revenue to not just campaign but also channels. Ensure the channels are mapped to ‘CAMPAIGN_ID’ for channel level attribution

  3. Schema consistency: Ensure that the attributes used in the query exactly match the specified 'Attribute name in the query' (in the above table) to avoid schema mismatches during model execution.

  4. Non-mandatory attributes: These attributes, when available, can enhance the model’s learning and improve its predictive performance. However, if they are missing, the model will still leverage other available attributes to make predictions.

Key input data guidelines

  1. Data requirements:

    1. It is recommended to provide at least 50,000 data records for model training. However, it is important to bring as much data as possible to build a robust model

    2. It is recommended to keep the dataset under 10M records (soft limit). This limit can vary for every model, but maintain a manageable size helps ensure efficient model performance.

Best practices

  1. Use case first approach: Begin with a specific use case to determine the data required for solving the problem effectively.

    1. Review model data requirements with both business and data teams to ensure alignment

  2. Contextual parameters: Choose model parameters (such as lookback window) based on the business/ use case context.

  3. Query validation: Test both the training and scoring queries to validate that they return data and inspect sample records resulting from the query

Model outputs

Output values will be stored in the ProgramAttribution or CampaignAttribution data object.

  • The attribute ‘Type’ indicates whether the model was run as a revenue attribution or non-revenue attribution.

  • Attribution value – populated for revenue attribution model

  • Attribution Conversion – populated for non-revenue attribution model

  • Quarter – indicates quarter (as per calendar year) for which the attribution applies to.

Attribute ID Attribute Name Attribute Description Data type
SourceProgramAttributionID Source ProgramAttribution ID This attribute contains the unique ID for the object. STRING
Quarter Quarter This attribute represents the quarter for which the attribution is calculated. STRING
Type Type This attribute represents the type of Attribution - Revenue,Non-Revenue. STRING
AttributionValue Attribution Value This attribute represents the attribution value in currency. FLOAT
AttributionConversion Attribution Conversion This attribute represents the attribution in conversion units. FLOAT
AttributionPercentage Attribution Percentage This attribute represents the attribution in conversion percentage. FLOAT
MarketingProgramID Marketing Program ID This attribute contains the foreign key to the MarketingProgramID. STRING
SourceMarketingProgramID Source Marketing Program ID This attribute contains the original form of the MarketingProgram ID from the source data system. STRING
Product ID Product ID This attribute contains the foreign key to the ProductID. STRING
SourceProductID Source Product ID This attribute contains the original form of the Product ID from the source data system. STRING

data science, data science model, analyze data, create data science model, how to create a data science model, attribution, campaign attribution, revenue attribution, non-revenue attribution, revenue campaign attribution, non-revenue campaign attribution