Wrapper function for generating entire compensation appraisal for a given nonprofit and a specified search criteria.
The Appraisal Process Vignette contains detailed examples on how the appraisal is generated. The Compensator Vignette contains a few simple examples of how to use this function.
Arguments
- org
output from
get_org_values()- search.criteria
a list with the following items:
type.org: vector of the types of organization you want to include. Options are RG, AA, MT, PA, RP, MS, MM, and/or NS.broad.category: vector of broad categories you wish to include in returned data set Options are ART, EDU, ENV, HEL, HMS, IFA, PSB, REL, MMB, UNU, UNI, and/or HOSmajor.group vector: of major groups you wish to include in returned data set. Options are A-Z.division: vector of divisions you wish to include. Divisions exist entirely inside major groups. We suggest you do not use this parameter if you have more than one item inmajor.group. Options are 0, 2, 3, ..., 9 (1 is not an option.subdivision: vector of subdivision you wish to include. Subdivisions exist entirely inside divisions. We suggest you do not use this parameter if you have more than one item indivision. Options are 0 - 9.univ: TRUE of FALSE. Are universities to be included?hosp: TRUE of FALSE, Are hospitals to be included?location.type: vector of "metro", "suburban", "town", and/or "rural" for which city types to includestate: vector of 2 letter state abbreviations to be includedtotal.expense: vector of c(min,max) of range of total expenses to be included
Value
A list with 3 objects
suggested.salary: a numeric of the suggested CEO compensation for the input organizationsuggested.range: vector of minimum and maximum suggested salary rangereference.set: a data frame of all nonprofits used to calculated the suggested CEO compensation with the following variables:
EIN: IRS Employer Identification Numberform.year: IRS filing year from which this nonprofits information was obtainedname: Name of the nonprofittotal.employee: Total number of employees at the nonprofitgross.receipts: Gross receipts reported for the yeartotal.assests: Total assets reported for the yeartotal.expense: Total expenses reported for the yearceo.compensation: Total CEO compensation reported for the yeargender: Imputed gender of the CEOzip5: 5 digit zip code of where the nonprofit is locatedstate: Two letter abbreviation of the state where the nonprofit is locatedlocation.type: Either "metro" or "rural" for type of location the nonprofit is inntee: Original ntee codebroad.category,major.group,type.org,two.digit,two.digit.s,tens,ones,us.state,univ,hosp: Parts of the dissagregated NTEE code. See ... for details.log.expense.dist: Total Expense distance between the nonprofit and the reference organizationmission.dist: Mission distance between the nonprofit and the reference organizationgeo.dist: Geographic distance between the nonprofit and the reference organizationtotal.dist: Total distance between the nonprofit and the reference organizationrank: Ranking of all nonprofits that match the reference set from closest to farthest from the reference organization.dist.std: standardized total distanceweight: weight used to calculated weighted average ofsuggested.salaryresidual.percent: the residual of that observation as a percent of the expected salary.fitted.values: issuggested.salary(1+residual.percent)
See ... Vignette for details on how these values are calculated.
Examples
if (FALSE) {
# Step 1: Create list of organization characteristics
org <- get_org_values(
state = "FL",
location.type = "metro",
total.expense = 1000000,
ntee = "P20")
search.criteria <-
list(
type.org = "RG",
broad.category = "HMS",
major.group = c("M", "N", "O", "P"),
division = NA,
subdivision = NA,
univ = FALSE,
hosp = FALSE,
location.type = c("metro", "suburban"),
state = c("FL", "PR", "GA", "SC", "MS", "TN", "AL"),
total.expense = c(100000, 10000000)
)
#Step 3: Get appraisal
appraisal <- get_appraisal(org, search.criteria)
appraisal$suggested.salary
appraisal$suggested.range
reference.set <- appraisal$reference.set
View(reference.set)
}