def METHOD_NAME(self):
    """Compute the weight for the event."""
    # Apply all bonuses/penalties
    self.apply_time_bonus()
    self.penalise_untagged()
    # Give bonuses to events yet to end
    if self.event.end_time > timezone.now():
        self.penalise_far_off()
        self.penalise_length()
        self.bonus_followed()
        self.bonus_promotion()
    return self