Value of Holding Money
Conceptual Framework: Epistemic Uncertainty and Virtual Organizations
Research prioritization faces a fundamental epistemic uncertainty: there are funding opportunities that we don't know of yet, and that we may discover (or that may start to exist) later on. This uncertainty adds some potential value to holding money rather than allocating all available funds to known funding opportunities.
To account for this epistemic uncertainty, we use the concept of virtual organizations - hypothetical funding opportunities that represent the expected value of newly discovered funding opportunities we don't know of yet. By including virtual organizations in our modeling, we aim to represent the expected value of holding money for future opportunities.
There are two main parameters that control virtual organization creation:
VirtualOrgsSamplingStrategy: Configures how virtual organizations are sampled from existing organization expected valuesVirtualOrgsPerYear: Specifies how many virtual organizations to add each year
Both parameters are located in the meta tab of the input spreadsheet.
Technical Implementation: Virtual Organization Creation Process
The virtual organizations sampling process is repeated for each year starting from year 2 (future years), with virtual organizations being prolonged to subsequent years using median discounting. Year 1 represents the present year with only real organizations.
Step 1: Extract Expected Values for Year i
The system starts with the Expected Value (EV) matrix for year i. Each "world" or "simulation" is considered independently. For simulation_1, we extract organisation EVs: \(EV_{i,sim1}\)
Year i EV Matrix:
| Simulation | Org A | Org B | Org C | Org D | ... |
|---|---|---|---|---|---|
| simulation_1 | 0.8 | 0.3 | 0.9 | 0.5 | ... |
| simulation_2 | 0.6 | 0.7 | 0.2 | 0.9 | ... |
| simulation_3 | 0.9 | 0.4 | 0.8 | 0.3 | ... |
| ... | ... | ... | ... | ... | ... |
Step 2: Sample Virtual Organizations for Year i
We sample from \(EV_i\) using the chosen sampling strategy for as many organizations as specified by VirtualOrgsPerYear.
The sampling methods are detailed in the section Sampling Strategies.
Step 3: Add Virtual Organizations to Year i
Virtual organizations are added to the EV matrix for year i with newly generated values:
Year i EV Matrix (with Virtual Orgs):
| Simulation | Org A | Org B | Org C | Org D | VirtualOrg1 | VirtualOrg2 | ... |
|---|---|---|---|---|---|---|---|
| simulation_1 | 0.8 | 0.3 | 0.9 | 0.5 | 0.7 | 0.4 | ... |
| simulation_2 | 0.6 | 0.7 | 0.2 | 0.9 | 0.8 | 0.6 | ... |
| simulation_3 | 0.9 | 0.4 | 0.8 | 0.3 | 0.5 | 0.9 | ... |
| ... | ... | ... | ... | ... | ... | ... | ... |
Step 4: Prolong Virtual Organizations to Subsequent Years
Virtual organizations created in year i are prolonged to subsequent years (i+1, i+2, etc.) using the median discount rate. The median discount rate is calculated from all organizations' discount rates in the system.
Discount Rate Calculation:
| Organization | Discount Rate |
|---|---|
| Org A | 0.05 |
| Org B | 0.03 |
| Org C | 0.07 |
| Org D | 0.04 |
| Median | 0.045 |
Note: In typical cases, all organizations will have similar discount rates, so the median provides a representative rate for all organizations.
Year i+1 EV Matrix (with Prolonged Virtual Orgs):
| Simulation | Org A | Org B | Org C | Org D | VirtualOrg1 | VirtualOrg2 | ... |
|---|---|---|---|---|---|---|---|
| simulation_1 | 0.76 | 0.29 | 0.86 | 0.48 | 0.67 | 0.38 | ... |
| simulation_2 | 0.57 | 0.67 | 0.19 | 0.86 | 0.76 | 0.57 | ... |
| simulation_3 | 0.86 | 0.38 | 0.76 | 0.29 | 0.48 | 0.86 | ... |
| ... | ... | ... | ... | ... | ... | ... | ... |
Note: All organization values (real and virtual) are discounted by the median discount rate (0.045) from year i to year i+1
Step 5: Repeat Process for Each Year
This entire process (Steps 1-4) is repeated for each year starting from year 2. Year 1 represents the present year with only real organizations.
- Year 1 (Present): Only real organizations exist
- Year 2: Extract EVs → Sample virtual orgs → Add to matrix → Prolong to Year 3
- Year 3: Extract EVs → Sample virtual orgs → Add to matrix → Prolong to Year 4
- Year 4: Extract EVs → Sample virtual orgs → Add to matrix → Prolong to Year 5
- ...and so on for all future years
Multi-Year Virtual Organization Timeline:
| Year | Description | Virtual Orgs Added | Virtual Orgs from Previous Years | Total Virtual Orgs |
|---|---|---|---|---|
| 1 | Present | 0 | 0 | 0 |
| 2 | Future | 2 | 0 | 2 |
| 3 | Future | 2 | 2 (discounted) | 4 |
| 4 | Future | 2 | 4 (discounted) | 6 |
| 5 | Future | 2 | 6 (discounted) | 8 |
| ... | ... | ... | ... | ... |
Step 6: Final Multi-Year EV Matrix
The final EV matrix contains all real organizations plus all virtual organizations across all years, with virtual organizations properly discounted for each year they appear in.
Sampling Strategies
Each strategy combines two dimensions: how values are generated (sample vs percentile) and whether we fit a distribution or use empirical data; plus whether weights are used.
| Strategy | Mode | Fit | Weighted |
|---|---|---|---|
fit_sample |
sample | Yes | No |
fit_percentile |
percentile | Yes | No |
percentile |
percentile | No | No |
weighted_fit_sample |
sample | Yes | Yes |
weighted_fit_percentile |
percentile | Yes | Yes |
weighted_percentile |
percentile | No | Yes |
Fit Sample ("fit_sample")
- Fits candidate distributions (lognormal, gamma, normal) to \(EV_{i,sim}\)
- Uses Kolmogorov-Smirnov to select the best fit
- Draws n random samples from the fitted distribution
Fit Percentile ("fit_percentile")
- Fits as above, then returns n evenly spaced interior percentiles from the fitted distribution
- Deterministic for given inputs; useful for stable, representative points
Percentile ("percentile")
- Takes actual percentiles from the existing organization data (empirical)
- For n=1: 50th percentile; n=2: ~33rd/66th; n=3: 25th/50th/75th
- Fast and preserves the empirical shape
Weighted Fit Sample ("weighted_fit_sample")
- Like
fit_sample, but uses room for funding as weights when fitting - Emphasizes organizations with higher funding capacity
Weighted Fit Percentile ("weighted_fit_percentile")
- Like
fit_percentile, but uses room for funding as weights when fitting - Returns percentiles of the weighted fitted distribution
Weighted Percentile ("weighted_percentile")
- Like
percentile, but computes percentiles using room for funding as weights - With equal weights, matches
percentile
Implementation
The sampling strategies are implemented in draw_samples.R.