Hi @Playtomic!
One idea is to use dynamic lists to report on the changes of the Lifecycle and/or Lead Status stages. You could build a list that shows any contact who “churned” within x timeframe (i.e. last 12 months). This list would show you a contact who churned but if you also display the current Lifecycle and Lead Status columns, you’ll quickly see who is still a non-lead, or who is coming back.
You could even build a Dashboard Report from this data to say x Contacts churned in last x Months, but of those Contacts, x are in MQL or SQL.
I think you have to allow the natural attrition and changes to happen to a Contact’s status changes. Hubspot tracks all the historical changes and you can use timeframe lists or reports to show who was where, when, and where they are now.