If we really want to figure which instances to suggest, it could maybe be good to have some additional statistics tracked per instance, and compare to the global averages. It might even be able to influence default choices for like the join-lemmy website.
I understand this might sound gross, but maybe there’s a good idea in here?
- user retention (percentage of users that are still active after 6 months? 1 month?)
- percentage of anonymous visits that result in a signup (ignore those that result in a login)
- ban rate
- signup acceptance/rejection speed
- percentage of accepted signups vs failed/declined (maybe this just promotes accepting spammers)
- average time spent on signup page
- bounce rate of signup page (opened but never completed)


Not everything, but some might be possible with plugins. Lemmy v1.0.0 will have some sort of plugin system and afaik Piefed already has them.
Plugins mainly have hooks which are called when a new post is created, a comment is updated or things like that. Giving plugins access to everything in the database is more complicated. We could let plugins execute SQL and get the results, but that has security risks.
Instead of letting plugins execute raw SQL, why not expose certain functions like ones for crud operations on db models?
That wouldnt be enough to get the kind of statistics mentioned in this post.