exploratory-data-analysis
Use when a dataset needs a first-pass inventory of distributions, concentrations, time patterns, and candidate next questions.
Exploratory Data Analysis
Purpose
Understand a dataset's structure, distributions, concentrations, and notable patterns before any hypothesis-driven analysis begins.
When to use
Use this skill when:
- a user shares a dataset with no specific analytical question ("analyze this CSV," "what's in here?")
- you need to understand what a dataset contains before choosing which analytical skill to apply
- the business context is unclear and the data itself needs to inform the direction
- a first look is needed to surface what questions the data is well-positioned to answer
When not to use
Do not use this skill when:
- the analytical question is already specific and well-framed - proceed directly to the relevant skill
- data quality has not yet been checked - run
data-quality-checkfirst if the dataset is new and untested
Required thinking discipline
- Describe first, conclude never. EDA surfaces patterns and candidate questions - it does not answer them.
- Do not force a narrative on the data. If nothing is surprising, say so.
- Surface concentrations and anomalies without explaining them - explanation requires hypothesis and evidence.
- End by recommending which analytical direction the data supports, not by stating what the data means.
- Evidence constraint: Every conclusion must cite specific data — a number, a rate, a segment, or a timeframe. Do not speculate without evidential basis. If data is insufficient, state what is missing rather than asserting an unsupported inference.
Workflow
-
Inventory: Record the dataset dimensions (row count, column count, time range if a time column exists, primary entity if identifiable). State what each column appears to represent.
-
Distribution summary:
- For numeric columns: range, approximate mean and median, skew direction, and whether extreme values exist.
- For categorical columns: cardinality (how many unique values), top 5 values and their share, and whether there is a long tail.
- Flag any column where one value dominates more than 80% of rows - this limits the column's usefulness for segmentation.
-
Time patterns (if a time column exists):
- Does the data show a trend (directional movement over time)?
- Are there periodic patterns (weekly, monthly, seasonal)?
- Are there gaps, spikes, or drops that stand out?
- What is the coverage period and grain?
-
Concentration analysis:
- Which entity, segment, or value drives the most volume? (e.g., top 10% of customers drive X% of revenue)
- Is the distribution highly skewed, or relatively flat?
- Are there meaningful clusters or natural breakpoints visible?
-
Co-movement check:
- Which numeric columns tend to move together across time or segments?
- Are there obvious correlations that suggest a relationship worth investigating?
- Note but do not explain - correlation here is a candidate for later investigation, not a finding.
-
Surface candidate questions: Based on what the data contains, list 3-5 specific analytical questions this dataset is well-positioned to answer. These become the input to the next analytical skill.
Output format
- Dataset inventory (dimensions, entity, time range)
- Key distributions by column type
- Time patterns (if applicable)
- Concentration summary
- Notable co-movements
- Anomalies or surprises observed
- Candidate analytical questions (3-5)
- Recommended next skill
Good example
Dataset: 12-month transaction file, 280,000 rows, columns: customer_id, order_date, product_category, revenue, country.
Inventory: 280K orders, 45K unique customers, Jan-Dec, daily grain. Distributions: revenue is right-skewed (median $42, mean $89, top 1% > $800); product_category has 6 values, with "Electronics" driving 54% of revenue; country has 23 values, with US + UK + DE covering 78%. Time patterns: clear weekly seasonality (Friday-Saturday peak), revenue spike in November (likely promotional), slight downward trend in Q4 excluding the November spike. Concentration: top 10% of customers by spend account for 61% of total revenue. Candidate questions: (1) What drives the revenue gap between top and mid-tier customers? (2) Is the November spike sustainable or driven by one-time promotions? (3) Is Electronics growth masking weakness in other categories? Recommended next skill: root-cause-analysis for Q4 trend, or cohort-retention to understand whether high-value customers are returning.
Bad example
Customers are spending more on Electronics than other categories, which suggests you should invest more in Electronics.
Why this is bad:
- it jumps from a distribution observation to a strategic recommendation without any causal evidence
- it does not account for margin, growth trend, or customer quality
- it presents EDA as a conclusion, not as a starting point
Practical notes
- EDA is the step between
data-quality-checkand a focused analytical skill. It does not replace either. - If no anomalies or patterns are visible, say so - "the data appears unremarkable along these dimensions" is a valid EDA output.
- For very large datasets, sample stratified subsets for distribution checks rather than trying to summarize every row.
- Do not over-interpret distributions - a right-skewed revenue distribution is nearly universal in transaction data and is not itself a finding.
Optional variants
- Time-series focused EDA: emphasize trend decomposition, seasonality detection, and anomaly flagging over static distributions.
- Customer dataset EDA: emphasize behavioral segmentation signals (recency, frequency, monetary), lifecycle stage distribution, and cohort diversity.
- Operations dataset EDA: emphasize process stage volumes, cycle time distributions, exception rates, and bottleneck indicators.