Analistable

Which customers are new this month?

By the Analistable team · Updated · 4 min read

A new customer is one in this month's orders with no order in any earlier period. Compare this month's list with all previous orders (not just last month): =UNIQUE(FILTER(Sep[Customer], COUNTIF(History[Customer], Sep[Customer]) = 0)). With only August as history, Oak & Ash and Pine Co are new in September.

Part of our guide: How to answer questions across multiple spreadsheets

The data

Two monthly order exports
August: customerOrderAmountSeptember: customerOrderAmount
Bakery LuneA1120Bakery LuneS1130
Hart & CoA280Nordic SupplyS290
Nordic SupplyA375Oak & AshS355
Kiln StudioA460Pine CoS470
Bakery LuneA540

In a spreadsheet

=UNIQUE(FILTER(Sep[Customer], COUNTIF(Aug[Customer], Sep[Customer]) = 0, "None"))

Replace Aug[Customer] with a stacked history of all earlier months (VSTACK(Jan[Customer], …, Aug[Customer])), otherwise a customer returning after a gap is counted as new.

In SQL

SELECT DISTINCT s.customer
FROM sep s
LEFT JOIN aug a ON a.customer = s.customer
WHERE a.customer IS NULL;
Result
Customer
Oak & Ash
Pine Co

With a full order history in one table, the cleaner definition is: customers whose first order date falls in September — GROUP BY customer HAVING MIN(order_date) >= '2026-09-01'.

New vs returning revenue

September revenue split
GroupCustomersRevenue
New2125
Returning2220

New: Oak & Ash 55 + Pine Co 70. Returning: Bakery Lune 130 + Nordic Supply 90.

Ask it in Analistable: “How many new customers did we get each month, and what share of revenue did they bring?” The opposite question: customers who stopped ordering.

New customers per month from one order history

SELECT strftime('%Y-%m', first_order) AS month, COUNT(*) AS new_customers
FROM (SELECT customer, MIN(order_date) AS first_order FROM orders GROUP BY customer)
GROUP BY month
ORDER BY month;

With all orders stacked in one table, each customer's first order date defines the month they became new. This avoids comparing pairs of files every month and gives a clean trend line.

Common mistakes

  • Using names as the key — “Oak & Ash” and “Oak and Ash Ltd” would count as two new customers.
  • Comparing only with last month: customers who skip a month look new when they return.
  • Counting test or internal orders; filter them out first.

Worked example on the full order history

Run the first-order query on the seven-order history used elsewhere in this series (customers ana@lune.fr, ben@hart.co.uk, eva@nordic.dk and kim@kiln.io across a web shop and Amazon):

New customers per month
MonthNew customerFirst order
2026-01ana@lune.fr2026-01-14
2026-02ben@hart.co.uk2026-02-10
2026-04eva@nordic.dk2026-04-05
2026-06kim@kiln.io2026-06-30

ana@lune.fr ordered again in March and August, and eva@nordic.dk in September, but neither counts as new in those months because their first order is earlier. A month-to-month comparison would have called eva new in September, since she didn't order in August.

Excel 2019, Mac and Google Sheets variations

  • Excel 2019 / 2016: add a helper column to this month's orders, =COUNTIF(History!A:A, A2)=0, filter on TRUE and use Remove Duplicates on the customers.
  • Excel for Mac (Microsoft 365): the UNIQUE/FILTER formula above works unchanged.
  • Google Sheets: =UNIQUE(FILTER(Sep!A2:A, Sep!A2:A <> "", COUNTIF(History!A2:A, Sep!A2:A) = 0)), where History is a sheet holding every earlier order (stack monthly tabs with {Jan!A2:A; Feb!A2:A} or VSTACK).

Check the result

Quick checks
CheckWhat it should show
New + returning = this month's customers2 + 2 = 4 distinct September customers
New customers' revenue + returning revenue = month total125 + 220 = 345
A known long-standing customerMust not be in the new list
Month after a data gapA spike in new customers often means missing history, not growth

Each month, append the new export to the history before running the check, never after — otherwise this month's customers are compared with themselves and the list comes back empty. Background on stacking files: combining sheets into one.

Frequently asked questions

How do I identify new customers in Excel?
Filter this period's customers to those with no match (COUNTIF = 0) in all earlier orders.
Why compare with all history and not just last month?
Customers who skip a month would otherwise be counted as new when they return.
How do I count new customers per month?
Find each customer's first order date with MINIFS, then count first-order dates per month.
Should a customer who returns after a year count as new?
Not as new, but it's worth tracking them separately as reactivated customers: their first order date is old, yet they had no order in the previous twelve months.
Can I find new customers across two stores?
Yes. Stack both stores' orders with one customer key, such as lower-cased email, and take each customer's first order date across all stores.
Why is my new customer count suddenly very high?
Usually a missing history file or a change in customer IDs. Check the earliest order date in the history before trusting the spike.

Related guides