A few months into watching your own dashboards, you start noticing “seasons.” Revenue dips every fourth week. Churn spikes at the start of the quarter. Signups drop on a specific day and nobody can say why. It’s tempting to call this seasonality and start planning around it, holding back a launch, timing a promo, budgeting for the slow month.
Sometimes that’s the right call. Real seasonality exists and it’s worth respecting. But a lot of what looks like a seasonal pattern in a small business’s data isn’t the market moving in a cycle at all. It’s your own reporting pipeline doing something predictable and mistaking it for customer behavior. I’ve chased a “quarterly churn spike” for two billing cycles before I found out it was a support queue that only got triaged in batches. The pattern was real. The cause had nothing to do with customers deciding to leave in waves.
This is about telling the two apart before you build a strategy on top of a mirage.
What real seasonality actually is
Genuine seasonality comes from something external to your reporting: customer behavior, weather, holidays, budget cycles, school terms. An e-commerce store selling gift items will see a real December spike because people actually buy more gifts in December. A B2B SaaS tool sold to finance teams might see a real January dip because budgets reset and approvals stall. These patterns repeat across multiple, independent years and they don’t move when you change how you measure them.
The test for real seasonality is simple to state, if not always easy to run: the pattern should show up in raw counts, in different metrics that touch the same behavior, and across more than one calendar cycle. If your “seasonal” holiday spike in sales also shows up as a spike in support tickets, site traffic, and email opens, that’s behavior. If it only shows up in one derived number on one dashboard, that’s a flag.
What a reporting artefact looks like instead
An artefact is a pattern created by how data is collected, processed, or displayed, not by what customers are doing. It repeats just as reliably as real seasonality, which is exactly why it’s easy to mistake for the real thing. A few shapes I’ve run into personally, or seen described in how billing and analytics systems work:
Billing cycle bunching. If most of your customers signed up in the same week (common after a single burst of ad spend or a launch), your MRR renewals, and therefore your churn events, will cluster on that week every single month. That’s not a “customers churn on the 3rd” pattern. That’s a “a third of your customer base has a renewal date of the 3rd” pattern. The fix on the metric side is to look at churn as a rate against active subscriptions in the cohort, not a raw count against the calendar.
Timezone and cutoff drift. Dashboards that roll up “daily” numbers usually pick a cutoff, midnight UTC, midnight in your server’s timezone, or midnight in the customer’s timezone. If that cutoff doesn’t match your own working hours, you’ll see a dip at the start of your day and a spike at the end of it, every day, that has nothing to do with real activity and everything to do with which side of the cutoff a transaction landed on.
Batch processing. Some systems don’t record events as they happen. They record them when a job runs. A nightly reconciliation script, a weekly export, a support tool that only syncs tickets once a day, all of these create artificial spikes at the moment the batch fires, and artificial quiet in between. If your “churn spike” always lands on a Monday, check whether that’s the day your billing processor runs its retry logic, not the day people decide to cancel.
Refund and chargeback lag. Refunds often get processed in batches by payment processors, sometimes weeks after the original charge. If your revenue dashboard nets refunds against the month they’re processed rather than the month the sale happened, you’ll see a recurring dip that looks like a seasonal soft patch but is really an accounting timing effect.
Your own marketing calendar. If you always send your newsletter on the first of the month, or always run a promo at quarter-end, you will see a real spike in signups or sales on that day, every time. That’s not the market being seasonal. That’s you being consistent. It’s worth knowing the difference, because “seasonal” implies you can’t control it, and this kind of pattern is entirely something you’re creating.
Small sample noise dressed up as a cycle. If you only have a few dozen customers, a handful of unrelated cancellations in the same week can look like a spike. With low volume, random noise easily arranges itself into something that resembles a pattern over two or three cycles, purely by chance. This is one of the harder ones for a one-person business, because you often don’t have enough data yet to separate signal from noise with any confidence, and no amount of clever analysis fixes a sample size problem.
How to check which one you’re looking at
None of this needs a statistics degree, but it does need you to be willing to go one layer below the dashboard.
Pull the raw events, not the summary. Dashboards apply rollups, timezones, and rounding before you ever see a number. If you can, look at the underlying transaction or event log for the days in question and check the actual timestamps.
Plot by day, not just by month or quarter. A lot of artefacts hide inside monthly aggregates and become obvious once you zoom into daily granularity. A “seasonal” quarterly dip that turns out to be one bad Tuesday is not seasonality.
Overlay more than one cycle. One repeat isn’t a pattern, it’s an anecdote. Look for the same shape across at least two or three full cycles, and be honest with yourself about how much data you actually have to compare.
Ask what changed in the pipeline, not just the market. Did you change payment processors. Did you switch analytics tools. Did a script get rescheduled. Reporting artefacts often start or stop on a specific date because something in the plumbing changed, and that date is usually easier to find in your own change log than in customer behavior.
Check whether the pattern moves with the calendar or with the day of week. Real seasonality tends to track the calendar (December, back-to-school, tax season). Artefacts often track your internal schedule instead (every Monday, every billing run, every export job) which is a strong hint it’s about your systems, not your customers.
What this doesn’t mean
None of this is a reason to distrust every recurring pattern you see, or to assume nothing in your business is ever seasonal. Some things genuinely are, and ignoring a real seasonal dip because you’re suspicious of your own dashboard is its own mistake. The point isn’t to explain away every uncomfortable number. It’s to spend twenty minutes checking the mechanics before you make a decision, a hiring plan, a cash reserve, a launch date, based on a shape in a chart. A metric can tell you something happened. It can’t tell you why on its own, and it definitely can’t tell you whether the “why” lives in your customers or in your own reporting pipeline. That part is still your judgment call.
If you want more of this kind of walkthrough on the metrics and methods behind running a one-person business, you can find the rest of what we’ve written here.
Get new guides and videos first — join the Telegram channel.