One big problem with Ethereum is that it’s big. And complicated.
Every smart contract that has ever been deployed is still there, and they all have a “state history” – you can think of each contract as a bank account, and the state as being the balance at a given time. But in many dimensions.
If you want to analyse a protocol or a smart contract over time, you need an archive node. And these are huge. And then you need to suck all the data into a database so you can query it in a sensible amount of time.
This is not cheap, nor is it easy.
Fortunately, there’s a group out there that provide precisely this service. They’re called the graph, and when you go to a DeFi site and they have banners proclaiming the amount of cryptocapital locked up in their protocol, or some other statistic, chances are that they are using theGraph.