We are looking to create a report that shows how many contacts have un-subscribed each month by lead source. A mock-up is shown below for context:
One way to create this would be to start with a People Performance report. Under the Setup tab, change the "Person Created At" value to be "all time", and the "Group People by" filter to "Person Source". Your next step would be to create a series of reporting Smart Lists under Data Management. You will need one smart list per month to track unsubscribes.
The Smart List criteria should be something like:
Back on your People Performance by Person Source report, under Setup drag the Custom Columns variable from the right hand side down to the stage and add in your new reporting smart lists.
This will give you a report similar to the example you have mocked up. The only frustration is that you will need to continue to add/update reporting smart lists as the month goes on - there's no automatic way to manage this process.
You can use RCE (Revenue Cycle Explorer), it will give you detailed and better analysis. It will give you breakdown by month and lead source in a pattern you are looking for.