Skip to content

Commit

Permalink
Prepare for release
Browse files Browse the repository at this point in the history
  • Loading branch information
agnessnowplow committed Jan 31, 2024
1 parent f6c729a commit 88c43b6
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 8 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @snowplow/com-snowplowanalytics-engineering-datavalue-integrations
6 changes: 3 additions & 3 deletions .github/workflows/publish-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
working-directory: ./integration_tests
strategy:
matrix:
dbt_version: ["1.6*"]
dbt_version: ["1.6.*"]
warehouse: ["snowflake"]


Expand Down Expand Up @@ -105,10 +105,10 @@ jobs:
run: |
dbt run-operation post_ci_cleanup --target ${{ matrix.warehouse }}
dbt seed --target ${{matrix.warehouse}} --full-refresh
dbt run --select snowplow_attribution_events_stg --full-refresh
dbt run --select snowplow_unified_events_stg spend_source --full-refresh
dbt run --select snowplow_unified --full-refresh --vars '{snowplow__allow_refresh: true}'
dbt run --select snowplow_attribution --full-refresh
dbt docs generate
dbt docs generate --vars '{snowplow__atomic_schema: "${{ matrix.warehouse }}_snplw_attribution_int_tests"}'
rm -f ../docs/catalog.json
rm -f ../docs/manifest.json
rm -f ../docs/run_results.json
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
with:
fallback: 0.0.1 # Optional fallback tag to use when no tag can be found
fallback: 0.1.0 # Optional fallback tag to use when no tag can be found

- name: Get tag and package versions
id: version
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ venv/
dbt-service-account.json
.vscode/settings.json
__pycache__
package-lock.yml
27 changes: 25 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
snowplow-attribution 0.1.0 (2023-xx-xx)
snowplow-attribution 0.1.0 (2024-01-31)
---------------------------------------
Add incremental model

## Summary
This is the first release of the Snowplow Attribution package, which contains incremental tables to prepare data for marketing attribution analysis as well as report tables which help you understand and visualize which channels or campaigns attributed the most to your revenue. It supports various attibution models out of the box, all in SQL.

## Features
- incremental dbt Package that produces tables for marketing attribution analysis
- Support for Snowflake / BigQuery / Databricks / Redshift

## Installation
To install the package, add the following to the `packages.yml` in your project:

### Github
```yml
packages:
- git: "https://github.com/snowplow/dbt-snowplow-attribution.git"
revision: 0.1.0
```
### dbt hub
Please note that it may be a few days before the package is available on dbt hub after the initial release.
```yml
packages:
- package: snowplow/snowplow_attribution
version: [">=0.1.0", "<0.2.0"]

2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to `dbt-snowplow-*`

`dbt-snowplow-*` are open source software. This means not only is the code available for you to view in it's entirety, but that you can contribute to the package in a multitude of ways. Whether you are a seasoned open source contributor or a first-time committer, we welcome and encourage you to contribute code (via Pull Request), documentation (via our docusaurus site), ideas (via Discussions for larger ideas, or issues for specific feature requests), or reporting bugs (via issues) to this project. Remember, fixing a typo makes you an Open Source Contributor. You can also contribute via topics on our [Discourse](https://discourse.snowplow.io/).
Whether you are a seasoned open source contributor or a first-time committer, we welcome and encourage you to contribute code (via Pull Request), documentation (via our docusaurus site), ideas (via Discussions for larger ideas, or issues for specific feature requests), or reporting bugs (via issues) to this project. Remember, fixing a typo makes you an Open Source Contributor. You can also contribute via topics on our [Discourse](https://discourse.snowplow.io/).

Before you start a load of work, please note that all Pull Requests (apart from cosmetic fixes like typos) should be associated with an issue that has been approved for development by a maintainer. This is to stop you doing lots of development that may not be accepted into the package for a variety of reasons. Make sure to either [raise an issue](/../../issues/new) yourself or look at the existing issues before starting any development.

Expand Down
73 changes: 72 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,73 @@
[![early-release]][tracker-classification] [![License][license-image]][license] [![Discourse posts][discourse-image]][discourse]

![snowplow-logo](https://raw.githubusercontent.com/snowplow/dbt-snowplow-utils/main/assets/snowplow_logo.png)

# dbt-snowplow-attribution
An incremental dbt package revolving around marketing attribution analysis
This dbt package:


Please refer to the [doc site](https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-models/dbt-attribution-data-model/) for a full breakdown of the package.

Please note that this data model is under the Snowplow Personal & Academic License (SPAL). For further details please refer to our [documenation site](https://docs.snowplow.io/docs/contributing/personal-and-academic-license-faq/).

### Getting Started

The easiest way to get started is to follow our [QuickStart guide](https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-quickstart/attribution/).

### Adapter Support

The current version of the snowplow-attribution package supports Snowflake, BigQuery, Databricks & Redshift, however, please note that the package is currently in public preview state.

### Requirements

In addition to dbt being installed and a web events dataset being available in your database:

- have the `snowplow_unified_views` table available as a path (touch points) source (generated by the [snowplow_unified](https://github.com/snowplow/dbt-snowplow-unified) package)
- have the `snowplow_unified_conversions` table available as a conversions source including the revenue (generated by the optional conversions module of the snowplow_unified package)
- optionally have a `spend source` table of your choice available which will contain your marketing spend data by channel and or campaign with a timestamp field which denotes the period. This is needed for the ROAS calculation for the drop and recompute report table
- dbt-core version 1.6.0 or greater

### Installation

Check [dbt Hub](https://hub.getdbt.com/snowplow/snowplow_attribution/latest/) for the latest installation instructions.

### Configuration & Operation

Please refer to the [doc site](https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/) for details on how to [configure](https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-configuration/attribution/) and [run](https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-quickstart/attribution/) the package.

### Models

This package consists of a series of dbt models that produce the following tables:

`snowplow_attribution_paths_to_conversion`: Customer id and the paths the customer has followed that have lead to conversion
`snowplow_attribution_campaign_attributions`: By campaign path and conversion level incremental table that attributes the conversion value based on various algorithms
`snowplow_attribution_channel_attributions`: By channel path and conversion level incremental table that attributes the conversion value based on various algorithms
`snowplow_attribution_overview`: The user defined report view (potentially showing ROAS)
`snowplow_attribution_path_summary`: For each unique path, a summary of associated conversions, optionally non-conversions and revenue
`snowplow_attribution_paths_to_non_conversion`: Customer id and the the paths the customer has followed that have not lead to conversion. Optional drop and recompute table, disabled by default.

Please refer to the [dbt doc site](https://snowplow.github.io/dbt-snowplow-attribution/#!/overview/snowplow_attribution) for details on the model output tables.

# Join the Snowplow community

We welcome all ideas, questions and contributions!

For support requests, please use our community support [Discourse][discourse] forum.

If you find a bug, please report an issue on GitHub.

# Copyright and license

The snowplow-attribution package is Copyright 2024-present Snowplow Analytics Ltd.

This distribution is all licensed under the [Snowplow Personal and Academic License][license] . (If you are uncertain how it applies to your use case, check our answers to [frequently asked questions](https://docs.snowplow.io/docs/contributing/personal-and-academic-license-faq/).)

[license]: https://docs.snowplow.io/personal-and-academic-license-1.0/
[license-image]: http://img.shields.io/badge/license-Snowplow--Personal--and--Academic--1-blue.svg?style=flat
[tracker-classification]: https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/tracker-maintenance-classification/
[early-release]: https://img.shields.io/static/v1?style=flat&label=Snowplow&message=Early%20Release&color=014477&labelColor=9ba0aa&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAeFBMVEVMaXGXANeYANeXANZbAJmXANeUANSQAM+XANeMAMpaAJhZAJeZANiXANaXANaOAM2WANVnAKWXANZ9ALtmAKVaAJmXANZaAJlXAJZdAJxaAJlZAJdbAJlbAJmQAM+UANKZANhhAJ+EAL+BAL9oAKZnAKVjAKF1ALNBd8J1AAAAKHRSTlMAa1hWXyteBTQJIEwRgUh2JjJon21wcBgNfmc+JlOBQjwezWF2l5dXzkW3/wAAAHpJREFUeNokhQOCA1EAxTL85hi7dXv/E5YPCYBq5DeN4pcqV1XbtW/xTVMIMAZE0cBHEaZhBmIQwCFofeprPUHqjmD/+7peztd62dWQRkvrQayXkn01f/gWp2CrxfjY7rcZ5V7DEMDQgmEozFpZqLUYDsNwOqbnMLwPAJEwCopZxKttAAAAAElFTkSuQmCC
[tracker-docs]: https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/
[webpage-context]: https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/javascript-tracker/javascript-tracker-v3/tracker-setup/initialization-options/#adding-predefined-contexts
[dbt-package-docs]: https://docs.getdbt.com/docs/building-a-dbt-project/package-management
[discourse-image]: https://img.shields.io/discourse/posts?server=https%3A%2F%2Fdiscourse.snowplow.io%2F
[discourse]: http://discourse.snowplow.io/

0 comments on commit 88c43b6

Please sign in to comment.