def METHOD_NAME(self, timespan, occurence):
    list_users_having_projects = self.get_users_having_projects()
    arr = []
    for idx, user in enumerate(User.objects.all().order_by('date_joined')):
        arr.append(
            {
                'id': user.id,
                'username': user.username,
                'first_name': user.first_name,
                'last_name': user.last_name,
                'date_joined': user.date_joined,
                'unix_joined': user.date_joined.timestamp(),
                'email': user.email,
                'last_login': user.last_login,
            }
        )
    grouped = {}
    group_count = 0
    for idx, user in enumerate(arr):
        prev = None
        diff = timespan
        if idx > 0:
            prev = arr[idx-1]
            diff = user['unix_joined'] - prev['unix_joined']
        if prev is not None and diff >= timespan:
            group_count += 1
        try:
            grouped[group_count]
        except KeyError:
            grouped[group_count] = []
        grouped = self.append_to_group(
            grouped, group_count, user, list_users_having_projects
        )
    no_potential_spam_users = 0
    grouped_clean = {}
    for group_id in grouped:
        group = grouped[group_id]
        if len(group) > occurence:
            no_potential_spam_users += len(group)
            grouped_clean[group_id] = group
    potential_spam_users = []
    for group in grouped_clean:
        for user in grouped_clean[group]:
            potential_spam_users.append(user)
    return (potential_spam_users, len(list_users_having_projects))