I have a repository called LeadRepository that returns a model called Lead which is a person.

The UI I have is a dashboard that displays the following stats. They are all leads but in different states.

Total Leads: 52

Assigned: 49

Unassigned: 3

Contacted: 49

Uncontacted: 0

I am using a stored procedure to query the db. So i'm not using lazy loading to work out the count on the fly.

I have thought about two possible solutions below but neither of them feel quite right.

1. Use LeadRepository but have a method on it called GetStats() that returns a complex type. This does not have any association with the agg root Lead. Just a bunch of properties that have the different counts.
2. Create a LeadStatsRepository but this is not really an aggregate root as it has no id. It just is a grouped set of data.

If anyone has any suggestions that would be great.