So there is a 2000 limit of rows per analytic snapshot, and there is an idea to remove that limit.
How can I have more than 2000 rows from the Analytic Snapshot entered into Salesforce?
In order to get around the limit of 2k for an analytic snapshot and prevent you from having to manually touch the data each day, week, month that you want your snapshot for, I would suggest using a Scheduled Batch Class. You would need to create your own custom object to hold your 'Raw Data', that is timestamped. You then use your Scheduled Batch Class to populate your new snapshot object with the data at your desired interval.
Example Scheduled Class
Example Batch Job (this will gather the "raw data" as you call it)
So basically you query all the objects (Using Contacts in the above example), then you use the data from those objects to create your custom object for snapshot data. You insert all the snapshot data, and you now have this data without having to manually touch the data at each desired interval (Day, week, month, etc.)
I had to build opportunity snapshots for a client whose typical monthly data load was around 6500 records. I created a formula field that took the opportunity number (a serial number) and then divided by 4 and kept the remainder. This resulted in a all the opportunities being marked, 1,2,3 or 4. I then created 4 reports and filtered by that number. This effectively gave me 4 reports that equally divided the entire load of 6500. I mapped each report to my snapshot object and ran them at the same time. I little extra setup but once done it ran just fine.
Create the full report you want to have the analysis data for, and save it in tabular format (raw-data as I like to call it)
Export it to CSV file, and save locally.
Create a custom object, with ALL the fields in your report.
Using Data-Loader upload the records from the report into SF.
Now, you have a snapshot (remember to add a runtime or other date/time to the object) and you can work on it and report on it as you wish.