I have yet to find a situation where I need to cache the results of an Ecto query, sequence of queries, or the resulting data that is generated. With a large enough data set generating stats is sure to be expensive enough to cache, but that can be done ad-hoc using a basic :ets cache like Ben mentioned.
I've found that the values of external queries (GPS lookup, token generation) are what actually need to be generated. Those also tend to be simple, not nested or interdependent data structures, and well suited to using an Agent or simple GenServer.