Pedant

This tool is funded by XXX. Sam has done much of the writing and example-generation for GiveWell models

Pedant is a math language designed to write CEAs in, written by Sam Nolan under an EA Infrastructure grant. The language is very much in it's early stages and is still under active development. Details about the language are best found in the EA Forum Post, the documentation and the examples folder in the GitHub repo.

Pedant is a minimal math DSL. It's originally designed for use in cost effectiveness analysis. However, it can be used for any important calculations.

The goal of pedant is to make sure that it's difficult or impossible to make math and stats errors, and also allow for the full enumeration of the assumptions used for a calculation. Currently, its only feature is dimensional analysis, but I'm planning to add stats and constraints on stats in the future.

Pedant replicates GiveWell's analysis, e.g., for AMF:

'units' are specified up top

unit usd people nets

Vectors are specified -- for alternative scenarios?

percent_of_population_under_5 = 
  [ 13629465.1519444 / 87670443.7766788
  , 2143394.87689442 / 12643148.9336671
  , 1114855.20710404 / 7921526.58517355
  , 7089749.81596238 / 41117856.2413241
  , 33521637.830718 / 214823785.7115 
  ]

And lots of simple functions:

total_adjustment_monitoring = risk_misappropriation_without_monitoring + risk_false_monitoring_results

total_downside_adjustment = 1 - total_adjustment_monitoring - total_waste_risk

total_units_of_value_generated_after_downside = total_downside_adjustment * total_units_of_value

I guess these functions will be checked for whether the units agree? but I'm not sure where the units are connected to the variables

Last updated