Можно сделать view с расчетами, будешь дергать результаты как обычную таблицу.
Можно все результаты ложить в кэш и сбрасывать его при появлении новой записи. Касательно пакетной обработки в elepahant:
Chunking Results
If you need to process a lot (thousands) of Eloquent records, using the chunk command will allow you to do without eating all of your RAM:
User::chunk(200, function($users)
{
foreach ($users as $user)
{
//
}
});
The first argument passed to the method is the number of records you wish to receive per "chunk". The Closure passed as the second argument will be called for each chunk that is pulled from the database.