Works, but with performance issues
One potential problem though!
If you have a high-traffic shop, the data that is being crunched is enormous. Look at your logs to make sure you don't run into lock timeout issues in MySQL, as turned out we've been having for months and lost quite some sales between 0:00 and 0:30.
Another advise: move the cronjob away from midnight, because a lot of stuff is already happening (reports, price rules).
So I changed the date range from 180 days to 60 (30 is default) and moved the cronjob to 0 1 * * *.
Otherwise, works well.
***Comment by Aheadworks***
Thank you for your valuable feedback, we will definitely consider it in the next versions!