What problem does this solve?
We are working for an organization that uses a general ledger in our accounting system. We want to know one of the following:
- What are our costs are per project, per event, per contributor, per upload, or per edit?
- How does a project's cost-effectiveness compare with other projects that we or other organizations run?
What is the solution?
1. Determine which programs and activity you want to track, and at what level of detail.
- Note that general ledger codes can be used for a variety of activities, if you plan what you want to measure in advance of the activity and capture all expenses related to that activity. Depending on resources, the coding of cost to the general ledger for assessing inputs may need to be limited to specific programs and activities to keep the tracking of costs and value inputs at this level of detail manageable.
2. Associate the program or activity with a unique general ledger code.
3. Total all of the costs tagged with this general ledger code.
4. Divide this total cost among the outcomes of the program or activity, such as the cost per image upload.
5. Optional: compare the cost-effectiveness of the program or activity to other programs or activities, using the same method for measuring cost per unit of outcome.
General ledger appearance
To see an an example in Google Sheets including notes about spreadsheet functions, click here
Here is the same example shown in a jpg file. Click on the image to see a larger version.
Wiki Loves Monuments example
Let us look at the cost per photo for a Wiki Loves Monuments project. Wiki Loves Monuments is usually a once a year activity. You can setup a general ledger code to track all expenses, including allocation of paid labor cost, for the project. At the end of the project in a single general ledger code you can then calculate the cost per photo. Once you have the cost per photo, this data can be used to compare cost year over year or to other entities participating in Wiki Loves Monuments. In addition, once you have the cost data, it can be used in conjunction with other qualitative measures like quality of photos; for example, you can calculate what the cost was per featured picture.
Workshops are another type of activity that can be evaluated using the general ledger or project codes. At the highest level, you can establish a general ledger code to capture all the cost, including paid labor cost, for running a workshop. If, for example, the workshop is designed to train people to edit Wikipedia, then you can measure the data a couple of different ways:
- The first option is to look at the total cost of the workshops divided by the total number of people taught to edit, and the total cost of the workshops divided by the number of workshops. This will give you a cost per participant and a cost per workshop. If you can engage in new editor tracking with the new editors' usernames (if you are evaluating an in-person event, remember to ask for opt-in user consent for data collection), then you can calculate the cost per new editor or the cost per new active (five or more edits per month) editor. A tool that can help you with tracking editor activity is Wikimetrics.
- The second option is to look at the cost of a specific workshop and use that data to evaluate outcomes. In this example, if your accounting software allows it, you can setup project codes per workshop (in addition to a project code that applies to all workshops) and capture the cost per workshop and measure outcomes per workshop on a cost per participant basis, or cost per new editor basis. This type of data will help you evaluate if a specific trainer or type of participant gives you better outcomes for your workshops. As mentioned above, if you are evaluating an in-person event, remember to ask for opt-in user consent for data collection, and a tool that can help you with tracking editor activity is Wikimetrics.
Things to consider
- You will need to be able to track project codes in your general ledger.
- Using a large number of project codes can make tracking the different codes more complicated.
- It may be possible to attach more than one project code to an element of a project. For example, a series of workshops may have one project code, and an individual workshop in the series may additionally have another project code.
- Depending on your accounting software, project codes may be replaced by categories, tags, or cost centers.
When to use
- Wiki Loves Monuments
- Any program where you want to track the cost per output
- Any program where you want to compare the cost-effectiveness of the program to the cost-effectiveness of other programs that can use the same measures of effectiveness.
- It can be difficult to compare the cost-effectiveness of certain programs. For example, if you want to compare the cost-effectiveness of an editing workshop with the cost-effectiveness of Summer of Monuments contest, you will need to choose similar measures for outcomes for both the workshop and the editing contest, such as the cost per participant. It may be unhelpful to compare a cost of $1.50 per upload in a Summer of Monuments event to a cost of $50 per article created in an editing workshop because the units of measure are different. On the other hand, the Summer of Monuments cost per contributor may be $15 and the cost per contributor in the editing workshop may be $5, and this may be a more relevant measure of cost-effectiveness depending on your goals.
If you use a spreadsheet for your general ledger:
- If you are using formulas to refer to different cells, placing $ characters in front of a cell reference's row number and column number will mark the reference as an "absolute reference". More information is available from Microsoft through this link.
- If a calculation may result in a "#DIV/0!" error (division by zero), and you would like to see the friendlier error message "Not applicable" when that happens:
- For Google Sheets, Microsoft Excel, and LibreOffice Calc, use the function IFERROR. In the example spreadsheet above, cell F39 contains the formula =IFERROR($D$30/E39,"Not applicable")
- For OpenOffice Calc, use the functions IF and ISERROR. In the example spreadsheet above, cell F39 would contain "=IF(ISERROR($D$30/E39);"Not applicable";$D$30/E39)"
- Grants:Learning patterns/Using expense-tracking software
- Grants:Learning patterns/Facilitate the preparation of an FDC report
- Grants:Learning patterns/Track project hours in Google Calendar