Pilot 14 — dMRV Solution for E. coli estimation under the Gold Standard SDWS methodology
This report compiles evidence to close the four Forward Action Requirements (FARs) raised at Gold Standard Pilot 14 approval (3 September 2025). The pilot evaluates Virridy's Lume sensor as a digital substitute for periodic laboratory water-quality sampling under the Safe Drinking Water Supply (SDWS) methodology — specifically Parameter 18 (Microbial Drinking Water Quality), with exploratory evaluation of SDWS 23 (water volume) and SDWS 27 (operational days).
The current draft draws primarily on US-based validation studies conducted by Virridy and academic partners (Boulder Creek CO, Seine River FR, Yampa River CO, plus historical comparison data from Kenya and Malawi). These data establish the sensor's intrinsic measurement performance and the deployed regression model. They will be augmented and, where appropriate, replaced by Rwanda and Kenya field data from the Amazi Meza pilot deployment as it accumulates over the verification period.
For this dMRV implementation, Virridy has elected to deploy only transparent linear regression models for E. coli estimation — specifically, a linear regression with a single mon2×temperature interaction term (CFU regression) and a logistic regression for binary risk classification. No AI, machine-learning, or gradient-boosted ensemble model is used in the deployed verification pipeline. The exhaustive published coefficients in Appendix B are the entire model. While the academic literature explores ML approaches and Virridy's earlier research and patents include adaptive-learning techniques, the choice for verifier-facing operation is a fully auditable closed-form regression that any third party can reproduce with a calculator.
| FAR | Requirement | Status | Primary Evidence |
|---|---|---|---|
| FAR 1 | Sensor Validation & Calibration Protocols | In Progress | n=209 paired Lume↔Colilert (R²=0.881); n=303 paired Lume↔Membrane Filtration (R²=0.872); calibration protocol documented; field-rotation protocol pending Rwanda |
| FAR 2 | AI/ML Implementation & Validation | In Progress | Resolved by design: deployed model is a transparent linear regression (no AI/ML); model card with full coefficients in Appendix B; training-set provenance from Bedell et al. (2022) and Knopp et al. (2026); cross-validation results; version control via Lume desktop dashboard releases |
| FAR 3 | Manual ↔ Digital Integration Protocol | In Progress | Cross-check protocol drafted; US duplicate-sample QA data; Rwanda routine QA cadence pending Phase 2 deployment |
| FAR 4 | SDWS 23 & 27 Exploration | In Progress | US bench classifier validated on two test setups (Closed Pipe Flow 95.3% / Bucket 90.7%, κ ≥ 0.85); SDWS 23 & 27 recommended for inclusion in the monitoring plan; Rwanda field-validation pending |
No FAR is currently resolved; all four are in progress with US-pilot evidence in place and Rwanda/Kenya field evidence accumulating. Final closure of each FAR requires the field-deployment data identified in the per-FAR sections below.
This is a working draft. Sections marked TBD will be filled in with Rwanda Amazi Meza pilot data as Phase 1 (mobile validation) and Phase 2 (permanent installation) generate it. Where US data is shown as evidence, it represents the sensor's intrinsic performance and is methodologically appropriate as a baseline; site-specific evidence from Rwanda is required before a verifier audit.
The pilot is structured in two phases per the approved Implementation Plan:
TBD — Document any scope, schedule, or methodology deviations from the approved plan here. As of this draft, no formal deviations have been submitted.
| Cohort | Sensors deployed | Sites | Active since | Data points (cumulative) |
|---|---|---|---|---|
| US validation (Boulder Creek) | 3 | BC-CU, BC-55, BC-Can | April 2026 | ~50,000+ continuous readings |
| US bench / lab (multi-sensor) | 10+ | Lab fixture, Yampa, Seine | 2022 → present | n=512 paired lab samples (combined Colilert + MF) |
| Rwanda Amazi Meza — Phase 1 | TBD | TBD | TBD | TBD |
| Rwanda Amazi Meza — Phase 2 | TBD | TBD | TBD | TBD |
The project developer must provide detailed protocols for sensor validation and calibration, including frequency of calibration checks, acceptable drift thresholds, and procedures for replacing or recalibrating sensors that fall outside tolerance.
The Lume sensor's measurement performance against laboratory reference methods has been characterised across multiple independent studies. The two relevant gold-standard methods are Colilert (IDEXX defined-substrate technology) and membrane filtration (MF, US EPA Method 1604). Full source: thelume.ai/research.
| Reference method | Paired n | R² | Binary accuracy at 10 CFU/100 mL | Cohen's κ | Source |
|---|---|---|---|---|---|
| Colilert (IDEXX) | 209 | 0.881 | 0.92 (balanced 0.92) | 0.84 | Knopp et al. (2026); thelume.ai/research |
| Membrane Filtration (EPA 1604) | 303 | 0.872 | — | — | MF-trained model, method-agnostic validation |
| Three-way (Lume / Colilert / MF) | 153 | — | Lume κ=0.88 vs. Colilert | Colilert↔MF κ=0.40 | Method-comparison subset |
Notable: the Lume↔Colilert agreement (κ=0.88, almost perfect) is substantially stronger than the Colilert↔MF agreement (κ=0.40, fair) on the same n=153 split-sample set. This indicates the Lume's reproducibility against either reference method is on the order of, or better than, the inherent reproducibility between two accepted laboratory methods.
WHO-defined drinking-water risk bands (Low <1, Intermediate 1–10, High 10–100, Very High >100 CFU/100 mL):
| Risk band split | Threshold | Overall accuracy | Balanced accuracy | Cohen's κ |
|---|---|---|---|---|
| Safe vs. any contamination | 1 CFU/100 mL | 0.91 | 0.91 | 0.82 |
| WHO Low/Intermediate vs. High+ | 10 CFU/100 mL | 0.92 | 0.92 | 0.84 |
| 3-category (<10, 10–100, >100) | multi | 0.91 | 0.85 | 0.60 |
| Recreational binary (Seine R., held-out) | 900 CFU/100 mL | 0.968 | 0.94 | — |
The Lume sensor is calibrated at the operating point led_power = 512, sipm_bias ∈ [2960, 3040] (target 3000) — these are the parameters under which the deployed CFU regression and turbidity (NTU) regression were trained. Sensors falling outside this window automatically fall back to the (LED, bias) combo nearest the target via the Lume backend; readings from the fallback combo are flagged as “provisional” on operational dashboards.
| Calibration check | Frequency | Tolerance / Pass criterion | Action on failure |
|---|---|---|---|
| Operating-point combo (LED 512, bias ~3000) | Continuous (every reading) | bias ∈ [2960, 3040] | Fall back to nearest combo; dashboard flags “Provisional”; replace sensor if fallback persists > 7 days |
| Turbidity (ToF) zero-baseline check | Continuous (per-sensor 10th-%ile in-water) | Sensor-relative anomaly: NTU = max(0, 2.05 × (sps − baseline)) | Re-baseline automatically from rolling in-water minimum |
| Field paired CBT or Colilert grab-sample | Per institutional visit during Phase 1; at least quarterly during Phase 2 | Within 1 WHO risk band of Lume estimate | Investigate; flag period; re-train if systematic |
| Sensor swap / retirement | On detection of persistent fallback, low battery (<3.8 V steady), or repeated air-exposed flag | — | Replace in field; data continuity preserved via Blues check-in chain of custody |
The Lume Fleet Health dashboard (internal operations tool, requires login) tracks each sensor's:
Full documentation of the AI/ML model used for E. coli estimation must be provided, including training data sources, model architecture, validation results, accuracy metrics, and procedures for model retraining and version control.
The original FAR was written under the assumption that an AI/ML model would be deployed. Virridy has elected not to deploy an AI/ML model for verification. Instead, the deployed pipeline uses a closed-form linear regression with a single interaction term (for quantitative CFU/100 mL) and a logistic regression (for binary > 10 CFU/100 mL classification). Both are exhaustively specified by the coefficient values in Appendix B and reproducible by hand. There is no opaque model state, no black-box inference, no online learning, and no need for AI-specific governance such as adversarial testing or fairness auditing. The remainder of this section documents the deployed regression model as if it were the full ML model the FAR contemplates — recognising that the “ML” in question is, by deliberate design choice, the simplest non-trivial linear model.
| Attribute | Value |
|---|---|
| Model family | Linear regression with one interaction term (quantitative CFU); logistic regression (binary > 10 CFU/100 mL). No AI, no decision trees, no ensemble methods, no neural networks in the deployed pipeline. |
| Output (primary) | E. coli concentration (CFU/100 mL), continuous regression with sensor-derived uncertainty bounds |
| Output (secondary) | Categorical risk class (WHO Low / Intermediate / High / Very High) |
| Input features | Tryptophan-like fluorescence (TLF, mon2_val), water temperature (floor_temp), turbidity proxy (Time-of-Flight return per SPAD, tof_mean), and the TLF×temperature interaction term |
| Operating-point filter | Rows accepted only at led_power = 512, sipm_bias ∈ [2960, 3040] (post-2026-04-27 widening); rows outside the window fall back to nearest combo and are flagged provisional |
| Pre-processing | Hampel filter on TLF outliers; ±2 min annotation buffer; top-2% residual trim on training set; centred rolling-mean low-pass on bias-corrected TLF |
| Quantitative regression form | Linear regression with interaction (ported from Lume desktop dashboard src/model/e_coli.rs ACTIVE_MODEL): CFU = 11.477 − 0.0146 · mon2 − 0.671 · temp + 0.0172 · tof + 0.000785 · mon2 · temp, floored at 0.1 CFU/100 mL |
| Classifier (logistic) | P(>10 CFU/100 mL) = sigmoid(−26.32 + 0.00974 · mon2 − 0.186 · temp + 0.204 · tof) |
| Dataset | n | Reference method | Locations | Use |
|---|---|---|---|---|
| Lume v1.2 multi-site validation | ~512 paired (combined Colilert + MF) | Colilert / MF | US (Colorado: Boulder Creek, Yampa); France (Seine); historical Kenya, Malawi | Primary regression training + cross-validation |
| Bedell et al. (2022) Water Research | Published | Culture-based | Kenya groundwater (37 sites, Sorensen et al. 2018 cohort) | Foundational TLF↔E. coli relationship; 83% reported accuracy |
| Knopp et al. (2026) EarthArXiv | Published | Colilert + MF | Multi-site (US + France) | Lume v1.2 sensor design + multi-site validation results |
| Demaree et al. (2026) ES&T Water | Published | Colilert | Upper Yampa River, CO | Sensor-informed predictive models |
| Nowicki et al. (2020) | Published | Culture | Malawi | TLF reproducibility (14% RPD vs. ≥26% for culture) |
| CV scheme | RMSE | MAPE | R² / Accuracy | Notes |
|---|---|---|---|---|
| Temporally-structured global CV (training) | 0.58 log units | 22.5% | — | Across all sites, blocking on time |
| Temporally-structured global CV (test) | 0.59 log units | 18.8% | — | Held-out time blocks |
| Boulder Creek held-out test | — | 7.1% (log space) | R² = 0.67 | >75% of predictions within Colilert analytical uncertainty |
| Seine River held-out test (binary <900 / >900 CFU/100 mL) | — | — | 96.8% accuracy, 94% balanced | Cross-domain generalisation (saline-influenced river) |
functions/js/ecoli-model.js.js in the Virridy code repository (model version 2026-04-27-turbidity-relative). The same coefficients are mirrored in the offline Lume desktop dashboard (src/model/e_coli.rs ACTIVE_MODEL); both copies must move together.MODEL_VERSION string. The shared model file is served with Cache-Control: no-store so every dashboard fetches the latest on every page load — no per-page cache busting required.SweetSenseInc/lume_desktop_dashboard repository on the pc-sandbox branch.A clear protocol must be established for integrating manual water quality sampling with the digital Lume sensor data. This should define when manual sampling is required as a complement or cross-check, and how discrepancies between manual and digital results are resolved.
The Boulder Creek validation work has accumulated paired-sample QA data with both Colilert and MF reference methods. TBD: insert duplicate-sample replicate spread, per-replicate CV, and discrepancy rates from the US pilot here once the Lume mWater datagrid for Rwanda has the same structure.
For US bench-comparison context, the Colilert↔MF discrepancy rate on the same paired dataset (n=153) was κ=0.40 (“fair agreement”) — which sets the practical floor for inter-method discrepancy. A Lume↔CBT discrepancy rate similar to Colilert↔MF should be considered nominal rather than a sensor failure.
The project developer should explore the applicability of SDWS Parameters 23 (volume of safe water treatment) and 27 (operational days) to the dMRV solution and provide a rationale for inclusion or exclusion of these parameters in the monitoring plan.
SDWS Parameter 23 (volume of safe water treatment) and SDWS Parameter 27 (operational days) are the two SDWS parameters most amenable to digital substitution by an in-line Lume sensor. The Lume's existing on-board channels — UVLED / SiPM / board temperatures and ToF turbidity — change predictably when the sensor's optical interface transitions between air-exposed, still water, and flowing water. Mapped to the methodology:
An end-to-end US bench study built and validated a per-point flow-state classifier on Lume sensor #50051 across two distinct fixtures. Full results, methodology, snapshot data, and the static analysis page are at piped-flow-test.pages.dev/analysis/ (snapshot 2026-04-27).
| Test setup | Primary SDWS target | Overall accuracy | Cohen's κ | Key per-class result |
|---|---|---|---|---|
| Closed Pipe Flow (n=696 points) | SDWS 23 (volume) | 95.3% | 0.89 | Flowing recall 96.3%, Still recall 98.1% |
| Bucket Dispenser (n=899 points) | SDWS 27 (operational days) | 90.7% | 0.85 | Air recall 96.0%, Air precision 100.0% |
| Combined (n=1,595 points) | — | 93.0% | 0.85 | All three classes ≥ 85% recall |
For an integral-over-time deployment metric, this corresponds to ~7% time-budget error per measurement period across both setups combined: roughly 5 min of misclassified state per 100 min on the Closed Pipe Flow rig (relevant to SDWS 23) and roughly 9 min per 100 min on the Bucket rig (relevant to SDWS 27). Both are well within the precision needed for monthly carbon-credit verification cycles.
Feasibility: the Bucket Dispenser test directly demonstrates SDWS-27-grade air-vs-water discrimination. Air precision is 100% (every Air prediction was correct — zero false-positives) and Air recall is 96% (96 of every 100 actual air-exposed minutes are correctly labelled). For a binary daily question — "did this site have water for ≥ N minutes today?" — this exceeds the precision needed to meet Gold Standard's audit requirements. The 4% of missed Air minutes are biased toward conservatism (counting borderline air-exposed periods as Still under-counts air-exposure days, never over-counts).
Proposed deployment formula:
Feasibility: the Closed Pipe Flow test directly demonstrates SDWS-23-grade flowing-vs-still discrimination. Overall accuracy is 95.3% with Flowing precision 94.0% and Still precision 96.4%. The residual error is dominated by Flowing → Still under-counts (a directionally favorable bias for a conservative volume estimate; see below). The classifier is therefore sensor-side ready for SDWS 23 estimation, conditional on per-site flow-rate calibration.
Proposed deployment formula:
The dominant bottleneck across both tests is sample cadence. At the snapshot rate of one sensor reading per ~6 min, 15-min Flowing windows yield only 2–3 samples per event, leaving the temperature-derivative features statistically underpowered. The straightforward operational fix is to return the firmware to 1-min sample cadence (the configuration the original 2026-04-18 closed-pipe-flow study used), which would put 15+ samples in every Flowing event and is expected to lift Flowing recall on both setups well above 95%. This will be implemented before the Phase-2 Rwanda deployment.
US bench evidence demonstrates classifier accuracy that meets the precision needed for both parameters, and the deployment formulas (above) reduce each to an aggregation of well-characterised per-point predictions. Final inclusion is conditional on the Phase-2 Rwanda field-validation work below.
The US-side mobile validation work establishes the Lume's intrinsic measurement performance and the linear-regression model that Rwanda Phase-1 inherits (no AI/ML — see FAR 2). Headline metrics are summarised under FAR 1 and FAR 2 above. Live US deployments include three Boulder Creek sensors (BC-CU, BC-55, BC-Can) currently streaming continuously to the Boulder Water dashboard (boulder-water.pages.dev).
Per the approved Implementation Plan, Phase 2 deploys 30–50 permanent Lume sensors at Amazi Meza institutional sites in Rwanda. Phase-2 evidence is required to close FAR 3 (continuous digital monitoring with manual cross-checks) and FAR 4 (operational-day and volume estimation in real installations). Anticipated start: TBD.
| Metric | Aggregation | Target | Result |
|---|---|---|---|
| Sensor uptime | % of expected check-ins received | ≥95% | TBD |
| Calibrated-combo coverage | % of readings at led=512, bias∈[2960,3040] | ≥90% | TBD |
| Battery longevity | Median V/week drift | <0.05 V/week | TBD |
| CBT cross-check rate | Paired samples per site per quarter | ≥3 | TBD |
| Discrepancy rate | % of CBT pairs >1 WHO band off | ≤15% (matched to Colilert↔MF baseline) | TBD |
| Operational-day coverage (SDWS 27) | Days/site with ≥120 min in-water flag | ≥28 / 30 days | TBD |
2026-04-27-turbidity-relative for the duration of the verification window unless a documented retraining trigger fires; any mid-window model change requires an audit-trail entry.Authoritative copies live in virridy-lume-summary/functions/js/ecoli-model.js.js and SweetSenseInc/lume_desktop_dashboard:src/model/e_coli.rs.
| Model | Coefficient | Value |
|---|---|---|
| CFU regression (linear + interaction) | intercept | 11.4773 |
| mon2_val | −0.0146124 | |
| floor_temp | −0.6708344 | |
| tof_mean | 0.0171708 | |
| (continued) | mon2_val × floor_temp | 0.0007850 |
| Logistic classifier (P > 10 CFU/100 mL) | intercept | −26.317203 |
| mon2_val | 0.009744 | |
| floor_temp | −0.185900 | |
| tof_mean | 0.204381 | |
| Turbidity (NTU) regression — bench, sensor 50031 | intercept (absolute, single-sensor) | −145.89 |
| slope (transfers across sensors) | 2.0488 |
Note: The absolute NTU intercept is sensor-specific (calibrated on bench unit 50031). Field deployments use a sensor-relative anomaly form: NTU = max(0, 2.05 × (sps − per-sensor-baseline)), where the baseline is the rolling 10th-percentile of in-water sps for that unit.
Rolling table of all (Lume, CBT) pairs flagged as discrepant under the FAR 3 protocol, with resolution status. To be populated as Phase 1 / Phase 2 sampling generates pairs.
Per-serial table: barcode, deployment site, install date, calibration certificate, replacement events. Pulled from the Virridy Lume Inventory database.
| Version | Date | Author | Changes |
|---|---|---|---|
| 0.1 (Draft) | 2026-04-27 | Virridy | Initial draft. US-pilot evidence populated for FARs 1, 2, 4.3; Rwanda / Phase-2 sections marked TBD. |