What Is the Data Science Lifecycle?
Every data science project — whether it ends in a one-page report or a production ML system serving millions of requests — passes through a recognizable sequence of activities: understanding the problem, acquiring and preparing data, exploring and modeling that data, and communicating results. The Cross-Industry Standard Process for Data Mining (CRISP-DM), first published in 1999 by a consortium of industrial practitioners, codifies this sequence into six named phases.
CRISP-DM is deliberately domain-agnostic. The same framework applies to a hospital predicting readmissions, a retailer forecasting inventory, and a streaming service recommending content. Its longevity — over two decades — is testament to how well it captures the universal shape of applied data work.
The Six Phases
1. Business Understanding
The project begins not with data but with questions. What decision will this analysis inform? Who makes that decision? What does success look like numerically? These questions must be answered before a single dataset is opened.
Key outputs of this phase: a written problem statement, a list of stakeholders and their objectives, preliminary success criteria, and a rough assessment of feasibility.
2. Data Understanding
Once the problem is framed, the team inventories available data sources and performs initial exploration. The goal is not to model anything yet — it is to discover what you actually have versus what you assumed you had. Common findings at this stage include missing historical periods, population shift between training and production environments, and proxies for protected attributes hiding in innocuous-sounding columns.
3. Data Preparation
This phase consistently consumes 60–80 % of calendar time on real projects. It encompasses cleaning, joining, filtering, transforming, and encoding data into a form suitable for analysis. The output is an analytic base table (ABT) — a single, flat, labeled dataset aligned to the unit of analysis (e.g., one row per customer-week).
4. Modeling
With a clean ABT in hand, the team selects candidate algorithms, engineers features, and evaluates models against held-out data. This phase is the most visible part of data science in popular culture yet typically represents a minority of total project effort.
5. Evaluation
Technical model performance is necessary but not sufficient. The evaluation phase asks: does the model actually address the original business objective? A classifier with 94 % accuracy on a 95 %-negative dataset may be entirely useless. The evaluation phase forces alignment between model metrics and business metrics.
6. Deployment
Results must reach decision-makers. Deployment ranges from a static PDF report to a real-time REST API. Monitoring, retraining schedules, and rollback procedures are all deployment concerns, even for low-stakes analytical projects.
The Cycle Is Iterative, Not Waterfall
CRISP-DM is frequently drawn as a circle, not a flowchart, for a reason. New information discovered during modeling (e.g., a key variable is defined inconsistently across data sources) routinely sends the team back to Business Understanding to renegotiate the problem scope. This is expected and healthy. Treating CRISP-DM as a strict waterfall — where phases are signed off and closed — is one of the most common ways mature-sounding projects still fail.
A practical habit: after every phase, write a one-paragraph "phase retrospective" noting what you learned that surprised you and what you would change about earlier phases if you were starting over. This single practice surfaces misalignment early and creates an audit trail for stakeholders.
Modern Variants
CRISP-DM is not the only lifecycle framework in use:
- TDSP (Team Data Science Process), developed at Microsoft, adds explicit roles, sprint-based cadences, and standardized artifact templates suited to enterprise teams.
- OSEMN (Obtain, Scrub, Explore, Model, iNterpret), popular in academic courses, is a lighter mnemonic useful for solo exploratory projects.
- MLOps lifecycles extend CRISP-DM with continuous training, feature stores, model registries, and A/B testing infrastructure suited to production ML systems.
For most practitioners, CRISP-DM is the right conceptual anchor and MLOps practices fill in the deployment phase as the project matures.
# A simple project-phase tracker — lightweight but surprisingly useful
import datetime
from dataclasses import dataclass, field
from typing import List, Optional
@dataclass
class PhaseLog:
phase: str
start_date: datetime.date
end_date: Optional[datetime.date] = None
surprises: List[str] = field(default_factory=list)
back_to: Optional[str] = None # which earlier phase did this send you to?
crisp_log = [
PhaseLog(
phase="Business Understanding",
start_date=datetime.date(2026, 1, 6),
end_date=datetime.date(2026, 1, 10),
surprises=["Stakeholders disagree on KPI definition"],
),
PhaseLog(
phase="Data Understanding",
start_date=datetime.date(2026, 1, 11),
surprises=["CRM data only goes back 18 months, not 3 years"],
back_to="Business Understanding",
),
]
for entry in crisp_log:
status = "ongoing" if entry.end_date is None else f"ended {entry.end_date}"
print(f"[{entry.phase}] {status}")
for s in entry.surprises:
print(f" SURPRISE: {s}")
if entry.back_to:
print(f" --> Revisiting: {entry.back_to}")