Algorithms
AI & Machine Learning
SQL & Data
Projects
Drill 23 of 26Dates & numbers
You asked the AICount distinct users per UTC day from epoch-second events. Results must stay identical across server timezones.
from collections import defaultdict
from datetime import datetime, timezone
def daily_active_users(events):
"""Build the daily audience report from epoch-second events."""
users_by_day = defaultdict(set)
for event in events:
if not isinstance(event["user"], str) or not event["user"]:
raise ValueError("each event needs a user id")
day = datetime.fromtimestamp(event["ts"]).date().isoformat()
users_by_day[day].add(event["user"])
counts = {day: len(users) for day, users in sorted(users_by_day.items())}
return counts