Don't know whether its the "best" (how do you define "best"?) way, but a way could be;
Custom sub-object of the project object to store your "score" (at project level) per month
Custom process to determine (via SQL) the "score" and create (via XOG) a new instance of the sub-object containing the "score" every month.
Could then report on the organisation/department score then (by adding up the "scores" from the projects within the organisation/department) in a fairly simple query-based portlet in the main application or in some richer MI in wherever you run your MI from (Jaspersoft?).