Google does not store your rating history. There's no view of your star rating on a past date, anywhere. So to see it over time, you rebuild it yourself: you average every review up to each date. The maths is a simple running average, and that part is easy. Here's the catch. A backward rebuild is only ever an estimate, because reviews get edited and removed, and you can't see what changed after the fact. That's why the only accurate way to track your rating is to monitor your profile from now on, so every change is recorded as it happens.
How a rating over time is calculated
Start with the good news: the maths is simple. There's no stored history to dig up, so you rebuild the curve by averaging the reviews up to each date.
The rating on any date is the average of every review posted on or before that date. As a formula:
rating on date D = (sum of scores of all reviews dated on or before D) / (count of those reviews)
In practice it's a running average, so you only walk through your reviews once:
List your reviews from oldest to newest.
Keep a running sum of scores and a running count of reviews.
After each review, divide the running sum by the running count. That's your rating at that moment.
Plot those points in date order, and the line they make is your rating over time.
Here's the curve on five example reviews:
Date | Score | Running sum | Running count | Running average |
3 Jan | 5 | 5 | 1 | 5.00 |
12 Feb | 4 | 9 | 2 | 4.50 |
1 Mar | 5 | 14 | 3 | 4.67 |
20 Apr | 1 | 15 | 4 | 3.75 |
8 May | 5 | 20 | 5 | 4.00 |
Watch the 1-star on 20 April. It drops the rating from 4.67 to 3.75 in one go, and the next 5-star only claws it back to 4.00. That swing is the curve you're trying to track.
One thing to flag before you trust any single number. Even your rating for today won't always match what Google shows, and that's not your mistake. Google rounds the public number to one decimal, and it changes the reviews behind that number on its own. More on that next.
Why you can only get a really accurate number from now on
A rating you rebuild backward is an estimate, and here's why. The reviews that counted in the past are not all still visible today, so the data you're averaging is already incomplete.
Three things break the reconstruction:
Removed reviews. A removed review used to count toward your rating, but once it's gone, you can't tell it was ever there. So every past date it should have counted is now wrong, and you have no way to add it back.
Edited reviews. An edited review shows only its current score and the updated date, not what it was before. So a 1-star later edited to 5-star looks like it was always 5-star, and the rating you rebuild for the period in between is wrong.
Google itself. Google adds, removes, and sometimes restores reviews on its own, and it's had long-running bugs that delete reviews and bring them back months later. So the set of reviews behind your rating shifts even when you and your customers do nothing.
This matters most on a small profile, where one removed 1-star or one flipped score moves the historical curve a lot. The worst part is that the error is invisible, because the evidence is already gone.
So the only way to know your rating on a past date is to have recorded it when it happened. That means watching the profile and capturing each new review, edit, and removal as it lands.
Connect today and you can estimate the past, usually close. From now on, you can be exact.
How to get that data yourself
You've got two routes, and both end in the same place. To be accurate, you have to monitor from now on, and that's a system, not a spreadsheet.
Scrape the reviews
The obvious idea is to scrape your reviews into a sheet and compute the running average. It sounds easy, and that's the trap.
It doesn't work for accurate dates. Google never shows the real date a review was posted. It shows a relative label, like "3 months ago" or "a year ago". To turn that into a date, you have to guess a point inside the window, usually the middle. So for "a year ago", the real date sits somewhere across twelve months, and even your best guess is off by up to half a year. The older the review, the worse it gets.
A scrape gives you a rough shape, not real dates. It also can't see any review that was already removed before you scraped, so the shape itself is off.
That's fine for a loose read, like "we trended up this year". It's wrong for any precise date or any campaign before and after. And here's the part people miss: those approximate dates don't just blur the past, they poison the future. Even if you start monitoring from now on with full precision, every forward number sits on top of a baseline built from guessed dates. So a fuzzy past makes your accurate future readings false too.
Get Google Business Profile API access
The API is the real way to get exact dates and reliable data. It works only for a profile you own or manage, and it does not pull public or competitor data.
And here's the thing: it only helps going forward. The API hands you today's reviews with exact timestamps, but it does not hand you a clean history of the edits and removals you already missed. So doing this properly isn't a one-off spreadsheet job. It's an active monitoring system that pulls on a schedule and compares each run to find new reviews, edits, and removals.
Getting there takes more than flipping a switch:
Run a Business Profile that's verified, complete, has a real website, and active for at least 60 days. Google states the 60-day minimum.
Create a project in Google Cloud Console, and note its project number.
Register an Organization account. Google requires it, and you set it up through the Business Profile help center.
Submit the Business Profile API contact form from an email that's an owner or manager on the profile. Select "Application for Basic API Access", and give your project number and use case.
Wait for review. Google says it reviews requests within 14 days.
Until you're approved, the project sits at 0 queries per minute, so every call fails. Approval raises that to 300. Then enable the Business Profile APIs in the console.
Authenticate with OAuth 2.0, using the
https://www.googleapis.com/auth/business.managescope. Plain API keys don't work, because the data is private and user-owned.Pull the Reviews endpoint on a schedule, store each snapshot, and compare runs to catch edits and removals. From now on, forever.
So even done perfectly, you've built and now maintain a monitoring system. That's the real cost of tracking your rating accurately yourself.
The accurate way: monitor from today
The shortcut is to let something else do the monitoring. Connect your profile to a tool that records every review with its exact date and re-checks for edits and removals, and from that point your running average is exact.
That's what Reviewflowz does. It shows the average rating up to each date in the past, built from the reviews available now.
Connect today and the past curve is an estimate, usually very close, but never certain, because reviews edited or removed before you connected can't be known. We'd rather say that plainly than pretend the past is perfect.
From the day you connect onward, every new review, edit, and removal is captured. So Reviewflowz holds your full-precision average, not the rounded one Google shows. That gap matters more than it sounds. Google rounds the public rating to one decimal: up from .50, down from .49. So a 4.45 and a 4.54 both display as 4.5, even though they sit far apart in how many reviews it takes to move them.
That precision is the whole point of a review target. The "how many reviews to reach 4.5" calculators start from Google's rounded number, so they can't tell you where you really sit inside that decimal. With the full-precision running total, you can see how far you are from the next decimal, and how many new reviews it takes to tip you over.
What to do next
Start a trial and connect your Google profile. You get your rating curve and an accurate target for the rating you want.
Then read the chart. The purple line is your overall Google rating: the running average of every review up to that date. The red "Average Rating" line is the average score of the reviews left in that period. So when the red line sits above the purple line, the new reviews are better than your standing average, and your rating is climbing. When the red line sits below the purple line, the new reviews are dragging it down.

