We currently have a maintenance script, maintenance/updateMenteeData.php, for gathering data on each mentor's mentees, populating database table(s) with data, and this information is then accessed on Special:MentorDashboard. The script runs via a cron job.
It maybe more scalable to run the data update operations from various hooks (e.g. after edits), using DeferredUpdates or jobs. Another benefit of doing the data updates this way is that we would have something more close to real time information in the mentor dashboard.
We could retain updateMenteeData.php for backfilling data or for compiling data that doesn't make sense to compute from existing hooks.