Exploratory Data Analysis Plan
Builds a rigorous EDA plan for a new dataset: data quality gauntlet first, then targeted hypotheses, with the exact plots and the traps each one hides.
Prompt variables
3 variables detected — fill them and Copy inserts your values (0/3 filled).
Create an exploratory data analysis plan for the dataset below. Order matters: quality checks before distributions, distributions before relationships, relationships before anything fancy.
**Dataset:** {{dataset_description}}
**Columns (name, type, meaning):** {{columns}}
**The question(s) motivating this analysis:** {{questions}}
**Phase 1 — Data quality gauntlet (do not skip to the fun part):**
For each column, the specific checks worth running given its type and meaning: missingness (and whether it's random or structured — missing-not-at-random changes everything), duplicates (define what a duplicate IS for this data), impossible values (negative ages, dates in the future, sums exceeding totals), unit inconsistencies, encoding artifacts. For THIS dataset specifically, list the 5 most likely data traps based on how data like this is usually collected.
**Phase 2 — Univariate profiles:** which plot per column and why (histogram vs. log-scale histogram vs. bar of top-k; when a boxplot misleads). What "normal" should look like and what would be a red flag.
**Phase 3 — Targeted bivariate/multivariate:** don't correlate everything with everything. From my motivating questions, derive 5–8 specific hypotheses ("X should rise with Y among Z"), and for each: the plot or statistic that tests it, the confounder most likely to fake the result, and how to check that confounder.
**Phase 4 — Temporal/segment sanity (if applicable):** distribution shift over time, before/after known events, per-segment consistency — the checks that catch "the pipeline changed in March" stories.
For every step: one line of code-level guidance (pandas/SQL) and the mistake people usually make there. End with: what findings would justify a deeper study vs. what would close the question.
Comments (0)