Validation

Before/After QC, Snowden Supervisor-Style — Now on Your Laptop

Snowden Supervisor-style drillhole data validation: Before/After QC that took a senior geologist a day, now 1 hour on your laptop. Thalanga sample workflow.

I watched a senior resource geologist in Jakarta run a Before/After validation in Excel last month. Seven hours. Seven hours for 60 holes, three domains, and a cup of coffee that went cold at 11 AM. He wasn’t wrong — his workflow was correct. He was just using the wrong tool.

Before/After validation is the discipline popularized by the Snowden Supervisor QC workflow and similar tools. The idea is simple: compare data statistics before and after you apply a top-cut, composite, domain exclusion, or any other transform. If you can’t show what changed and why, you can’t explain it to an auditor.

This post covers what Before/After validation actually is, the five checks I always run, and a worked example on the Thalanga sample dataset. The goal: you can do this in an hour on your laptop, offline, without a cloud server and without Excel crashing on 200K rows.

What “Snowden Supervisor-style” validation means

Snowden Supervisor is a QC product widely used by international resource consultants. The workflow isn’t software magic — it’s a discipline. Every time you transform data (top-cut, compositing, domain exclusion), the tool tracks the change and shows Before vs After summary statistics side-by-side. You see the mean shift, the distribution change, how many samples were affected.

What I want to be clear about: the principle works in any tool, including the GeoSuite Assay module. What matters isn’t the software name — it’s the discipline of tracking every transformation and documenting the reason.

JORC 2012 Table 1 Section 1 and KCMI 2017 both require you to disclose “a summary of any data adjustments” — top-cuts, exclusions, transforms. A Before/After summary is the cleanest format for answering that requirement. The auditor sees the table, sees the numbers, sees the justification per row. Done.

The five checks I always run

1. Collar + survey integrity (Before)

Before any transformation, confirm the source data is valid. These are checks before you even touch the assay table — the same baseline checks covered in detail in the drillhole data validation checklist.

  • Unique hole IDs: 0 duplicates in the collar table. One duplicate breaks every downstream join.
  • Coordinate range: easting/northing inside the project bounding box. An 8000 km offset happens when someone mistypes a UTM zone.
  • Survey depth monotonic: 15, 30, 25, 60 is broken. Surveys must monotonically increase.
  • Final depth match: max survey depth ≤ collar final_depth. Greater than = data entry error.

If anything fails here, you stop. There’s no point top-cutting data whose survey is already broken.

2. Assay overlap + BDL audit (Before)

The assay table is usually the messiest.

  • From-To overlap: [10–15, 12–18] is an overlap. Adjacent intervals may share a boundary, never overlap it.
  • From-To gaps: gaps without a documented “no sample” reason? Investigate.
  • BDL convention: below detection limit encoded as -1? 0? Half-detection-limit? String "BDL"? Pick one, verify consistency.
  • Negative grades: should never exist (except a documented BDL placeholder).
  • Unit consistency: gpt (Au) vs ppm (base metals) — don’t mix.

All of these are “Before” checks — pre-transformation. The results are your baseline.

3. Domain split + ANOVA (first Before/After)

Domain separation is the first significant transformation. You split assays per domain (lithology, weathering, or structure). The Before/After checks here:

  • Mean per domain vs global mean — a significant difference tells you your domains genuinely capture heterogeneity.
  • Variance per domain — a domain with much smaller variance than global = a well-defined domain.
  • Sample count per domain — a domain with <30 samples isn’t enough for an independent variogram.
  • ANOVA F-statistic across domains — large F + p <0.05 = domain separation justified.

If ANOVA gives a small F and p >0.05, your domains aren’t separating distinct populations. Consider consolidating or redefining. This is a step that gets skipped far too often.

4. Top-cut application (second Before/After)

Top-cut (capping) is the most political transformation in resource estimation. Auditors always ask “why P98, why not P95 or P99?” The Before/After summary answers that with data.

The pre-cut distribution and the post-cut variogram behaviour are what justify the cut value — see the variogram anatomy post for why an unstable experimental variogram is the signal to watch for.

What I track:

5. Compositing + final EDA stats (final Before/After)

After domain split + top-cut, you composite (typically to 1m, 2m, or 3m depending on sample support and drill spacing). Before/After for compositing:

  • Sample count: decreases (3,200 raw → 1,847 composites at 2m)
  • Mean: should be similar (if it shifts a lot, your composite method has a bug)
  • Variance: decreases due to the averaging effect (normal, expected)
  • Min/max: max decreases because compositing applies local smoothing

If mean shifts >5% after compositing, something is wrong. Compositing is averaging — the mean should be conserved. A large shift means either a bug in the composite algorithm or intervals getting skipped.

Worked Before/After: Thalanga sample data

To make this concrete, I ran the workflow on the Thalanga sample dataset (a public dataset commonly used in QC training). I used the GeoSuite Assay module, offline, on my laptop.

Before/After QC table for the Thalanga sample data: 4 domains, Au global mean 2.34 gpt before top-cut, 2.18 gpt after P98 cap.
Before/After summary for the Thalanga sample data. Domain SED-1 shows a -9.2% mean change after the P98 top-cut — reasonable. Domain VOL-2 shows -28% — too aggressive, the domain needs refinement.

What I got:

  • 60 holes, 3,200 raw assay intervals, 4 domains (SED-1, VOL-2, IGD-3, QVZ-4)
  • Collar + survey: 0 errors, all holes clean
  • Assay overlap: 0 overlaps, 1 documented gap (no sample at VOL-2 84–86m)
  • BDL convention: -1 for BDL, 100% consistent
  • Domain ANOVA: F = 47.3, p <0.001 → domain separation justified
  • Top-cut P98:
    • SED-1: mean 2.34 → 2.13 gpt (-9.2%), 38 samples affected (1.19%) ✓
    • VOL-2: mean 1.92 → 1.38 gpt (-28.1%), 9 samples affected (0.84%) ⚠️
    • IGD-3: mean 0.87 → 0.84 gpt (-3.4%), 22 samples affected (1.10%) ✓
    • QVZ-4: mean 4.15 → 3.95 gpt (-4.8%), 6 samples affected (0.75%) ✓

VOL-2 is clearly the problem. -28% mean change from only 0.84% of samples. I investigated: those 9 samples sit in 2 holes that span a narrow high-grade breccia zone. The fix: not a global top-cut — split VOL-2 into VOL-2a (main) + VOL-2b (breccia shoot). Re-run ANOVA. Mean change drops to -6.1% for VOL-2a, -3.2% for VOL-2b. ✓

Without the Before/After summary, this error wouldn’t surface until kriging started producing nonsensical estimates in the VOL-2 area. With Before/After, it gets caught at the QC stage.

Total time: 53 minutes. Including the VOL-2 investigation and domain re-split.

How the GeoSuite Assay module helps

The GeoSuite Assay module is the tool I built to run this workflow without Excel and without commercial 3D mining software priced like a car down payment. Specifically:

  • Before/After panel: every transformation (domain split, top-cut, composite) auto-generates a side-by-side summary. Mean, variance, CV, sample count, percentiles. All tracked.
  • Top-cut explorer: a slider from P90 to P99.9, with real-time display of how many samples are affected and how the mean shifts. Helps justify the cut value.
  • ANOVA + boxplot per domain: automatic on every domain split. F-statistic + p-value displayed.
  • Audit log: every transformation is logged with timestamp + parameters. Export as a PDF attachment for JORC Table 1 Section 1.
  • Offline: everything runs on your laptop. Nothing uploads to anyone else’s server.

What I protect: determinism. Same algorithm, same data, same result — today and 5 years from now when the auditor asks you to reproduce. That’s what I don’t get from manual Excel workflows.

This workflow genuinely moves me from “I think P98 top-cut is OK” to “P98 with 1.19% of samples affected and a -9.2% mean change, justified by experimental variogram stabilization.” A big difference when writing the report and answering the auditor.

Bottom line

Snowden Supervisor-style Before/After validation isn’t about expensive software. It’s about the discipline of tracking every transformation and documenting the justification per row. The five checks above — collar/survey, assay overlap/BDL, domain split + ANOVA, top-cut, compositing — are what I run on every project.

The tool you pick decides whether this takes a day or an hour. Excel: a day. The GeoSuite Assay module on your laptop: an hour. Commercial 3D mining software: also an hour, but with an annual license fee that doesn’t make sense for an independent consultant or a small-cap explorer.

Pick what fits your budget and workflow. What matters: run the checks, document the results, attach to Table 1.


Working on drillhole data validation and stuck in an Excel workflow? Try the GeoSuite Assay module free on your laptop — every Before/After check above runs offline, no install friction, no data uploaded anywhere.

Part of the Orebit ecosystem — geological workflow tools for drillhole validation, resource estimation, and JORC/KCMI reporting.
→ Explore GeoSuite

Try it

Try the toolkit this article uses.

Orebit GeoSuite — single-file HTML, works offline, no install. From CSV to resource report in one afternoon.

Explore GeoSuite →
# From this article:
open geosuite.orebit.id
load(your_drillhole.csv)
apply(workflow_above)

# Done. Ship the report.