The first number every product team asks for, and the first place people accidentally count events instead of people.
Write monthly_active_users(df). The input has user_id and timestamp columns. Return a DataFrame with:
month: the calendar month as a "YYYY-MM" stringactive_users: how many distinct users had at least one event that monthSorted by month ascending, with a clean 0..n index. A user active on twenty days in January counts once for January, and counts again in February if they come back.
Build the architecture on a canvas: place the components, configure them, connect them into a data flow, and write a short reason for each one. The AI reviewer grades your design against a rubric written specifically for this problem.
Minimum 5 components · needs a wide desktop screen