Хранение ленты для каждого пользователя самый экономичный и (что очень важно) легко масштабируемый способ.
Если грубо, то каждая активность у вас на проекте порождает событие, а на эти события вы уже навешиваете формирование лент пользователей удобным для вас способом. Нужно лишь верно выбрать хранилище, отвечающее вашим задачам. А выбор будет определяться следующими характеристиками:
- кол-во пользователей
- кол-во порождаемых активностей
- срок хранения ленты пользователя