return counting per hour percentage

We have a monitoring process for a load in unix box, during this process we are writing logs statements for each record, and during this process we are showing the counts per hour. Here is that how we are following

log files statements: (just two lines printed here), these statements logged at 08:09 AM

08-19 08:09:32 APIDBManager 12752 INFO Successfull saving person to database, the saved ID: 114285
08-19 08:09:32 APIDBManager 12752 INFO Successfull saving person to database, the saved ID: 114286

Command to get the counts per each hour (time):
> grep 'Successfull saving person to database, the saved ID:' api_database_manager.log | awk '{ print $2 }' | awk -F':' '{ print $1 }' | uniq -c
>
20587 08
23102 09
So the above command gave the 20587 saved counts between 08:00 AM & 08:59 and 23102 saved counts between 09:00 & 09:59.

Here it good so far, but we see some counts in difference between hours 08 and 09. For this we need to display the percentage of counts increased or decreased (in -ve), so please how do we get this from command? You advice is very important to grab the attention from my top.

I am guessing here, that you have 2 files and you want to display increased or decreased count for each year. For example 2 files like below /tmp/y1 and /tmp/y2

The below does a difference between the same years, so 08 is matched in both files and the difference is displayed.
for example for 08, (20587-20500=)87 is displayed and so for each year.

gawk 'NR==FNR{a[$2]=$1;b[i++]=$2;next} {for(var in b) if(b[var]==$2) print (a[$2]-$1)}' /tmp/y1 /tmp/y2