Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
fabioc-aloha avatar

Data Analysis

  • 1 installs
  • 3 repo stars
  • Updated August 5, 2026
  • fabioc-aloha/alex_skill_mall

Runs an exploratory data analysis pipeline (profiling, distributions, correlations, segmentation, anomaly detection) and translates statistics into business-language insights.

About

Covers the full EDA pipeline from profiling and distributions to correlations, anomaly detection, and narrative insight extraction. Analysts use it to turn raw datasets into business-language findings tagged for downstream visualization.

  • Full EDA workflow with anomaly detection
  • Translates statistics into tagged narrative insights

Data Analysis by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,803 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/fabioc-aloha/alex_skill_mall --skill data-analysis

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars3
Last updatedAugust 5, 2026
Repositoryfabioc-aloha/alex_skill_mall

What it does

Runs an exploratory data analysis pipeline (profiling, distributions, correlations, segmentation, anomaly detection) and translates statistics into business-language insights.

Files

SKILL.mdMarkdownGitHub ↗

Data Analysis

PropertyValue
DomainData Analytics
CategoryAnalysis & Insight Extraction
ComponentsSKILL.md + data-analysis.instructions.md + analyze.prompt.md
Dependsdata-visualization (chart output), data-ingest.cjs (ingestion)

Overview

Turn raw data into actionable insight statements. This skill covers the full EDA pipeline: profiling the dataset, exploring distributions, finding correlations, detecting anomalies, and -- critically -- translating statistical findings into business-language narratives tagged with story intents for downstream visualization.

The cardinal rule: statistics are not insights. "Mean revenue is $4.2M" is a statistic. "Revenue grew 34% YoY but growth is decelerating -- Q3 peak was 8% vs. 22% last year" is an insight.

Module 1: Data Profiling

First pass on any dataset. Compute before exploring.

MetricWhat It Tells YouRed Flag
Row countDataset scale<100 rows limits statistical power
Column countDimensionality>50 columns suggests feature bloat
Null percentageData completeness>20% nulls in key column = unreliable
Unique countCardinalityUnique count = row count → likely ID
Type inferenceString/number/date/booleanMixed types in same column = dirty
Memory estimateProcessing feasibility>500MB warns for browser context
Duplicate rowsData quality>1% duplicates needs dedup decision

Profiling Output Template

Dataset: {name} ({rowCount} rows x {colCount} columns)
Source:  {source} | Format: {format} | Encoding: {encoding}

Column Summary:
  {name}: {type} | {nullPct}% null | {uniqueCount} unique | min={min} max={max} mean={mean}
  ...

Quality Score: {score}/100
  - Completeness: {completeness}% (columns with <5% nulls)
  - Consistency: {consistency}% (columns with single type)
  - Uniqueness: {uniqueness}% (no unexpected duplicates)

Warnings:
  - Column "X" has 23% nulls -- consider imputation or exclusion
  - Column "Y" has mixed types (78% number, 22% string) -- needs cleaning

Module 2: Descriptive Statistics

What to compute first for every numeric column.

StatisticWhen It Matters
Mean vs. MedianIf mean >> median, right-skewed (outliers pull up)
Standard DevSpread -- is the data tight or dispersed?
Min / MaxRange -- any impossible values?
PercentilesP25, P50, P75 -- where does the bulk sit?
Skewness>1 or <-1 suggests non-normal distribution
Kurtosis>3 = heavy tails (more outliers than expected)

Rule of Thumb: Mean vs. Median

  • If |mean - median| / median > 0.1 (10%), report median as the "typical" value
  • Always report both -- the gap itself is an insight

Module 3: Distribution Analysis

ShapeWhat It SuggestsStory Intent
NormalStable process, predictableDistribution
Right-skewedMany small values, few large (income)Deviation
Left-skewedMost values high, some low (test scores)Deviation
BimodalTwo populations mixed togetherCompare (groups)
UniformNo pattern -- random or categorical codesNone (check)
Power lawFew items dominate (Pareto, web traffic)Part-to-Whole

Normality Quick Check

1. Compare mean to median (>10% gap = non-normal) 2. Check skewness (|skew| > 1 = non-normal) 3. If important: Shapiro-Wilk test (n < 5000) or Anderson-Darling

Module 4: Correlation & Relationship

| Strength | |r| Range | Interpretation | | -------- | ----------- | --------------------------- | | Strong | 0.7 -- 1.0 | Likely meaningful | | Moderate | 0.4 -- 0.7 | Worth investigating | | Weak | 0.1 -- 0.4 | Unlikely actionable alone | | None | < 0.1 | No linear relationship |

Simpson's Paradox Awareness

Always check: does the correlation reverse when you split by a categorical variable?

Overall: Ad spend positively correlates with sales (+0.6)
By region: In 3 of 4 regions, correlation is NEGATIVE
Cause: High-spend region has higher baseline sales (confound)

Rule: If a strong correlation exists, segment by the top 2-3 categorical variables and re-check.

Module 5: Segmentation

Group-by patterns for discovering sub-populations.

TechniqueWhen to UseOutput
Group-by aggregateCategorical × numericSegment averages
Percentile bucketsContinuous variable, create tiersLow/Mid/High
RFM analysisCustomer behavior (recency, freq, $)Customer segments
Cohort analysisTime-based grouping (signup month)Retention curves
Cross-tabulationTwo categorical variablesContingency table

"So What?" for Segments

For each segment found, answer: "If I could only act on ONE segment, which one and why?"

Module 6: Time-Series Decomposition

ComponentWhat It IsDetection
TrendLong-term directionRolling average (window = period)
SeasonalityRepeating pattern at fixed intervalsAutocorrelation at lag = period
ResidualWhat's left (noise + anomalies)Original - trend - seasonality

Rolling Average Windows

Data FrequencyWindow
Daily7 or 30
Weekly4 or 13
Monthly3 or 12
Quarterly4

Module 7: Anomaly Detection

MethodBest ForThreshold
Z-scoreNormal-ish distributions
IQR fenceSkewed distributions< Q1-1.5×IQR or > Q3+1.5×IQR
IsolationMultivariate outliersScore > 0.7 (heuristic)
VisualAny -- always plot firstInspect scatter/box

Anomaly Protocol

1. Detect and flag -- never auto-remove 2. Investigate: is it a data error, a real outlier, or a different population? 3. Document the decision: kept (real), removed (error), or separated (sub-population)

Module 8: "So What?" Translation (DIKW)

The most important module. Convert statistics into business language.

LevelExample (Bad)Example (Good)
Data"Column revenue has 5000 values"(Don't report raw data)
Information"Mean revenue is $4.2M""Average quarterly revenue is $4.2M across 8 quarters"
Knowledge"Revenue has a positive trend""Revenue grew 34% YoY but growth rate decelerated from 22% to 8%"
Wisdom(Requires domain context)"Growth is decelerating -- if Q3 seasonal effect weakens, plan for flat"

Insight Statement Template

[WHAT]: {metric} is {value/behavior}
[SO WHAT]: This means {business implication}
[NOW WHAT]: Consider {action or follow-up question}
[STORY INTENT]: {compare|trend|deviation|distribution|relationship|part-to-whole|flow|hierarchy|spatial}
[CHART]: {recommended chart type} because {rationale}

Example Insight Statements

[WHAT]: California's population (39M) is 5x the median state (7.5M)
[SO WHAT]: Resource allocation models using state averages will dramatically under-serve CA
[NOW WHAT]: Segment by population tier, not just state count
[STORY INTENT]: Compare
[CHART]: Horizontal bar (sorted descending) because ranking 50 items with long labels

[WHAT]: Support ticket resolution time has a bimodal distribution (peaks at 2h and 48h)
[SO WHAT]: Two distinct processes exist -- quick fixes and escalated investigations
[NOW WHAT]: Separate the two populations before setting SLA targets
[STORY INTENT]: Distribution
[CHART]: Histogram with two highlighted peaks, or violin plot for visual impact

Module 9: Hypothesis Framework

Structured approach to moving from observation to testable claim.

StepAction
ObserveNote a pattern in the data
HypothesizeState a testable claim ("X causes Y because Z")
TestCheck against data (filter, segment, correlate)
ConcludeSupported, refuted, or inconclusive
NarrateWrite the finding as an insight statement

Anti-Patterns

Anti-PatternProblemFix
Reporting stats onlyNo business meaningAlways add "so what?"
Correlation = causationMisleading conclusionsCheck for confounders, state "correlates"
Ignoring base ratesPercentages without contextAlways report denominator
Survivorship biasOnly analyzing what's visibleAsk "what's missing from this data?"
Over-aggregationHiding variation with averagesShow distribution, not just mean
Premature optimizationJumping to solutions before understandingComplete the EDA before recommending action

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.