def main(input):
    output = []
    for row in input:
        previous = int(row["previous_active_users"])
        current = int(row["current_active_users"])
        decline = round((previous - current) / previous * 100, 2) if previous > 0 else ""
        reasons = []
        if previous == 0:
            reasons.append("no_baseline")
        if previous > 0 and decline >= 30:
            reasons.append("usage_decline")
        if int(row["open_critical_tickets"]) > 0:
            reasons.append("critical_tickets")
        output.append(dict(row, usage_decline_pct=decline, attention_reasons=", ".join(reasons),
            needs_attention="usage_decline" in reasons or "critical_tickets" in reasons))
    return output
