I think the method name should be shorter, more concise. You don't need to specify ...ByCollectionId() because the parameter name already makes that clear imo. Perhaps something like: getQuizTotals(). Also, since the aggregation is at the Quiz level (total number of students who have submitted and total number of students who have started the quiz), should this method be on the Quiz model instead, which would delegate to Submission?