An application I'm building for a charitable foundation includes a
membership database.  My client wants to be able to report statistics
on the numbers of new members who joined, the number who quit, the
number who died (the average age of members is 68, so death is not an
uncommon reason for leaving!), etc.

They report monthly and YTD stats to a Board of Directors as well as
provide an end of year summary that includes data from the past two
years for comparison.

They currently generate these reports through a very onerous, error-
prone process that involves an Access database, Word docs, Excel
spreadsheets and probably a few chicken bones and magic incantations.
I aim to fix all that since I'm rehosting the membership database in a
Rails app.

Are there any best practices out there for tracking and aggregating
this type of information over time?  I haven't found a plugin or gem
that seems to offer this capability.  I'm not concerned about an
auditing capability as I already have that built-in where
appropriate.

I envision a combination of a reporting model and some callback hooks
that will "see" actions such as adding a new member and update a
counter in the reporting model, perhaps in a way akin to Sitealizer.
Has anyone here got suggestions or pointers on a good way to approach
this?

One of the things I'll need to account for is hand-jamming the
statistics from the last 2-3 years into the reporting table so that
the previous years' data will show up in the reports.  With a proper
model for holding the reporting data that should be simple.

Thanks,

Chris

-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby

Reply via email to