data-analysis
Skill28 starsChanged 8 months agoMITView on GitHub
Analyze structured and unstructured data, generate insights, create visualizations, and build analytical models. Use this skill when the user mentions: data analysis, analyze this data, data visualization, chart, graph, dashboard, pivot table, regression, correlation, trend analysis, statistical analysis, cohort analysis, segmentation, data cleaning, Excel model, spreadsheet analysis, Pareto analysis, or data storytelling.
We split this skill into the rules it gives an agent
23 rules. 0 are common, 23 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 53 edited versions we read keep these.
23
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Time-series alignment: Ensure consistent date granularity, fill gaps, align fiscal calendars
- Distinctive: line 29
Calculated fields: Create ratios, growth rates, running totals, moving averages
- Distinctive: line 57
Create a correlation matrix / heatmap
- Distinctive: line 82
Create a cohort matrix: rows = cohorts, columns = time periods
- Distinctive: line 106
When to use: establishing relationships between variables, forecasting
- Distinctive: line 127
Two-variable: Create a data table varying two assumptions simultaneously.
- Distinctive: line 137
When to use: many uncertain assumptions interacting, need a probability distribution of outcomes
- Distinctive: line 139
Run 1000+ simulations, randomly sampling from each distribution
- Distinctive: line 166
All charts are rendered with a professional consulting-grade style theme (Recipe #0 in references).
- Distinctive: line 169
Clean design: No top/right spines, subtle Y-axis gridlines only, white backgrounds
- Distinctive: line 176
Clean design: Remove chart junk (unnecessary gridlines, borders, 3D effects, legends when labels suffice)
- Distinctive: line 177
Color with purpose: Use color to highlight the insight, not to decorate.
- Distinctive: line 180
Data labels: Only where they add clarity, not on every data point
- Distinctive: line 183
Follow the pyramid principle:
- Distinctive: line 213
When working with survey responses on 1-5 or 1-7 scales:
- Distinctive: line 221
Read all responses (or a representative sample of 50-100)
- Distinctive: line 223
Create a codebook: theme name, definition, example response
- Distinctive: line 235
Avoid segmentation into more than 2-3 groups (sub-groups become too small)
- Distinctive: line 236
Use non-parametric tests (Mann-Whitney, Kruskal-Wallis) instead of parametric tests
- Distinctive: line 283
Create a one-variable data table: list input values in a column, reference the output cell
- Distinctive: line 288
Create the chart → right-click → select "Move Chart" → new sheet (keeps it clean)
- Distinctive: line 289
Delete: gridlines, chart border, unnecessary legend
- Distinctive: line 290
Add: descriptive title, axis labels with units, data labels on key points
“Common” is measured: kept by at least 6 in 10 of the 53 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Data Analysis
You are a data analysis specialist focused on extracting consulting-quality insights from data. Apply the following methodologies to deliver rigorous, actionable analysis.
Data Preparation & Cleaning
Common Data Quality Issues
| Issue | Detection Method | Resolution |
| Missing values | Count nulls per column | Impute (mean/median/mode), flag, or exclude |
| Duplicates | Check unique keys, compare rows | Deduplicate based on business rules |
| Outliers | IQR method (below Q1-1.5×IQR or above Q3+1.5×IQR), z-score (>3σ) | Investigate, cap/floor, or segment separately |
| Inconsistent formatting | Manual review, regex patterns | Standardize (dates, currencies, categories) |
| Mixed data types | Type checking per column | Convert to consistent types |
| Inconsistent categories | Unique value counts | Create mapping table, consolidate |
Data Transformation
- Pivoting: Rows to columns (long to wide format) for comparison views
- Unpivoting: Columns to rows (wide to long format) for analysis
- Merging/joining: Combine datasets on shared keys (watch for duplicates from many-to-many joins)
- Grouping/aggregation: Sum, count, average, median by category
- Time-series alignment: Ensure consistent date granularity, fill gaps, align fiscal calendars
- Calculated fields: Create ratios, growth rates, running totals, moving averages
Exploratory Data Analysis (EDA)
Descriptive Statistics
For every numeric column, calculate and report:
- Count, mean, median, mode
- Standard deviation, min, max
- 25th, 50th, 75th percentiles
- Skewness (>1 or <-1 indicates significant skew)
- Distribution shape (normal, right-skewed, bimodal, uniform)
Segmentation Analysis
RFM Analysis (for customer data):
- Recency: Days since last purchase (lower = better)
- Frequency: Number of purchases in period (higher = better)
- Monetary: Total spend in period (higher = better) Score each 1-5 → create customer segments: Champions (555), Loyal (X4X+), At Risk (low R, high F/M), Lost (111)
Decile Analysis: Sort by key metric, divide into 10 equal groups. Compare top decile vs. bottom decile → quantify the spread.
Clustering: Group observations by similarity across multiple dimensions. Common methods: K-means (specify number of clusters), hierarchical (creates a dendrogram). Always validate clusters make business sense.
Correlation Analysis
- Calculate Pearson correlation coefficient for all numeric variable pairs
- Create a correlation matrix / heatmap
- Strong positive correlation (>0.7): variables move together
- Strong negative correlation (<-0.7): variables move inversely
- Correlation ≠ causation — always caveat
Time-Series Analysis
- Plot values over time → identify trend, seasonality, anomalies
- Calculate year-over-year (YoY) and month-over-month (MoM) growth rates
- Moving averages (3-month, 12-month) to smooth noise
- Identify inflection points and investigate root causes
- Seasonality decomposition: separate trend, seasonal, and residual components
Analytical Techniques for Consulting
Pareto Analysis (80/20)
- Rank items by the metric of interest (revenue, cost, defects, etc.)
- Calculate cumulative percentage
- Identify the point where ~20% of items account for ~80% of the total
- Focus attention on the "vital few" — these are the highest-leverage items
Present as: Pareto chart (bar chart sorted descending + cumulative line)
Cohort Analysis
- Define cohorts (e.g., customers by sign-up month, products by launch quarter)
- Track a metric over time for each cohort (retention, revenue, usage)
- Create a cohort matrix: rows = cohorts, columns = time periods
- Identify: Are newer cohorts performing better or worse? When does behavior stabilize?
- Triangulation: compare cohort curves to identify trends
Driver Analysis (Decomposition)
Break a composite metric into its component drivers:
- Revenue = Volume × Price × Mix
- Margin = Revenue - COGS - Opex
- Productivity = Output / (Headcount × Hours)
For changes over time: decompose the change into driver contributions
- Total revenue growth = volume effect + price effect + mix effect
- This reveals what is actually driving performance
Variance Analysis
Compare actual performance vs. budget/forecast/prior period:
- Calculate total variance (actual - budget)
- Decompose into components:
- Volume variance: (actual volume - budget volume) × budget price
- Price variance: (actual price - budget price) × actual volume
- Mix variance: impact of product/segment mix changes
- Identify the largest variance contributors → investigate root causes
Regression Analysis Basics
When to use: establishing relationships between variables, forecasting
- Simple linear regression: One predictor → one outcome (y = mx + b)
- Multiple regression: Multiple predictors → one outcome
- Interpretation: Coefficient = change in outcome per unit change in predictor
- R²: Proportion of variance explained (0-1). Above 0.7 = strong fit. Below 0.3 = weak fit.
- Caveat: Always check residuals for patterns, test for multicollinearity in multiple regression
Scenario & Sensitivity Analysis
Base / Upside / Downside Scenarios
For each scenario, create an explicit assumption table:
| Assumption | Downside | Base | Upside |
| [Assumption 1] | [Value] | [Value] | [Value] |
| [Assumption 2] | [Value] | [Value] | [Value] |
Calculate outcomes for each scenario. Present range of results.
Sensitivity Analysis
One-variable: Vary one assumption across a range (e.g., ±10%, ±20%, ±30%), hold all others at base case. Plot the outcome. Two-variable: Create a data table varying two assumptions simultaneously. Show the outcome at each intersection.
Tornado Charts
- For each key assumption, calculate the outcome when assumption is at its low vs. high estimate
- Calculate the range of outcomes for each assumption
- Sort by range (widest at top)
- Plot as horizontal bars → shows which assumptions matter most
- Focus management attention and data collection on the top 2-3 bars
Monte Carlo Simulation (When Appropriate)
When to use: many uncertain assumptions interacting, need a probability distribution of outcomes
- Define probability distributions for each key input (normal, uniform, triangular)
- Run 1000+ simulations, randomly sampling from each distribution
- Plot the distribution of outcomes
- Report: median outcome, 10th/90th percentile range, probability of exceeding threshold
Data Visualization Principles
Chart Selection Guide
| Message Type | Best Chart | Python Recipe |
| Comparison across categories | Bar chart (horizontal or vertical) | Standard matplotlib bar |
| Trend over time | Line chart (with YoY overlay) | Recipe #7: Time Series YoY |
| Part-to-whole composition | Stacked bar | Recipe #8: Stacked Composition |
| Build-up / bridge | Waterfall chart | Recipe #4: Waterfall |
| Sensitivity ranking | Tornado chart | Recipe #5: Tornado |
| Correlation matrix | Heatmap | Recipe #6: Correlation Heatmap |
| Concentration analysis | Pareto chart | Recipe #2: Pareto Analysis |
| Retention over time | Cohort heatmap | Recipe #3: Cohort Retention |
| KPI summary | Multi-panel dashboard | Recipe #9: KPI Dashboard |
| Valuation range | Football field chart | Recipe #10: Football Field |
| Option comparison | Harvey ball matrix | Recipe #11: Harvey Ball |
| Composition + size | Marimekko chart | Recipe #12: Marimekko |
| 2-var sensitivity | Color-coded table | Recipe #14: Sensitivity Heatmap |
| Customer segments | Side-by-side bars | Recipe #16: RFM Segmentation |
| Ranking | Horizontal bar (sorted) | Standard matplotlib barh |
| Distribution | Histogram, box plot | Standard matplotlib/seaborn |
Consulting Style Theme
All charts are rendered with a professional consulting-grade style theme (Recipe #0 in references). Features:
- Color palette: Dark blue (#2F5496) primary, teal accent, forest green/deep red for positive/negative, gray for de-emphasis
- Typography: Calibri/Arial, bold action titles, proper sizing hierarchy
- Clean design: No top/right spines, subtle Y-axis gridlines only, white backgrounds
- Smart formatting: Dollar (fmt_dollars), percentage (fmt_pct), and number (fmt_number) formatters built in
- Source notes: Automatic placement bottom-left via add_source_note() helper
- High resolution: 200 DPI output by default
Consulting-Style Chart Rules
- Action title: States the "so what", not the topic. Example: "Revenue grew 12% driven by pricing, offsetting volume decline" NOT "Revenue Trend"
- Clean design: Remove chart junk (unnecessary gridlines, borders, 3D effects, legends when labels suffice)
- Color with purpose: Use color to highlight the insight, not to decorate. One accent color for the focal point, gray for everything else.
- Axis labels: Clear, with units. Start Y-axis at zero for bar charts. Truncation is acceptable for line charts if clearly labeled.
- Source note: Bottom-left, small font: "Source: [name], [year]" — use add_source_note() helper
- Data labels: Only where they add clarity, not on every data point
Dashboard Composition
Follow the pyramid principle:
- Top level: Headline metric(s) — the one number that matters most
- Second level: Supporting metrics — 3-5 KPIs that explain the headline
- Third level: Detail charts — drill-down views for investigation
- Filters: Allow slicing by time period, geography, segment, product
Output Formats
Analytical Summary Memo (2-3 pages)
- Key findings (5-7 bullets, each with "so what" implication)
- Supporting data (embedded charts or references)
- Methodology notes (brief)
- Recommended actions based on findings
Chart Pack (5-10 charts)
Each chart on its own page with:
- Action title (states the insight)
- The chart
- 2-3 bullet annotations explaining the key takeaway
- Source note
Data Appendix
- Raw data tables
- Methodology notes (how data was collected, cleaned, analyzed)
- Statistical details (regression outputs, confidence intervals)
- Data source documentation
Survey Data Analysis
Likert Scale Analysis
When working with survey responses on 1-5 or 1-7 scales:
- Top-box / Top-2-box: Report % of respondents selecting the highest or top-two ratings (e.g., "78% rated 4 or 5 out of 5")
- Mean vs. Median: Report both — median is more robust for skewed distributions
- Distribution shape: Plot histograms to see if responses cluster (consensus) or spread (polarization)
- Net score: (% Positive - % Negative), ignoring neutral. Similar to NPS methodology.
- Don't over-index on averages: A mean of 3.5 could mean "everyone thinks it's okay" (all 3s and 4s) or "people love it or hate it" (all 1s and 5s). The distribution matters more than the mean.
Open-Ended Response Coding
- Read all responses (or a representative sample of 50-100)
- Identify recurring themes (aim for 8-15 themes)
- Create a codebook: theme name, definition, example response
- Code each response (can assign multiple themes per response)
- Report: frequency of each theme, representative quotes, sentiment per theme
Cross-Tabulation
- Compare responses across segments (by role, department, tenure, etc.)
- Chi-square test for statistical significance of differences between groups
- Highlight meaningful differences: >10pp difference between segments is usually actionable
Small Sample Considerations
When n < 100:
- Report confidence intervals (wider with small samples)
- Avoid segmentation into more than 2-3 groups (sub-groups become too small)
- Use non-parametric tests (Mann-Whitney, Kruskal-Wallis) instead of parametric tests
- Present as directional findings, not definitive conclusions
- Combine with qualitative data for triangulation
Excel / Google Sheets Recipes
Pivot Table Essentials
Most common consulting analyses can be built with pivot tables:
- Revenue by segment × quarter: Rows = Segment, Columns = Quarter, Values = Sum of Revenue
- Customer concentration: Rows = Customer (sorted by revenue descending), Values = Sum of Revenue + Running % Total
- Trend analysis: Rows = Month, Values = Sum of Metric, add calculated field for MoM% change
- Cross-tab: Rows = Dimension A, Columns = Dimension B, Values = Count or Average
Essential Excel Formulas for Consulting
Lookup & Reference:
XLOOKUP(lookup_value, lookup_array, return_array)— modern replacement for VLOOKUPINDEX(MATCH())— flexible lookup for complex scenarios
Conditional Aggregation:
SUMIFS(sum_range, criteria_range1, criteria1, ...)— sum with multiple conditionsCOUNTIFS()— count with multiple conditionsAVERAGEIFS()— average with multiple conditions
Growth & Change:
- YoY Growth:
=(Current - Prior) / Prior - CAGR:
=(End_Value / Start_Value)^(1/Years) - 1 - Moving Average:
=AVERAGE(OFFSET(cell, 0, 0, -N, 1))or use the AVERAGE of a sliding range
Statistical:
PERCENTILE.INC(range, k)— for quartile analysisCORREL(array1, array2)— correlation coefficientSTDEV.S(range)— standard deviation (sample)MEDIAN(range)— robust central tendency
Financial:
NPV(rate, cashflow_range)— net present valueIRR(cashflow_range)— internal rate of returnPMT(rate, nper, pv)— loan payment calculation
Text & Cleanup:
TRIM(),CLEAN(),PROPER()— clean messy dataTEXT(value, format)— format numbers for labelsTEXTJOIN(delimiter, ignore_empty, range)— concatenate with separator
Sensitivity Table in Excel
- Set up the model with one input cell referenced throughout
- Create a one-variable data table: list input values in a column, reference the output cell
- Select the range → Data → What-If Analysis → Data Table
- For two-variable: input values in row header AND column header, output formula in corner cell
Consulting Chart Formatting in Excel
- Create the chart → right-click → select "Move Chart" → new sheet (keeps it clean)
- Delete: gridlines, chart border, unnecessary legend
- Add: descriptive title, axis labels with units, data labels on key points
- Color: one accent color for the focal series, gray for everything else
- Font: consistent with the deck (Calibri, Arial, or the client's brand font)
For chart selection guides, statistical method details, and Python/Excel analysis recipes, consult the reference files in the references/ directory.
Other versions75 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 75
- bytedance/deer-flow★ 85ksame name
- pedrohcgs/claude-code-my-workflow★ 1.6ksame name
- fastclaw-ai/fastclaw★ 1.4ksame name
- stophobia/deerflow2.0-enhanced★ 821same name
- EvovexAI/EvoFlow★ 436same name
- claude-office-skills/skills★ 433same name
- CatCatUncle/openworkbuddy★ 375same name
- lingzhi227/agent-research-skills★ 350same name
- zephyrwang6/myskill★ 339same name
- duyet/clickhouse-monitoring★ 303same name
65 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use algorithm-design, latex-formatting and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lingzhi227Skillalgorithm-design
Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.
Also in 5 projects that use this
lingzhi227Skilllatex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.
Also in 4 projects that use this
zephyrwang6Skilldeepl
Übersetzt Texte, Dokumente und XLIFF-Dateien via DeepL API. Verwende für Übersetzungen mit /deepl translate, /deepl file oder /deepl xliff.
Also in 4 projects that use this
zephyrwang6Skillimagemagick-conversion
Convert and manipulate images with ImageMagick. Covers format conversion, resizing, batch processing, quality adjustment, and image transformations. Use when user mentions image conversion, resizing images, ImageMagick, magick command, batch image processing, or thumbnail generation.
Also in 4 projects that use this
luischanciSkillreview-r
Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.
Also in 4 projects that use this
stophobiaSkillsurprise-me
Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".
Also in 4 projects that use this
- +2 more from lingzhi227
- +3 more from zephyrwang6
In this repository15 other files it gives its agents.
- benchmarkingSkill
- change-managementSkill
- competitive-analysisSkill
- customer-insightsSkill
- deliverable-creationSkill
- digital-transformationSkill
- financial-analysisSkill
- innovation-strategySkill
- m-and-a-strategySkill
- market-researchSkill
- operations-analysisSkill
- pricing-strategySkill
- risk-managementSkill
- strategy-frameworksSkill
- talent-strategySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

