KPI Module for CiviCRM

2018-04-24 01:43
Written by

To lead an organization to the top-notch performance and reach strategic goals, the management should have an elaborate system of measuring a key performance indicator (KPI), which further can be used to develop performance improvement initiatives. NGOs and non-profits typically measure KPI using parameters such as members/supporters growth and retention ratio, the number of constituent requests served, the speed of case resolution, or the amount of contributions and funds risen. All this data is already available in CiviCRM, so it makes sense to use it to build a system for measuring KPIs. This is what Agiliway has recently done developing a KPI module, which is integrated with CiviCRM solution we have implemented for one of our clients.

Our client chose to evaluate the performance of their managers and divisions using the following measures’ dimensions:

  • an office: a size, a location, office work schedule, the number of permanent full-time employees, availability of a hotline, signboards on the establishment and branding on the premises, etc.;
  • a team: the number of members, the number of volunteers (supporters), and the number of volunteers attracted during the reporting period;
  • social activities: number of the cases resolved during the reporting period, the number of meetings and events, the presence of the documented strategy, etc.
  • a budget: the percentage of members having paid the membership fees and the amount of the voluntary donations collected during the reporting period; the number of the funding sources;
  • media: distribution of the organisational newspaper, production of printing products, the number of press conferences, representation in the printed, TV and social media; and
  • parliamentary activities: the number of submitted projects, meetings of advisory councils, speeches of deputes at plenary sessions, etc.

pict 1. KPI - metrics setting screen

The Benefits of a KPI Module

Sceptics might say that information, which can be used for measuring performance, can be traced in the reports. However, a KPI module has a number of substantial benefits a report cannot provide:

1. KPI management system

KPI module is entire system which:

  • allows defining performance metrics, target values (poor, fair, good, excellent, etc.) for each metric; metric weight in the total score
  • automatically calculates KPIs using data available in CiviCRM as well as some additional info
  • generates aggregate KPIs for different organization levels and entire organization

For example, the management can plan to involve 30 new members to the organization each month. Thus, if the number of new members is 30, the performance of a manager or a branch is considered good, lower numbers mean poor performance, while bigger ones - a superior performance considering the analysed measure. Assigning specific numeric values to the “poor” (say, below 25 new members), “good” (30 new members) or “excellent” (more than 40 new members) performance, one can receive a KPI score for it. Having a procedure for deriving KPIs from each relevant measure, we can further consolidate the derived values into one KPI score, which would characterise the performance of a manager or a branch across all relevant to the goal measures. Without having a KPI procedure, one would be unable to understand what kind of performance stands behind the numbers in the report. A KPI module follows the defined KPI procedure and automatically produces a consolidated KPI score derived from multiple and diverse measures.

2. Input flexibility

KPI module allows drawing up KPI reports using data from CiviCRM as well as using manually entered information. This is important considering that some KPI metrics (for example, size of the premises or coverage in the local newspapers) come from the offline activity.

3. Aggregate KPI of a branch for a multi-level organisation

With the help of KPI module, large organisations with umbrella structures and hierarchically subordinated branches (we have recently developed a corresponding security module for multi-level organizations) can receive an aggregate KPI across all contributing units. For example, an organisation can view an aggregate KPI of a particular regional branch or an aggregate KPI across all of its subdivisions.

4. Analysis of KPI trends

The module allows to access and compare KPIs of the previous time periods, so that the management may track the trends in the performance. Analysis of trends, in its turn, allows assessing the effect of the provided incentives, performance improvements or even penalties as the ultimate case.

pict 2. KPI analysis screen

At the moment, a lot of data is still entered manually by organisation branch managers. Nevertheless, Agiliway is working on further integration of the KPI module with CiviCRM, so much more of the relevant information will appear in KPI reports automatically.

Obviously, each organisation defines its own KPI system. That’s good. Agiliway can help you custiomizing the KPI module to fully meet your needs. This solution will allow you to measure the performance in an elaborate and automated way. Most importantly, it will allow you to make timely interventions and, thus, lead your organisation to success.

Filed under
Click thumbs up if you thought this blog post was useful (login to vote or to comment)


What is the theme you are using for CiviCRM? I have never seen the menus/tabs look this way.

This is new UI design we implemented for one of our clients.

We are setting demo site with this design now. The site is available already but the configuration is not completed yet. so there could be some unexpected behavior. please check here


I can't find this module on or Do you expect to be open sourcing it?

Yes, we plan to make this extension publicly available at

We still need to clean up code and remove all custom specific logic. Currently this is lower priority comparing to other our projects. In case we see the demand for KPI module then we will definitely increase the priority and will release KPI extension.