How can I track statistics on my site's user population? I have a site with a fairly large number of users and I am trying to track statistics on them over time.

For example, users can have:


Any combination of four roles
One of two values for gender
One of two values for an additional field


I want to track each combination of role, gender, and additional attribute separately.

This has lead me to use Views to create a huge number of content panes, each with filters set to catch a particular combination.  I then added all of these to a panel, where I view them once a week and write the numbers down.

However, I now want to add an additional field with 6 additional values.  Creating all those combinations in Views is going to be a mess.  Is there a more efficient way to do this rather than clicking through the Views UI, creating a content pane for each possible combination, and then adding that in Panels?
Other than the option you present, I think you have two choices.

One is to wire up a hook_menu(), and create a path that accepts role, gender, and the other field value.  You would then pass this into a db_select() or EntityFieldQuery(), and return the results in HTML table form.

The other option, and the one I would recommend, would be to make up a View over your users, add in your roles and fields, and then use Views Data Export to export as XLS or CSV.  You can then analyze your data in a third-party tool like Excel.

Why do I recommend the later?  Leverage your tools for their strengths.  Drupal is good an managing and serving up content (raw data counts).  Tools like Excel are great at analyzing data.  These three fields are what you need to look at now, but this could change in the future.  Having a full export of the raw data will make this much easier down the road.