Intermediate concepts in Data Science & Analytics
The MECE Principle: No Overlaps, No Gaps
The MECE principle structures analysis with 'no overlaps, no gaps.' Use it to break down problems, segment users, or plan projects. The footgun is achieving one rule (exclusive categories) but not the other (covering all cases), leading to flawed conclusions.
Hypothesis-Driven Analysis: Ask First, Analyze Second
Start with a specific question, then use data to find a clear yes/no answer. This approach is perfect for A/B testing or diagnosing metric changes, but watch out for confirmation bias—seeking data that only proves your initial belief.

North Star Metric: Aligning Your Team With One Metric
A North Star Metric (NSM) is the single number that best captures the core value your product delivers, acting as a compass for your team. It aligns everyone on a shared goal, like Spotify using 'Time Spent Listening.' The biggest footgun is not having one.
Leading vs. Lagging Indicators: Predict the Future or Report the Past?
Leading indicators are predictive inputs (like sales calls made) that forecast future results. Lagging indicators are outputs (like quarterly revenue) that report what already happened.

Issue Trees: Deconstruct Problems, Not Symptoms
An issue tree maps a problem's potential root causes. It's used in consulting and debugging to break down vague questions like 'Why is revenue down?' into testable hypotheses.
Bayes' Theorem: Updating Beliefs with Evidence
Bayes' Theorem updates your belief in a cause after seeing new evidence. It's used in medical diagnostics to interpret test results and in spam filters. The common footgun is ignoring the base rate—how likely the cause was *before* the evidence appeared.
Linear Regression: Finding the Line of Best Fit
Linear regression draws the 'line of best fit' through your data to predict outcomes. It's used to estimate continuous values, like forecasting sales based on ad spend or predicting a house's price from its size. The main footgun: correlation is not causation.
Hypothesis Testing: A Courtroom for Your Data
Hypothesis testing is a courtroom trial for a claim. You assume 'no effect' (the null hypothesis) and see if your data is strong enough to reject it. The footgun is misreading the p-value: it only measures evidence against the null, not for your alternative.
Matrices: The Language of Linear Transformations
A matrix is a grid of numbers representing a linear transformation, like stretching or rotating space. It's used in graphics to move 3D models and in machine learning to hold data. The footgun: don't just see numbers; see the transformation it encodes.
Eigenvectors and Eigenvalues: The Unchanging Directions of a Transformation
Eigenvectors are the special vectors a transformation only stretches, not rotates; the eigenvalue is the stretch factor. They're the backbone of PCA for dimensionality reduction and Google's PageRank.
Gradient Descent: Finding the Bottom of the Hill
Think of finding the lowest point on a foggy hill by taking steps in the steepest downward direction. It's how machine learning models learn, by iteratively minimizing a cost function. The footgun is the step size: too large overshoots, too small is too slow.
Chain Rule: Unpacking Nested Rates of Change
The chain rule is like Russian nesting dolls for rates of change. To find the derivative of a nested function, you multiply the derivatives of the 'outer' and 'inner' functions. It's the engine behind backpropagation in neural networks.

Matplotlib's Object-Oriented API: Explicit Plot Control
Instead of the stateful plt.plot(), Matplotlib's OO API gives you explicit control by creating Figure and Axes objects to call methods on, like ax.plot(). This is crucial for complex plots with multiple subplots. The footgun is mixing styles.

Groupby: The Split-Apply-Combine Strategy
Groupby operations let you split data into groups, apply a function to each, and combine the results. It's how you answer 'what's the average salary per department?' The footgun is using a slow custom .apply() function when a faster built-in method exists.
Scikit-learn's Universal API: Fit, Predict, Transform
The scikit-learn Estimator API is a universal contract: .fit() to learn, .predict() to guess, and .transform() to change data. It's used for everything from StandardScaler to RandomForestClassifier.
Tidy Data: One Variable, One Column
Tidy data is a standard for structuring datasets: each column is a variable, each row an observation. This format simplifies analysis, as tools can expect a consistent input shape.
ggplot2: Building Graphics with a Grammar
ggplot2 treats plots like sentences. You declare components—data, aesthetics (x/y axes, color), and geoms (points, bars)—and it assembles the visual. It's essential for data exploration in R, letting you iterate by swapping layers.
dplyr: A Grammar for Data Manipulation
dplyr offers a consistent grammar for data manipulation, letting you chain simple verbs to perform complex transformations. It's essential for cleaning, summarizing, and reshaping data frames in R.
API Authentication: Who Goes There?
API authentication is the bouncer at your application's door, checking IDs to prove who is making a request. It's used to protect any networked service, from weather data to banking.
HTML Parsing: Turning Web Pages into Data
Think of HTML parsing as X-ray vision for web pages, revealing the underlying data structure. It's used for web scraping and automated testing. The main footgun is using regex; a real parser is robust against markup changes.
We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.
See open roles