Types of Analytics¶
Analytics is not one thing. The word "analytics" covers everything from a simple sales summary to a machine learning model that optimizes pricing in real time. The four types framework gives you a shared vocabulary for scoping work, setting expectations, and knowing when a question is outside your lane.
Learning Objectives¶
- Distinguish descriptive, diagnostic, predictive, and prescriptive analytics by the business question each answers
- Map any stakeholder request to the correct analytics type
- Understand where the boundary between analyst and data scientist work typically falls
The Four Types at a Glance¶
COMPLEXITY & VALUE
▲
│
PRESCRIPTIVE ──── "What should we do?" (Optimization, A/B tests, decisions)
│
PREDICTIVE ──── "What will happen?" (Forecasting, churn models, scoring)
│
DIAGNOSTIC ──── "Why did it happen?" (Root cause, drill-down, attribution)
│
DESCRIPTIVE ──── "What happened?" (Reports, dashboards, summaries)
│
└──────────────────────────────────────► IMPLEMENTATION DIFFICULTY
Higher types require higher complexity and more data maturity. Most analyst roles operate heavily in descriptive and diagnostic, with selective work in predictive. Prescriptive analytics typically involves a data scientist or decision scientist.
Type 1: Descriptive Analytics¶
What it answers: "What happened?"¶
Descriptive analytics summarizes historical data to show current state and past trends. It is the most common type of analytics work and the foundation everything else builds on.
Tools: Excel, SQL, Tableau, Power BI, Looker, Google Sheets
Outputs: - Weekly sales reports - Monthly KPI dashboards - Year-over-year revenue comparisons - Customer count by segment - Traffic and conversion summaries
Business scenario
The VP of Sales asks: "How did we perform last quarter?"
You build a dashboard showing:
- Total revenue: $4.2M (up 8% vs Q2)
- Deals closed: 142
- Average deal size: $29,600
- Top 5 products by revenue
- Revenue by region (heat map)
This is purely descriptive. You are reporting what happened. You are not explaining why.
SQL example:
-- Descriptive: Monthly revenue summary
SELECT
DATE_FORMAT(sale_date, '%Y-%m') AS month,
product_category,
region,
COUNT(DISTINCT order_id) AS num_orders,
COUNT(DISTINCT customer_id) AS unique_customers,
SUM(revenue) AS total_revenue,
AVG(revenue) AS avg_order_value
FROM orders
WHERE sale_date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
GROUP BY 1, 2, 3
ORDER BY 1 DESC, 5 DESC;
Where it fails: Descriptive analytics answers "what" but not "why." A dashboard that shows revenue declined 15% in July is useful — but the business question is never "what happened." It is always "why" and "what do we do."
For mid-level analysts
The trap in descriptive analytics is building beautiful dashboards nobody uses. Before you build, ask: "What decision does this dashboard support?" If the answer is "it gives leadership visibility," press harder. Visibility without a decision attached is noise, not signal.
For senior analysts
Descriptive analytics should be automated. If you are spending more than 2 hours per week producing the same summary, you are doing data engineering work that should be a pipeline. Push for automation and redirect your time to diagnostic and predictive work — that is where analyst leverage compounds.
Type 2: Diagnostic Analytics¶
What it answers: "Why did it happen?"¶
Diagnostic analytics investigates the cause behind a descriptive observation. It is the domain where analysts add the most unique value — understanding context, forming hypotheses, and drilling through data to find explanations.
Tools: SQL, Python, Excel (pivot tables), BI tools with drill-down capability
Outputs: - Root cause analysis documents - Drill-down reports (e.g., "revenue declined in one region, in one product line") - Funnel drop-off analysis - Cohort comparisons - Attribution analysis
Business scenario
Descriptive analytics showed a 15% revenue decline in July. Now the VP asks: "Why?"
Diagnostic process:
- Segment the decline — is it one region? One product? New vs existing customers?
- Check volume vs price — did we sell fewer units, or at lower prices?
- Check the funnel — did fewer leads convert, or did fewer leads come in?
- Look for timing signals — did the decline start on a specific date? (Price change? Competitor launch? Marketing spend cut?)
- Cross-reference external factors — seasonality? Macroeconomic events?
Finding: "The decline is concentrated in the Enterprise segment in the Northeast. It began July 8th, three days after a competitor launched a competing product at 20% lower price. Win rate dropped from 34% to 19% for deals where the competitor was mentioned."
This is diagnostic. You found the cause.
SQL example:
-- Diagnostic: Drill into where the decline is concentrated
WITH monthly_revenue AS (
SELECT
DATE_FORMAT(sale_date, '%Y-%m') AS month,
region,
customer_segment,
product_category,
SUM(revenue) AS revenue
FROM orders
WHERE sale_date BETWEEN '2024-06-01' AND '2024-07-31'
GROUP BY 1, 2, 3, 4
),
pivot AS (
SELECT
region,
customer_segment,
product_category,
SUM(CASE WHEN month = '2024-06' THEN revenue ELSE 0 END) AS jun_revenue,
SUM(CASE WHEN month = '2024-07' THEN revenue ELSE 0 END) AS jul_revenue
FROM monthly_revenue
GROUP BY 1, 2, 3
)
SELECT
*,
jul_revenue - jun_revenue AS delta,
ROUND((jul_revenue - jun_revenue) / NULLIF(jun_revenue, 0) * 100, 1) AS pct_change
FROM pivot
WHERE ABS(jul_revenue - jun_revenue) > 50000 -- focus on material changes
ORDER BY delta ASC;
Where it fails: Diagnostic analytics can find correlation but not causation. Finding that the revenue decline coincides with a competitor launch does not prove the competitor caused it. Good diagnostic analysts state this clearly and design a test if causation matters for the decision.
Correlation vs causation
"Revenue declined right after we changed the homepage" is a correlation. It could be seasonality, a parallel marketing change, or a bad data pipeline. Never present a correlation as a cause without eliminating alternative explanations. The business will make decisions based on your framing.
Type 3: Predictive Analytics¶
What it answers: "What will happen?"¶
Predictive analytics uses historical patterns to forecast future states. It introduces statistical modeling and requires more data maturity than descriptive or diagnostic work.
Tools: Python (scikit-learn, statsmodels, Prophet), R, SQL (for feature engineering), Excel (for simple regression)
Outputs: - Revenue forecasts - Churn probability scores - Lead scoring models - Demand forecasts for inventory - Customer lifetime value predictions
Business scenario
After diagnosing the July decline, leadership asks: "Will we recover? What do we expect for Q4?"
Predictive approach:
- Build a time-series forecast using 24 months of historical revenue data
- Incorporate seasonality (Q4 is typically strong for this business)
- Add a scenario for "competitor impact persists" vs "we respond with pricing"
- Produce a range: base case ($4.1M), pessimistic ($3.6M), optimistic ($4.5M)
Python example — simple time series forecast:
import pandas as pd
from prophet import Prophet
import matplotlib.pyplot as plt
# Load monthly revenue data
df = pd.read_csv("monthly_revenue.csv")
df = df.rename(columns={"month": "ds", "revenue": "y"})
df["ds"] = pd.to_datetime(df["ds"])
# Fit the model
model = Prophet(
yearly_seasonality=True,
weekly_seasonality=False,
daily_seasonality=False,
interval_width=0.80 # 80% confidence interval
)
model.fit(df)
# Forecast 6 months forward
future = model.make_future_dataframe(periods=6, freq="MS")
forecast = model.predict(future)
# Key outputs
print(forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]].tail(6))
# Plot
model.plot(forecast)
plt.title("Revenue Forecast — Next 6 Months")
plt.xlabel("Date")
plt.ylabel("Revenue ($)")
plt.tight_layout()
plt.savefig("revenue_forecast.png", dpi=150)
Where it falls: Predictive models are only as good as the assumptions baked into them. A model trained on 2019–2022 data will not handle a structural market shift. Always report prediction intervals, not point estimates. "Revenue will be $4.1M" is a lie. "$3.8M–$4.4M with 80% confidence" is honest.
For mid-level analysts
You do not need a machine learning model for most business forecasting. A well-constructed trend line with seasonality adjustments in Excel or a 12-week moving average often outperforms complex models for short-horizon forecasts. Match model complexity to decision stakes.
For senior analysts
Predictive analytics requires model governance. You need to track: when was the model trained, on what data, what is its current accuracy, and when should it be retrained. A stale model deployed in production is worse than no model — it produces confident wrong answers.
Type 4: Prescriptive Analytics¶
What it answers: "What should we do?"¶
Prescriptive analytics goes beyond prediction to recommend or optimize a decision. It combines predictions with business constraints and objectives to suggest the best course of action.
Tools: Python (scipy.optimize, linear programming), simulation tools, A/B testing frameworks, Excel Solver
Outputs: - A/B test design and results - Price optimization recommendations - Inventory reorder point calculations - Budget allocation models - Marketing mix optimization
Business scenario
Leadership now asks: "Given what we expect for Q4, how should we reallocate the marketing budget to maximize revenue?"
Prescriptive approach:
- Model the response curve for each marketing channel (how much revenue does each additional $10K generate?)
- Set constraints: total budget = $500K, minimum spend per channel, ROAS floor
- Optimize: find the allocation that maximizes expected revenue subject to constraints
- Output: "Shift $80K from Display to Paid Search and $40K to Retargeting; projected impact: +$210K revenue"
Python example — budget allocation optimization:
from scipy.optimize import linprog
import numpy as np
# Revenue per $1K spent per channel (from historical data)
# Channels: [Paid Search, Display, Retargeting, Email, Social]
revenue_per_k = np.array([8.2, 3.1, 6.5, 12.4, 4.7]) # $ revenue per $1K spend
# Negate for minimization (linprog minimizes)
c = -revenue_per_k
# Constraints: total budget = $500K (sum of spend = 500)
A_eq = np.ones((1, 5))
b_eq = np.array([500])
# Bounds: min and max spend per channel ($K)
bounds = [
(50, 200), # Paid Search: $50K–$200K
(20, 150), # Display: $20K–$150K
(30, 120), # Retargeting: $30K–$120K
(10, 80), # Email: $10K–$80K
(20, 100), # Social: $20K–$100K
]
result = linprog(c, A_eq=A_eq, b_eq=b_eq, bounds=bounds, method="highs")
channels = ["Paid Search", "Display", "Retargeting", "Email", "Social"]
optimal_spend = result.x
projected_revenue = -result.fun * 1000 # Convert back to dollars
print("Optimal Budget Allocation:")
for ch, spend in zip(channels, optimal_spend):
print(f" {ch}: ${spend:,.0f}K")
print(f"\nProjected Revenue: ${projected_revenue:,.0f}")
Where it falls: Prescriptive models are only as credible as the underlying predictions and constraints. The most dangerous prescriptive analysis is one that looks precise but rests on shaky assumptions. Always show the model's sensitivity to key assumptions.
Optimization theater
Prescriptive analytics can produce the illusion of rigor while hiding bad assumptions. A budget optimization model that says "spend $0 on Brand campaigns" is probably violating a real constraint that was not modeled. Always sanity-check outputs against business intuition and loop in domain experts.
Decision Table: Which Type Do You Need?¶
| Business Question | Analytics Type | Analyst or Data Scientist? |
|---|---|---|
| "What were our sales last month?" | Descriptive | Analyst |
| "Which regions grew fastest?" | Descriptive | Analyst |
| "Why did churn increase?" | Diagnostic | Analyst |
| "Which customers are about to churn?" | Predictive | Analyst or DS |
| "What will revenue look like next quarter?" | Predictive | Analyst (simple) / DS (complex) |
| "How should we price this product?" | Prescriptive | DS / Decision Scientist |
| "Which experiment variant won?" | Prescriptive / Diagnostic | Analyst (with stats) |
| "How should we allocate the marketing budget?" | Prescriptive | DS / Analyst + optimization |
Where Analysts vs Data Scientists Operate¶
This is a frequent interview question and a real source of team friction:
| Dimension | Data Analyst | Data Scientist |
|---|---|---|
| Primary question | What happened / Why | What will happen / What should we do |
| Primary tools | SQL, Excel, BI tools, Python (pandas) | Python/R, ML frameworks, statistics |
| Model complexity | Aggregations, trends, segments | Regression, classification, clustering, deep learning |
| Time orientation | Historical | Forward-looking |
| Stakeholder focus | Business operations, finance, product | Product (ML features), research |
| Deliverable | Report, dashboard, recommendation | Model, score, API endpoint |
| Typical degree | Business, Statistics, any quantitative field | Statistics, CS, ML research |
The boundary is blurring rapidly. Many senior analysts run predictive models. Many data scientists do diagnostic work. The distinction matters for scoping, not for gatekeeping.
Key rule: type determines scope, not importance
A perfectly executed descriptive analysis that drives a $5M decision is more valuable than a sophisticated ML model nobody uses. Match the type to what the business actually needs to decide.
Key Takeaways¶
What you should be able to say without notes
- Descriptive = "what happened" — reports, dashboards, summaries.
- Diagnostic = "why it happened" — root cause, drill-down, attribution.
- Predictive = "what will happen" — forecasting, churn scoring, demand prediction.
- Prescriptive = "what should we do" — optimization, A/B tests, recommendations.
- Most analyst work is descriptive and diagnostic. Predictive is selective. Prescriptive usually involves a data scientist.
- Type determines scope. Match complexity to decision stakes.
Previous: 01-analytics-lifecycle | Next: 03-business-use-cases