How to calculate Sales Growth Rate
Sales growth rate is the percentage change in sales between one period and the one before it.
Formula
Sales growth rate = (sales this period − sales last period) ÷ sales last periodSQL query
This example assumes: orders(id, order_date date, total_amount numeric). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.
WITH monthly AS (
SELECT DATE_TRUNC('month', order_date)::date AS month,
SUM(total_amount) AS sales
FROM orders
GROUP BY 1
)
SELECT month,
sales,
(sales - LAG(sales) OVER (ORDER BY month))
/ NULLIF(LAG(sales) OVER (ORDER BY month), 0) AS growth_rate
FROM monthly
ORDER BY month;Common mistakes that make Sales Growth Rate wrong
- The current month is usually incomplete, so its growth looks negative until the month closes.
- A month with no sales is missing from the grouped data, so LAG compares against a month further back.
- Refunds and cancellations change the base: decide whether sales are gross or net of them.
Ask for Sales Growth Rate in plain English
Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.
- What was our month-over-month sales growth for the last 12 months?
- Which months had negative sales growth?