def frequent_signups(self):
        """Return a QuerySet of activity id's and counts for the activities that a given user
        has signed up for more than `settings.SIMILAR_THRESHOLD` times"""
        key = "{}:frequent_signups".format(self.username)
        cached = cache.get(key)
        if cached:
            return cached
        freq_signups = self.eighthsignup_set.exclude(scheduled_activity__activity__administrative=True).exclude(
            scheduled_activity__activity__special=True).exclude(scheduled_activity__activity__restricted=True).exclude(
                scheduled_activity__activity__deleted=True).values('scheduled_activity__activity').annotate(
                    count=Count('scheduled_activity__activity')).filter(count__gte=settings.SIMILAR_THRESHOLD).order_by('-count')
        cache.set(key, freq_signups, timeout=60 * 60 * 24 * 7)
        return freq_signups
Return a QuerySet of activity id's and counts for the activities that a given user
        has signed up for more than `settings.SIMILAR_THRESHOLD` times