Public
Edited
Nov 13, 2023
1 fork
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
eutpf = participants.filter(x => x.program == "EUTPF2022")
Insert cell
eutpfFellows = participants.filter(x => x.treatment)
Insert cell
In the EUTPF 2022 group, there was ${participants.filter(x => x.program = "EUTPF2022").length} participants, ${participants.filter(x.pro


Doing so

Because we're looking for a robust evaluation, we look to evaluate training for good on multiple measures to make sure that it is going well:

- Criteria based importance adjusted placements
- Relative utility importance adjusted placements
- Criteria based importance adjusted impact moments
- Relative utility importance adjusted impact moments
- Discount Impacted Adjusted Peak Years (DIPY)
- Qualitative flags of effectiveness

Questions here include:
- Did the fellows feel like they learnt things from the fellowship?
- Did they come up with good connections?

```
Notes:
Will mostly come from post survey data.
Methods of determining causality without randomness:
- Asking participants
- Look at syllibus, and then try to determine how much of that syllibus is actually used in their job?
- Try and determine whether the intermediate outcomes occurred along the theory of change.
- Identify problems against causation (such as identifying baseline differences)
```
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data
Type Table, then Shift-Enter. Ctrl-space for more options.

Insert cell
Insert cell
Insert cell
viewof icaps_cell = chart(`icap(x) = x.importance.sigma == 0 ? 1 : lognormal(x.importance.mu, x.importance.sigma)
sum(x) = reduce(x, 0, {|a, b| a + b})
eutpf_treatment = sum(map($eutpf.treatment, icap))
eutpf_control = sum(map($eutpf.control, icap))
Plot.dists({dists: [{name: "EUTPF Treatment", value: log10(eutpf_treatment)}, {name: "EUTPF Control", value: log10(eutpf_control)}]})`, [], {jsImports: icap_imports, distributionChartSettings: {showSummary: true}})
Insert cell
viewof treatment_effect = chart(`eutpf_treatment - eutpf_control`, [icaps_cell], {jsImports: icap_imports, distributionChartSettings: {showSummary: true}})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
impact_moments
Type Table, then Shift-Enter. Ctrl-space for more options.

Insert cell
Insert cell
get_im_total = participants => d3.mean(participants.map(p => d3.sum(impact_moments.filter(im => p.id === im.participantId).map(im => im.evaluation))))
Insert cell
impact_moment_difference = get_im_total(participants.filter(x => x.treatment)) - get_im_total(participants.filter(x => !x.treatment))
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
formatCurrency = d3.format("$,")
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
import {toc} from "@harrystevens/toc"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more