Donor Concentration Analysis

Aggregate contributions by donor and calculate largest-share and Herfindahl concentration measures.

Description

Donor concentration summarizes amounts by donor identifier and measures how uneven their shares are.

Donor concentration summarizes amounts by donor identifier and measures how uneven their shares are. The index is on a 0–1 fractional-share scale.1

Aggregate contributions by donor and calculate largest-share and Herfindahl concentration measures.

When to use Donor Concentration Analysis

Use this tool to aggregate contributions by donor and calculate largest-share and Herfindahl concentration measures.

Prepare the text, recorded observations, aligned figures or editorial criteria requested. Confirm what each label, count, timestamp or supplied flag represents before interpreting the result.

How to use Donor Concentration Analysis and understand its results

  1. Prepare the text, recorded observations, aligned figures or editorial criteria requested. Confirm what each label, count, timestamp or supplied flag represents before interpreting the result.
  2. Enter donorIds, contributionAmounts using the field table and calculation rules, then run the tool.
  3. Read totalContributions, largestDonorSharePercent, herfindahlIndex, uniqueDonorCount. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
Input fieldMeaningValue type; see rules belowRequirement
donorIdsDonor IDslist of stringRequired
contributionAmountsContribution amounts (currency)list of numberRequired

Enter nonempty aligned identifiers and nonnegative amounts. Trim identifiers, require nonblank case-sensitive labels and aggregate repeated donors. Return total, unique count, largest donor share percentage and index. An all-zero total yields zero share/index placeholders.

share_i=amount_i/total; HHI=Σshare_i²

Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.

Output fieldMeaningValue type
totalContributionsTotal contributions (currency)number; minimum: 0
largestDonorSharePercentLargest donor share (%)number; minimum: 0; maximum: 100
herfindahlIndexDonor concentration indexnumber; minimum: 0; maximum: 1
uniqueDonorCountUnique donor countinteger; minimum: 0
json
{
  "input": {
    "donorIds": [
      "A",
      "B",
      "A"
    ],
    "contributionAmounts": [
      60,
      30,
      10
    ]
  },
  "output": {
    "totalContributions": 100,
    "largestDonorSharePercent": 70,
    "herfindahlIndex": 0.58,
    "uniqueDonorCount": 2
  }
}

Limitations and assumptions

No donor identity matching, currency normalization or influence assessment is performed. Zero-amount identifiers still count as donors.

Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Lists are limited to 100,000 entries; the rules above may require smaller limits. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.

Alternative or Complementary methods

Use Nonprofit Compensation Ratios: Calculate program-service and executive-compensation ratios from supplied nonprofit expense figures. For a complementary task, use Procurement Donor Overlap: Compare caller-supplied requirements and observations for procurement donor overlap.

References

  1. Donor Concentration Analysis — tool.io

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies