Hugdrigo's picture
Upload 3 files
2886822 verified
|
Raw History Blame Contribute Delete
6.26 kB
metadata
title: ImpactLedger
emoji: 🌱
colorFrom: blue
colorTo: green
sdk: static
app_file: index.html
pinned: false
license: mit
short_description: Program impact and cost simulator.

ImpactLedger

Program Impact Intelligence Studio | Hugdrigo Portfolio Project #106

ImpactLedger is a self-contained, interactive educational simulator for comparing the costs, reach, observed outcome-rate changes and assumed attribution of fictional social programs. It includes a signed incremental-outcome model, interactive scenarios, reproducible Monte Carlo-style assumption shocks, a locally editable registry and portable JSON/CSV exports. It runs directly in the browser, with no backend or paid API.

Short description: Program impact and cost simulator.

Critical interpretation note: These are synthetic, invented programs and illustrative calculations. A before-and-after rate difference does not establish causal impact. The attribution percentages are user-defined assumptions, not estimated causal effects. The simulated outcome units are only comparable because this artificial dataset treats them as standardized. Never aggregate real health, education and employment outcomes as if they were interchangeable without a validated common framework. This is not a randomized evaluation, a causal-inference system, a certified SROI calculation, or financial advice.

Publishing to Hugging Face

  1. Open Create a new Space.
  2. Set owner to Hugdrigo and name to impactledger-program-intelligence.
  3. Select Static SDK, Blank template, Public visibility, and MIT license.
  4. Extract the downloaded ZIP and upload the three files to the Space repository root, not a subfolder: README.md, index.html and LICENSE.
  5. Commit the changes and open the App tab.

The README.md front matter uses Hugging Face-compatible colors: colorFrom: blue, colorTo: green. The Space does not require Docker, GPUs, a billing account, package installs, network access or secrets.

Features

Area Included functions
Impact overview Budget, reach, signed modeled incremental outcomes, cost per positive outcome, budget allocation and program comparison
Scenario studio Four presets, four interactive controls, scenario vs reference outcomes, per-program cost efficiency
Program registry Eight fictional example programs, add/edit (up to 120), search, archive/restore, input bounds, CSV export, JSON backup and restore
Uncertainty lab 400 reproducible seeded draws, synthetic P10/P50/P90, outcome-sensitivity comparison and methodology warnings
Methodology Exact equations, assumptions, interpretation cautions and program catalog
UI Responsive layout, dark mode, local-first storage and offline operation

Scenario presets

  • Baseline: no adjustments.
  • Funding squeeze: 15% reduced reach, -3 percentage points outcome rate, -20% budget, -5 percentage points attribution.
  • Delivery boost: +35% reach, +6 percentage points outcome rate, +20% budget, +5 points attribution.
  • Measurement stress: -10% reach, -8 points outcome rate, +15% cost, -20 points attribution.

Controls support reach -60% to +100%, measured outcome-rate changes -20 to +20 percentage points, budget -40% to +100%, and attribution -40 to +40 percentage points. Percentages are clamped to 0–100% where applicable.

Transparent equations

For one fictional program:

Adjusted reach = reach × (1 + reach_change_percent / 100)
Adjusted budget = budget × (1 + budget_change_percent / 100)
Adjusted follow-up rate = clamp(follow_up_rate + rate_change_pp, 0, 100)
Adjusted attribution = clamp(attribution_percent + attribution_change_pp, 0, 100)
Observed change (percentage points) = adjusted_follow_up_rate - baseline_rate
Modeled signed incremental outcomes = adjusted_reach × observed_change / 100 × adjusted_attribution / 100
Cost per positive incremental outcome = adjusted_budget / modeled_incremental_outcomes, only when modeled_incremental_outcomes > 0

Negative outcome-rate differences yield negative additional outcomes. Non-positive incremental outcomes show cost effectiveness as N/A rather than misleading positive efficiency. Portfolio totals assume that programs and outcome units do not overlap.

Synthetic uncertainty draws

The same deterministic seeded generator yields 400 draws with bounded invented reach, follow-up rate and attribution shocks. Percentiles are descriptive summaries of the chosen simulation, not calibrated uncertainty estimates, confidence intervals, counterfactual results or claims of actual impact.

Local data and safety

  • All computation runs in the browser; no third-party scripts, external tracking, cloud storage or network APIs.
  • Data saves in browser localStorage when supported, and can be backed up and restored using JSON.
  • JSON import checks backup schema/version, unique numeric IDs, field types, ranges, a 2 MB file-size limit and up to 120 records.
  • Imported program names are HTML-escaped before display. CSV exports quote cells and protect against spreadsheet formula injection while preserving legitimate negative numbers.
  • Browser storage is not encrypted. Do not enter sensitive participant or beneficiary information.
  • Archiving preserves program records in saved state; Reset demo is a deliberate, confirmed replacement of local data. Back up first.

Suggested evaluation workflow

Start with fictional examples, replace each assumption only with authorized aggregated data, inspect program-by-program changes, document your counterfactual/evaluation design independently, and use the scenario studio to test how strongly results depend on assumptions. Real impact reports require verified outcomes, evidence grading and causal identification.

Technical implementation

  • Standalone index.html with inline accessible HTML, CSS, JavaScript and SVG; no dependencies or build step.
  • MIT license in LICENSE.
  • Designed for Hugging Face Static Spaces.
  • All findings and comparison values are illustrative; the application is a portfolio demonstration, not an outcome assessment service.

© 2026 Hugdrigo. Project #106.