This one always gets me. I've been trying hard these days to give better, clearer, more actionable advice to beginners who want to learn how to program.
I think, at the most basic level, we understand that our estimation of how much we learn from some particular teacher/course/method is wildly inaccurate, and it's a poor way to assess how effective that teacher/course/method is. Someone constructing a cute pyramid diagram is not much better.
It's also not about maximizing retention. That's a very one-dimensional way of looking at effectiveness. All of these ways of learning have their own place.
We DO have decades of qualitative and quantitative research into computer science pedagogy. We CAN do better than draw up a pyramid like this. It's nice to acknowledge that the pyramid is not scientific, but why would we not then dig through the journals a little bit to find some papers on computer science pedagogy?