Yes and no—you can do it, but most easily without Sales Insight.
Essentially, you're asking for two different datasets: to get an overall view of how assets are performing, and to know at the individual contact what numbers it takes to reach a certain lifecycle status. As such, you'll have to set up two monitoring methods.
In Salesforce, create a Number field at both the Lead and Contact record-level (called "Asset Count" or what have you) and map the two together. When your Marketo instance syncs the field over, switch the field on the Marketo side to be a Score type.
In Marketo, make a specific Channel for assets, then create an individual Program for each one with the steps you need (visited page, filled out form, downloaded, etc.) to monitor each asset. This will give you the ability to set up program reports in Marketo that will show you overall statistics on engagement. As part of the Flow for "consuming" each of the assets (whether that's downloaded or filled out a form, etc.), include a Change Score step, and have the Asset Count score add +1. This will give a running tally of assets interacted with for each contact. You can then use this Number field in your Salesforce reporting to reference averages and sums on different lead lifecycle statuses and opportunities