Моя первая мысль - это одна из тех вещей, которую трудно достичь в первый раз, поэтому постарайтесь убедиться, что ваш дизайн позволяет изменить способ, которым вы делаете вещи. Например. иметь одну функцию GetUserStats, которая возвращает объект UserStats, чтобы на вашем сайте было только одно место, где реализована эта логика. Это должно облегчить изменение вещей позже.
Вы правы, что вам не нужно несколько запросов на страницу. Я не очень разбираюсь в данных, но я думаю, что одна хранимая процедура, которая возвращает всю статистику для пользователя за один раз, была бы хорошим началом. Это позволит внести изменения в способ расчета / обновления статистики (запрос, пакет, триггеры и т. Д.) Без каких-либо изменений в коде.