What Is a Data Product / Analytics Workflow?
Learning objective: define users, inputs, outputs, SLA/freshness, quality expectations, ownership.
Every month you manually run a notebook that produces a report your manager reads. Last month you were out, and a colleague had to take over with no idea which source file to use, where the output belongs, how often it should refresh, or who to call when something breaks. This analysis was never actually turned into a product, it only lived in your head and on your laptop. The first step toward a data product is not writing code; it is writing down the tacit knowledge: who uses this output, how fresh they expect it to be, what quality counts as trustworthy, and who is accountable for its correctness.
| Question | This course’s dataset answer |
|---|---|
| Who are the users? | Managers and business-unit contacts at the monthly operating review |
| What is the input? | The monthly analytics package: run_id, source_system, batch_id, event_time, ingested_at, entity_id, metric, value, schema_version |
| What is the output? | A monthly metric table aggregated by source_system and metric, with a verification record |
| Freshness expectation | Last month’s data completed by the third business day of the month |
| Owner | The person who maintains it, fixes bugs, and answers "where did this number come from?" |
import pandas as pd
# clean: monthly analytics package, one row is a metric observation for a source system, batch, and entity
df = pd.read_csv("DS301_Analytics_Package_Clean.csv", parse_dates=["event_time", "ingested_at"])
df.shape
df.dtypes
df[["run_id", "source_system", "batch_id", "metric", "value", "schema_version"]].head()
# Ask first: who owns this data? If schema_version changes, who needs to be told?
df["schema_version"].unique()One-off notebook
"I run a notebook and paste the result into a report." Nobody knows who runs it next, how stale the input has to be before it’s a problem, or what "good enough" output looks like.
Data product
- Users and purpose
- Write down who uses this output and what decision it supports.
- Input/output contract
- Explicitly define the input schema and the output format, location, and refresh cadence.
- Quality and owner
- Define what "trustworthy output" means, and who is accountable for correctness and for catching failures.
Info
- Only you know where to pull the raw data from, and the whole process lives in your head
- Nobody knows how often the output should refresh, and nobody checks whether it actually does
- "Is this number right?" can only be answered by the original author's word, with no verification record
- Running it on a different machine or by a different person fails outright because of paths or credentials
A monthly analytics notebook lives only on its author’s laptop, with nobody else aware of its input sources, refresh cadence, or quality bar. What is this analysis most fundamentally missing?