Record Project Task Status Changes (Status Timeline)

Record Project Task Status Changes (Status Timeline)

We need to track the average business it takes to complete a tasks with some exclusions. 

We use Projects to track incoming orders. Before the order can be entered into the system several steps need to be accomplished.  The process has a general order but sometimes can go back and forth to other statuses. We have status such as Risk Assessment, GM Approval, Awaiting Customer, Re-Quoting, Scheduling and Order Ready.  The excluded statuses are Awaiting Customer and Re-Quoting.

I know there is no Analytics connection for this now and I can export each and every single task individually and then take the massive effort of combining the files into accessible data but I'm looking for an alternative.

Is there a Function, Workflow, API, Webhook... something that we can use?  Could there be a trigger when a status is changed that that data is saved to a spreadsheet document within the Project?  Can an accumulative integer field be updated for each of the statuses when they change?

I'm really hoping there's a better way.  We may need to pull this from Projects and find a better product.