<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def frequent_users(self):
 """Return a QuerySet of user id's and counts that have signed up for this activity more than `settings.SIMILAR_THRESHOLD` times. This is be used for suggesting activities to users."""

        key = "eighthactivity_{}:frequent_users".format(self.id)
        cached = cache.get(key)
        if cached:
            return cached
        freq_users = self.eighthscheduledactivity_set.exclude(eighthsignup_set__user=None).exclude(administrative=True).exclude(special=True).exclude(
            restricted=True).values('eighthsignup_set__user').annotate(count=Count('eighthsignup_set__user')).filter(
                count__gte=settings.SIMILAR_THRESHOLD).order_by('-count')
        cache.set(key, freq_users, timeout=60 * 60 * 24 * 7)
        return freq_users