Back to Blog
Tutorial

Before You Build a Model: A First Exploratory Data Analysis, Step by Step

SkyTrainings TeamEditorial Team
7 September 2026
5 min read

You Got the CSV. Now What?


Someone hands you a customer file and asks why churn ticked up last quarter. There's no model to build yet, no target variable defined, not even agreement on what counts as "churned" in this particular dataset. This is where most data science work actually starts, and it's the part almost no bootcamp curriculum spends enough time on: opening a file you've never seen and figuring out what you can honestly claim about it.


Look at the Shape Before You Look for Answers


The first real step isn't statistical, it's almost clerical. How many rows, how many columns, what type is each column supposed to be versus what it actually contains. A "signup_date" column that loads as a string instead of a date, a "revenue" field with a stray currency symbol turning numbers into text, an age column with a maximum value of 214 — these show up in nearly every real dataset, not just the polished ones used in tutorials.


A first EDA pass, in order
  1. 1

    Structure

    Row and column counts, dtypes, and which columns don't match what they're supposed to hold

  2. 2

    Missingness

    Where values are absent, and whether that's random or means something (a null "cancel_date" often means "still active")

  3. 3

    Distributions

    Histograms and value counts per column, to catch skew, outliers, and impossible values before they reach a model

  4. 4

    Relationships

    Correlations and cross-tabs between the columns and whatever outcome you actually care about


Skipping straight to relationships, step four, before doing the first three, is how a data scientist ends up presenting a correlation caused by a data-entry bug to the exact stakeholder who's about to make a budget decision on it.


The Job Is Less "Model Building" Than the Postings Suggest


Where a data scientist's day actually goes (Anaconda, State of Data Science)

45%

Data loading and cleaning combined

21%

Data visualization

~12%

Model training alone — selection and deployment each take a similarly sized slice


That middle number surprises most career-changers. Machine learning gets the job title and the recruiting pitch. Cleaning and visualizing data is where most of the actual week goes, and for good reason: a model trained on data nobody looked at closely tends to fail in ways that are expensive to trace back later. Gartner's often-cited estimate puts the average cost of poor data quality at $12.9 million a year for a typical organization. That figure is from 2020, and data teams still quote it because nothing since has meaningfully knocked it down.


Two Missing Values Aren't the Same Kind of Missing


Take that null "cancel_date" from earlier. If it's null because the customer is still active, filling it with today's date or dropping the row both quietly corrupt the churn analysis you're trying to run. If it's null because a data sync failed, the fix is completely different: probably a join somewhere upstream that's silently dropping rows. The dtype-and-missingness pass exists specifically to force that distinction before anyone reaches for a fill-in-the-blanks function on autopilot.


A Notebook Isn't a Deliverable


Once a pattern is actually found, it has to reach someone who wasn't in the notebook with you, and a wall of dataframe output doesn't do that job.


Exploring vs. presenting the same data
01

Jupyter notebook

Fast iteration, messy by design, built for you to interrogate the data

02

Tableau or Power BI dashboard

Slower to build, curated on purpose, built for someone else to trust an answer


This is the part of a data science curriculum that surprises people who came in expecting pure statistics. A solid EDA finding can still die in a meeting if the chart behind it is a default scatter plot nobody in the room can read in ten seconds. Which visualization earns its place depends on the audience, not on which chart type happens to be most technically precise.


Simpson's Paradox Is Why Step One Matters


Here's a concrete trap worth building into a first project on purpose. Aggregate churn goes down overall, but it goes up in every individual region once you break the data apart. Both statements can be true at the same time, if the mix of customers across regions shifted between periods, and reporting only the aggregate number would tell a stakeholder close to the opposite of what's actually happening on the ground. Catching this means slicing the same number a few different ways before trusting it, which is exactly the discipline the structure-missingness-distributions-relationships sequence above is built to enforce.


Where to Start


Pick a dataset you don't already know the answer for. A rented-apartment listing dump, a public transit ridership file, anything with a genuine question attached to it works. Run the four-step pass on it. Then write the finding as if a stakeholder has to act on it tomorrow, not as a notebook cell that only makes sense to you.


SkyTrainings' Data Science, AI & ML program covers this exact sequence on real industry datasets, from statistics and wrangling through the Tableau and Power BI dashboards that make a finding usable by someone who wasn't in the room for it.

Data ScienceEDAStatisticsData VisualizationTutorial