Data Structures

If you've gone through DevResults training, you know that all pieces of data in DevResults need to have four characteristics defined:

  • Who
  • What
  • When
  • Where

It's easy to remember these words, but understanding the concepts they align to in the system will make it much easier to use DevResults. We've worked up a diagram to work through some of these concepts, and this page will walk you through a lot of them.

The Diagram

The Activity is at the center of DevResults, and each Activity is associated with who, what, when, and where. 

The Structure

Now let's take a more complex look at how those elements fit together:

Have a look at each component: 


Organizations: All activities have a primary managing organization. If NGO 1 wins an award to implement Project X, then Project X is the activity and NGO 1 is its organization. Users are also assigned to an organization. See Activities and Organizations for more information on these topics.

Users: anyone who needs to access DevResults must be a user in the site identified by their email. 

User groups: each user's permission level is set by the user group they belong to, such as owner, manager, contributor, partner manager, partner contributor, or viewer. The user group determines what a user can view and edit in the system. A partner user is restricted to only their activities and the activities for their organization. 

Permissions: a user group is made up of a set permissions that cover all parts of the site. Each permission can be set to view & edit, view, or no access. See Permissions Overview for further information.

For a user to successfully report data, they must have permissions to view & edit Indicator Results. 


Your results framework is a hierarchy of your objectives. Your indicators measure progress toward those objectives. All indicators must be assigned to at least one portion of your results framework(s).

Indicators must be precisely defined so that results can be compared between disaggregations, places, reporting periods, and activities. See our Indicator Guidebook for best practices and more information.

Indicator results might be reported for disaggregations like sex, age, training type, crop type, etc. All disaggregations have disaggregation categories. Disaggregation categories for sex would be male and female; for age they might be <18 and 18+.

Geographic disaggregations are a special kind of disaggregation. Every indicator must have a single geographic disaggregation, or reporting level, like country, region, or location (like a facility or village). This means that results will be entered per country, per region, etc.

For a user to successfully report data, their activity must have indicator(s) assigned to it.


Every piece of data reported in DevResults must be associated with a particular date or reporting period.

There are two basic ways to report data in DevResults (see the Entering Results Data section of the site for more info on both of these):

  1. Via Reporting Period
    • Your site is configured with reporting periods, which can be whatever periods you choose (quarterly, annually, etc.), which have set start and end dates and set submission periods.
    • Users with limited permissions can only report data for the reporting period during its submission period.
    • See Add a Reporting Period for steps on adding a reporting period to your site.
  2. Via Data Tables
    • Data tables are like spreadsheets containing individual records, like training logs or attendance sheets.
    • These rows of data must contain a date; the system will automatically aggregate these individual records by reporting period.
For a user to successfully report data, the activity they're reporting on must have one or more reporting periods assigned to it.


Every piece of data reported in DevResults must be associated with a particular geography.

DevResults tracks two types of geographies:

  • Locations
    • Specific points on a map with GPS coordinates such as hospitals, schools, etc.
    • Locations can be added at any time by following the steps in the Add a Location page
  • Administrative Divisions
    • Shapes or areas such as districts, provinces, states, etc., are loaded into your site via KML file
    • DevResults pre-loads your site with relevant shapes
    • Changes to administrative divisions can generally only be made by providing us with a new KML file (see About KML Files and Add Map Overlays for more info)

Indicators must be defined with a geographic disaggregation.

Activities are assigned to the geographies where they report their indicators.

For a user to successfully report data, their activity must have a geography that matches the indicator geographic disaggregations assigned to that activity. For example, if Activity A reports on regional-level and provincial-level indicators, then Activity A must be assigned to at least one specific region and one specific province where it reports those indicators. 


An activity might be an award, grant, sub-partner, internal team, or any entity responsible for producing indicator results. An activity is the combination of the organization managing the work, the list of indicators to be reported, the places where indicators are reported, and the reporting periods when indicators are reported. Consequently, most problems with being unable to enter data for a reporting period stem from problems assigning an indicator, a reporting period, or a geography to that activity.

The best place to get started with activities is our page on how to add an activity

Didn't answer your question? Please email us at