Data Science Starter · free course

Free course · Lesson 1 of 5

The Data Science Lifecycle

In this lesson you will

  • Describe the data science life cycle
  • Turn a vague request into a specific data question

Every data science project follows a standard lifecycle — a repeatable process that turns raw data into real-world insights. Understanding these phases is more important than any single tool, because it gives you a roadmap from question to decision.

  • Data Collection: Gather data from surveys, APIs, CSV files, or databases. In South Sudan, this might mean combining NGO program reports, mobile money logs, or health clinic records.
  • Data Cleaning: Handle missing values, remove duplicates, and fix inconsistencies. Real-world data is always messy — expect to spend 60-80% of your time here.
  • Exploration (EDA): Use summary statistics and visualizations to find patterns, outliers, and relationships. This guides what questions to ask next.
  • Modeling & Analysis: Apply statistical methods or machine learning to answer your question — whether that is forecasting, classification, or identifying trends.
  • Deployment & Reporting: Share findings through dashboards, reports, or interactive tools. Stakeholders need clear, actionable insights — not raw code.

Practical Skill: Use Jupyter Notebooks to document every step of the lifecycle. Each cell becomes a record of your thinking — great for collaboration and reproducibility. Export final results to Tableau Public for interactive dashboards.

Worked exampleData Pipeline Simulation

Python (Pandas simulation)

Python
# Simulating the Data Science Lifecycle with a dictionary pipeline          # You would normally load a real CSV with pd.read_csv()           # Step 1 & 2: Collect & Clean          raw_data = [              {"name": "Clinic A", "patients": 340, "staff": 5, "region": "Central"},              {"name": "Clinic B", "patients": 510, "staff": 8, "region": "Central"},              {"name": "Clinic C", "patients": None, "staff": 3, "region": "Equatoria"},  # missing value!              {"name": "Clinic D", "patients": 180, "staff": 2, "region": "Equatoria"},              {"name": "Clinic E", "patients": 620, "staff": 10, "region": "Central"},              {"name": "Clinic F", "patients": 280, "staff": None, "region": "Upper Nile"},  # missing value!          ]           # Remove rows with missing data (simple cleaning)          clean_data = [r for r in raw_data if r["patients"] and r["staff"]]          print(f"Loaded {len(raw_data)} records, cleaned to {len(clean_data)}")           # Step 3: Explore — calculate summary stats          total_patients = sum(r["patients"] for r in clean_data)          avg_patients = total_patients / len(clean_data)          print(f"Total patients across clinics: {total_patients}")          print(f"Average patients per clinic: {avg_patients:.0f}")           # Step 4 & 5: Insight & Report          print("\nInsight: Central region clinics see more patients on average.")          print("Recommendation: Allocate more staff to Equatoria clinics to improve coverage.")

Practice exercise

Rewrite 'Tell us about our clinic patients' as a specific data question linked to a decision, and list the data you would need.

Key takeaways

  • Start every analysis from a decision-linked question
  • Cleaning and communication take as much effort as analysis
  • An insight says what a result means for the decision
In the full program Module 1: The Data Science Process See how this topic is taught in depth, with practical activities and an assessment.

Free self-study lesson — no certificate. For the full instructor-led program, see registration options.