How to Create Effective KPIs for Any Business
How to create effective KPIs: starting from objectives rather than available data, breaking an outcome into a tree of drivers that shows where to act, balancing leading and lagging indicators, adding counter-metrics, and writing definitions precise enough to compute, with a KPI tree on real retail data.
GloryTecks Team
Training & Placement Faculty
Last updated: 25 September 2026
A key performance indicator is a measurement used to evaluate how well an organisation, team or process is achieving defined objectives (Wikipedia: performance indicator). The definition contains the most important rule: a KPI exists because of an objective. Most weak KPIs start the other way round, from whatever data happens to be easy to count. This guide builds KPIs from objectives, shows how to break an outcome into drivers you can act on, and works through an example on real data.
Step 1: Start from the objective and the decisions
Write the objective in one sentence, such as "grow repeat revenue from existing customers this year", and then the decisions it depends on: which customers to target, which products to promote, how much to spend on retention. A KPI earns its place if it helps make one of those decisions. If a number could double or halve without anyone changing what they do, it is not a KPI; it may be interesting context, or a vanity metric. Vanity vs actionable metrics covers the difference in depth.
Kaplan and Norton's balanced scorecard started from the same insight: what you measure is what you get, and financial results alone can send misleading signals (Harvard Business Review: the balanced scorecard).
Step 2: Build a KPI tree
An outcome such as revenue is too broad to act on directly. A KPI tree breaks it into drivers that multiply or add up to it. For a shop:
revenue = active customers × orders per customer × average order value
Each branch points to different actions: marketing and retention for customers, engagement for frequency, range and pricing for order value. Computed for two consecutive quarters of a real UK online gift retailer's transactions, using orders with a customer ID (UCI: Online Retail):
import io
import urllib.request
import zipfile
import numpy as np
import pandas as pd
url = "https://archive.ics.uci.edu/static/public/352/online+retail.zip"
with zipfile.ZipFile(io.BytesIO(urllib.request.urlopen(url).read())) as archive:
raw = pd.read_excel(archive.open("Online Retail.xlsx"), dtype={"InvoiceNo": str, "StockCode": str})
services = {"POST", "DOT", "M", "m", "C2", "D", "S", "B", "BANK CHARGES", "AMAZONFEE", "CRUK"}
sales = raw[~raw["InvoiceNo"].str.startswith("C") & ~raw["StockCode"].isin(services)
& ~raw["StockCode"].str.startswith("gift_") & (raw["Quantity"] > 0) & (raw["UnitPrice"] > 0)
& raw["CustomerID"].notna()]
sales = sales.assign(revenue=sales["Quantity"] * sales["UnitPrice"], quarter=sales["InvoiceDate"].dt.to_period("Q"))
def tree(q):
s = sales[sales["quarter"] == q]
customers, orders, revenue = s["CustomerID"].nunique(), s["InvoiceNo"].nunique(), s["revenue"].sum()
return pd.Series({"revenue": revenue, "active customers": customers,
"orders per customer": orders / customers, "average order value": revenue / orders})
kpis = pd.DataFrame({str(q): tree(pd.Period(q)) for q in ("2011Q2", "2011Q3")})
kpis["change"] = kpis["2011Q3"] / kpis["2011Q2"] - 1
print(kpis.round({"2011Q2": 2, "2011Q3": 2, "change": 3}).to_string()) 2011Q2 2011Q3 change
revenue 1770181.37 2170439.95 0.226
active customers 1988.00 2155.00 0.084
orders per customer 2.05 2.01 -0.020
average order value 434.61 501.60 0.154Because the drivers multiply, the growth can be split between them:
total = np.log(kpis.loc["revenue", "2011Q3"] / kpis.loc["revenue", "2011Q2"])
for driver in ("active customers", "orders per customer", "average order value"):
share = np.log(kpis.loc[driver, "2011Q3"] / kpis.loc[driver, "2011Q2"]) / total
print(f"{driver:<22} explains {share:.0%} of the revenue growth")active customers explains 40% of the revenue growth
orders per customer explains -10% of the revenue growth
average order value explains 70% of the revenue growthRevenue grew 22.6%. The tree shows how: larger orders contributed most, more active customers contributed a large share, and slightly fewer orders per customer held growth back. A single revenue KPI would have shown only "up 23%". The tree tells each team what happened in its own lever, and it prompts the next question: what drove the larger orders, such as seasonal products or price changes?
Step 3: Balance leading and lagging indicators
Lagging indicators measure results after the fact, such as revenue or annual churn; they are easy to measure but hard to influence directly. Leading indicators are drivers that predict future outcomes, such as proposals sent or trial activations; they are more actionable but harder to link to results (Wikipedia: performance indicator). A good set pairs them: revenue with active customers and order frequency, churn with product usage or support contacts. Leading indicators give time to react; lagging ones confirm whether reacting worked.
Step 4: Add counter-metrics
Any KPI pursued hard can be gamed or can damage something else. Average order value can be raised with aggressive bundling that increases returns; call-centre handling time can be cut by rushing customers. Pair each KPI with a counter-metric that would reveal the damage, such as return rate alongside order value, or repeat contacts alongside handling time.
Step 5: Define each KPI precisely
Targets and ownership come later; first the definition must be computable and unambiguous. For each KPI write down:
- Name and purpose: what decision it supports.
- Formula, with exact inclusions and exclusions: whether revenue includes returns, postage or tax, and which orders count.
- Data source and grain.
- Owner: the person accountable for it.
- Target and time frame. The SMART criteria are a useful test for the target: specific, measurable, assignable, realistic and time-bound (Wikipedia: SMART criteria).
- Review frequency and where it is reported.
In the example above, "revenue" meant product sales from orders with a customer ID, excluding cancellations, postage and fees. Another team using a different definition would report a different number, and that is exactly how conflicting reports start.
How many KPIs?
A handful per objective: typically one outcome and two to four drivers, plus counter-metrics. Leadership scorecards usually carry five to eight in total; KPI scorecards for executives covers how to report them with targets and status.
Common mistakes
- Measuring what is easy instead of what matters.
- Too many KPIs, so none gets attention.
- No owner, so nobody acts when a KPI moves.
- Targets without a basis, especially ones that ignore seasonality.
- Changing definitions silently, which breaks comparisons over time.
- Only lagging measures, which report problems when they are too late to fix.
What is the difference between a KPI and a metric?
How often should KPIs be reviewed?
Can a small business use KPIs?
What should I do when a KPI moves and nobody knows why?
Should KPIs be the same across teams?
Analysts who build KPIs well are the ones who help decisions most; how data analysts add real business value covers that wider role. KPI analysis and sales and revenue analysis are part of the business analytics concepts module of the Data Analytics course.
Sources
- Performance indicator (Wikipedia) — Wikipedia
- SMART criteria (Wikipedia) — Wikipedia
- The Balanced Scorecard: Measures that Drive Performance — Harvard Business Review, 1992
- Online Retail (UCI Machine Learning Repository) — UCI Machine Learning Repository
GloryTecks Team
Training & Placement Faculty
The GloryTecks faculty team mentors learners across Data Science, AI and Data Engineering, with a focus on real-time projects and placement readiness in Hyderabad.
Want to master Data Analytics?
Join GloryTecks’ expert-led Data Analytics training in Hyderabad with real-time projects and 100% placement support.
Business Analytics Explained: A Beginner's Guide
NextDashboard Design Principles for Data Analysts
Related articles
Data Analyst Roadmap 2026: Skills, Tools and Timeline
A data analyst roadmap for 2026: the six stages to learn in order, from spreadsheets and SQL to BI tools, statistics and communication, what each stage should let you do, a realistic part-time timeline, a project that proves each stage, and how to tell when you are ready to apply for analyst roles.
Excel vs Power BI: Which Should You Learn First?
Should you learn Excel or Power BI first? For most beginners, a slice of Excel first, then Power Query and the data model, which Excel and Power BI share, and then Power BI. Here is why, what each tool teaches on its own, and which to start with in your situation.
Data Cleaning: A Practical Step-by-Step Guide
A step-by-step data cleaning guide on 541,909 real transaction lines: profiling before touching anything, removing duplicates, standardising messy text, fixing inconsistent categories, investigating extreme values, keeping a cleaning log, and validation checks that caught a problem the cleaning itself created.