❄️🏂 In order to enable a data mesh and s better self-service of analytics, data teams should treat the data they collect as assets and the data they produce as products for each analytical use case (marketing, finance, product etc). In order to make these products consumable by any relevant 3rd party in the organization, these assets need to be well documented by their owners.
The goal of Snowboard is to become the repository of all the data knowledge of your organization. This knowledge is particularly useful to facilitate collaboration between data engineers, data analysts and business stakeholders who consume data. 🏂❄️
🏋️♂️ Investing time in setting up proper documentation processes will pay-off for the data team ten folds:
a) Make your company decision makers more confident with data.
b) Helping your stakeholders understand their dashboards, operations and data.
c) Save time aligning everyone on definition and metrics.
d) Onboard new joiners faster and save the knowledge of your experienced data wizards!
As a general rule we will follow a simple principle, when it comes to documentation we will start with stakeholders facing documentation as the goal is to give context for data consumers and we move upstream toward raw data.
📚 GLOSSARY:
I. PERMISSIONS AND SET-UP
- Grant permissions
- Run background jobs
II. DOCUMENTATION FOR CATALOGUE
A. GET STARTED
- Identify use case
- Create tags and properties
- Document business terms
- Document workbook and dashboard
- Document reporting tables
- Document databases and schemas
B. ITERATE OVER MORE USE CASES
III. OTHER TRUST FEATURES
- Data lineage
- Data freshness
IV. DEFINE METRICS
A. GET STARTED
- Identify use case
- Model metric
- Consume metrics
B. ITERATE OVER MORE USE CASES
V. QUESTIONS, FEEDBACK ON BUGS AND USABILITY
END
- Grant Snowflake permissions to Snowboard technical user.
- Run background jobs (in settings top right corner of the app, click on your name initial) for indexing existing assets (DBs, schemas, tables, columns in Snowflake) and extracting metadata (usage, freshness, size, lineage). [This can take up to 1 day depending on the size of the installation]
Outcome: Congratulations your assets are now indexed and discoverable in Snowboard!
-
Identify use case. Recommendation: for the first one chose an analytics use case critical for the organization (e.g. acquisition funnel for a B2C start-up). GOAL: build a target picture of who will benefit from documentation and what assets needs to be documented.
- Who are the stakeholders? (data producers and consumers: BI analysts responsible for e.g. marketing, marketing managers, marketing operation specialists)
- What are the dashboards? (e.g. marketing performance dashboards in Tableau or PowerBI for example)
- What are the concepts and definitions to document for people not familiar with the use case? (e.g. defining the stages of your funnel and what each conversion concretely means would help someone consuming dashboards)
- What are the underlying reporting tables on top of which dashboards should be built?
-
Create Tags and Properties. Here this depend a lot of your particular needs and documentation strategy but we recommend to use tags for lifecycle management of assets (asset: “approved”, “wip”, “deprecated”), critical information (”PII data” or “issue detected”), documentation steps (”to be documented”) and if you have domains exclusive to each other. (e.g. we have data coming from many disparate sources, data for “snowboard”, demo data of a ramen dealer shop “ramen”).
-
Document business terms definition. Create 3 important business terms. (see 1. d.)
-
Document one workbook and the dashboards within (related to use case). ****Document what analytical questions does this dashboard answer, and use #hashtags to reference business terms defined previously.
-
Document reporting tables underneath use case Tableau or PowerBI dashboards. If you want to enable good self service, these are the most important tables to document first. Data consumers need to understand what is the definition of each columns. The next natural step here is to select a table where complex business logic has been applied and document the result variables.
-
Document the database and schemas (related to use case) with at least 1 sentence describing the type of data that can be found and the purpose of the object (e.g. database: “contains data related to e-commerce shop”.) and who is the owner.
Outcome: Congratulations you have identified an analytical use case and documented it!
-
Explore data with table level lineage.
-
Where is the data coming from? Start on the workbook page of your BI tool. Go down to lineage. Press “Up +” button to see all tables upstream. Click on a table to jump to its catalogue page.
-
Where is this column coming from? Start on a table catalog page, take a variable in the list, click on the node icon next to a variable “completeness” and “monthly usage”. You have the column level lineage.
-
Which dashboard is built on this data? If I change this table which dashboard is impacted? Start from the catalog page of a table. Go to lineage. Click “Down -” to see all the downstream dependencies of a particular table. Click on a table to jump to its catalogue page.
-
How was this particular table on the lineage created? Hover an arrow between two tables and click on it. Here you have the sql that defined this table.
-
-
Assess freshness of tables
- Identify use case. We recommend to start with a simple metric like revenue.
- Who consume revenue as a metric?
- What does revenue mean exactly?
- Which system gives the data for revenue?
- What table should revenue be built upon?
- What time dimension do you want revenue to be calculated over?
- What other dimensions to you want to be able to slice and dice revenue with?
- What is the sql formula for revenue metric?
- Model a metric. Click on new metric on the top right corner. Fill above information.
-
Consume metrics from the store.
-
Consume metrics from Snowflake.
-
Consume metrics from Tableau/PowerBI.
Click the blue “feedback” button at the down right corner of your screen. You can take screenshots to point towards what is wrong.














