Here is a related question a customer asked:
is it possible for us to view the stage history of opportunities so we can report on our most productive stages in the pipeline and how many potential customers progress from one stage to the next
1. You can use the pipeline summary to look at the average days in each stage the the progression report to see movement over a period of time
2. You can add automated action tasks, for each stage in the pipeline. Then you can build a report off an export of Tasks (settings -> export data). These tasks will have a created date, that captures when it entered that stage of the sales pipeline. The task will also be related to the opportunity name.
3. You can create a historical sales funnel analysis. There is a template, and this will show historically, what’s been the likelihood to win an opp once it enters a stage in your pipeline.