Git Product home page Git Product logo

tasman-dbt-mta's Introduction

tasman_logo tasman_logo


We are the boutique analytics consultancy that turns disorganised data into real business value. Get in touch to learn more about how Tasman can help solve your organisations data challenges.

Multi-Touch Attribution Engine

Key Features:

  • ๐Ÿ”ฉ Boolean-algebra rule-based configurations avoiding custom SQL requirements
  • ๐Ÿช› Reconfigurable positional and time-based attribution models
  • ๐Ÿ”€ Multiple concurrent models, enabling robust, flexible, multi-model analyses
  • โฐ Fine-grain attribution window control
  • โž• Optional incremental materialisations
  • โ„๏ธ Custom warehouse selection (Snowflake only)

What is Multi-Touch Attribution? ๐Ÿคจ

Multi-touch attribution is a method of marketing measurement that accounts for all the touchpoints on the customer journey and designates a certain amount of credit to each channel. This enables marketers to analyse the value that each touchpoint has on driving a conversion.

The core functionality of an attribution engine is its ability to match touches to conversions based on a series of rules, known as 'attribution models'.

Multi-touch attribution can be cross-device, however with the increased privacy constraints introduced by Apple in iOS 14.5 and more generally across the industry, deterministic methods of attribution such as those in this engine are generally ineffective for mobile. For mobile attribution, we recommend checking Mobile Measurement Partners (MMPs) with support for Apple's SKAdNetwork such as Appsflyer or Adjust.

Examples of attribution models that can be configured with this engine include:

  • Last touch - 100% conversion credit is applied to the touch point immediately before the conversion event
  • First touch - 100% conversion credit is applied to the earliest occuring touch point
  • U-shaped - 40% conversion credit is given to both first and last touches, with the remaining 20% split across all others

๐Ÿง  For more information, Segment has written an article introducing the topic and the most common models.

Configuring the Engine โš™๏ธ

Instructions on how to configure the MTA Engine can be found here.

Engine Outputs ๐Ÿ”ฅ

The engine has two primary output models, attributed touches and attributed conversions.

  • attributed_touches contains all filtered touches (based on the touch rules) across all attribution models that have been attributed to a conversion. Where touches have been attributed, there will be a conversion_event_id for that touch_event_id, as well as a conversion share value if appropriate.
  • attributed_conversions is this inverse of the attributed touches and contains all filtered conversions (based on the conversion rules) across all attribution models, whether or not they have attributed to a touch. Each conversion_event_id may appear once all multiple times depending on the number of attributed touches. Where touch_event_id is null, this indicates that the conversion is unattributed. This is the model that should be used in downstream models to analyse attribution performance.

Performance Tracking ๐Ÿš€

Attribution is tricky and it's unlikely that optimal results will be achieved during the initial implementation of this engine - this is because the quality of the outputs are entirely dependent on the quality of the inputs along with tuning of the configurations. As such, a performance_history model has been added that will keep track of each time the attribution engine is run, and collect useful statistics that can help accelerate the implementation as well as monitor key metrics such as attribution rate.

Current Limitations โš ๏ธ

  • Handling conversion shares where the total number of touches is lower than the number of specs. For example, if there are only 2 touches but 3 attribution rule specs, then the total conversion shares will not sum to 100%. This needs to be accounted for when analysing the outputs.

Supported Data Warehouses

This package currently supports Snowflake and BigQuery targets.

Contact

This package has been written and is maintained by Tasman Analytics.

If you find a bug, or for any questions please open an issue on GitHub.

tasman-dbt-mta's People

Contributors

tomshelllby avatar jurrigerretsen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.