Resource Estimation

Block Model Validation: The 7-Step Checklist Before You Sign Off

Swath plots, NN comparison, grade-tonnage reconciliation — the 7-step block model validation checklist every resource geologist should run before CP sign-off.

I’ve reviewed resource models where the geologist ran the kriging, looked at the global mean, saw it was “close enough” to the composite mean, and signed off. The model passed the single weakest validation check that exists and failed every other one. Three months later, the mine plan was off by 18% on grade and the resource was rebuilt from scratch.

Block model validation is not a single number you check. It’s a sequence of checks, each catching a different class of error. Skip one and you leave a hole that an auditor or — worse — the mill will find for you. This is the 7-step checklist I run on every model before I’m willing to put my name near it.

Why validation matters

A kriged block model can look reasonable on a 3D view and still be wrong in ways that matter:

  • Local bias: global mean matches but the high-grade blocks are systematically in the wrong place
  • Smearing: high-grade composites leak into low-grade areas because the search is too wide
  • Conditional bias: kriging underestimates highs and overestimates lows — the model is “averaged”
  • Volume-variance issues: the block size is wrong for the SMU, so the grade-tonnage curve is misleading

None of these show up in a global mean comparison. They show up in the seven checks below. If you’re new to variography and how it feeds into these issues, the visual variography guide is the prerequisite.

The 7-step checklist

1. Visual inspection

The first check is the cheapest and catches the most obvious errors. Scroll through the block model on cross-sections and plans, overlaid with the composite data.

What to look for:

  • “Bullseye” grade patterns around single high-grade composites — usually a search that’s too small or a top-cut that wasn’t applied
  • Grade shells that don’t match the geology — if the high-grade blocks cut across the vein wireframe at an angle, your search orientation is wrong
  • Blocks estimated where there’s no data nearby — kriging extrapolating into empty space
  • Hard boundaries leaking — grade bleeding across a domain boundary that should be hard

Acceptance: no obvious bulls-eyes, grade shells parallel to geological boundaries, no estimated blocks more than the search range from the nearest composite.

I run this on at least 4–6 cross-sections and 2–3 level plans, covering different parts of the deposit. It’s subjective but it catches maybe 40% of the problems before the quantitative checks even start.

2. Global mean comparison

The check everyone does. Compare the global mean of the kriged blocks (weighted by volume or tonnage) to the mean of the composites (weighted equally, or by length if you want to be careful).

Acceptance: kriged mean within ±5% of the declustered composite mean. If you’re outside ±5%, something is systematically biased.

What fails look like:

  • Kriged mean higher than composite mean: usually no top-cut, or a search that’s too wide and pulling high grades outward
  • Kriged mean lower than composite mean: usually over-smoothing, search too large, or a block size that’s too coarse

This check alone is necessary but not sufficient. A model can pass this and still fail every other check, because global means average out local biases.

3. Swath plots

The check that catches local bias. Divide the deposit into swaths (typically along strike, across strike, and by elevation — three sets of plots). For each swath, plot:

  • Mean grade of composites in that swath
  • Mean grade of kriged blocks in that swath
  • Number of composites in that swath

What you’re looking for: the kriged block mean should track the composite mean across all swaths. If the composite curve has a peak and the block curve doesn’t reproduce it, you have local smoothing. If the block curve has a peak where the composite curve is flat, you have smearing.

Acceptance: visual match of the two curves. No swath where the block mean deviates from the composite mean by more than ~15% in a swath with ≥5 composites.

Swath plots are the single most informative validation tool. They show you where the model is wrong, not just whether it’s wrong. I run them along all three axes and look at every element estimated.

4. Nearest-neighbor (NN) comparison

Run a second pass of estimation using nearest-neighbor (no kriging, just assign each block the grade of the nearest composite). NN is a declustered proxy for the data — it has no smoothing, no smearing, and reproduces the local composite statistics.

Compare the kriged model to the NN model:

  • Global mean: should match within ±5%. NN mean is a better target than the raw composite mean because NN is declustered by the block layout.
  • Grade-tonnage curve: the kriged curve should lie slightly inside the NN curve (less tonnage at high grades, due to smoothing) but the shape should be similar.
  • Swath plots of kriged vs NN: track each other closely. Where they diverge, the kriging is smoothing or smearing.

Acceptance: kriged global mean within ±5% of NN mean, grade-tonnage curve shapes consistent, swath curves tracking.

NN is the gold standard comparison because it removes the “is the composite mean right?” question — both models use the same data, so any difference is the kriging, not the data.

5. Cross-validation (jackknife)

Remove each composite one at a time, krig its location using the remaining composites, and compare the estimated value to the actual value. This tests whether the variogram and search parameters can reproduce known values.

Metrics:

  • Mean error: should be ~0 (no systematic bias)
  • Mean squared error: as low as possible, but the absolute number matters less than the comparison across parameter sets
  • Correlation coefficient (estimated vs actual): typically 0.5–0.8 for well-estimated deposits; below 0.4 means the variogram or search is poorly configured
  • Slope of regression (estimated on actual): should be ~1.0. Below 1.0 indicates conditional bias — kriging is underestimating highs and overestimating lows.

Acceptance: mean error near 0, slope of regression 0.9–1.1, correlation ≥0.5.

Cross-validation is the most quantitative check and the one auditors love to see in the validation report. Run it for each domain and each element.

6. Grade-tonnage reconciliation

Plot the grade-tonnage curve for the kriged model at multiple cutoff grades. Compare it to:

  • The composite grade-tonnage curve (declustered)
  • The NN model grade-tonnage curve

What you’re looking for:

  • The kriged curve should be smoother than the composite curve — less tonnage at the extremes, more in the middle. That’s expected and correct.
  • The kriged curve should NOT cross the NN curve. If it does, your kriging is overestimating high-grade tonnage — usually a search or top-cut problem.
  • At the planned economic cutoff grade, the tonnage and grade should be reasonable. If the curve is flat at your cutoff, small changes in cutoff swing the tonnage hugely — flag this for the mine planners.

Acceptance: kriged curve inside the NN curve (slightly less extreme), no crossing, sensible sensitivity at the economic cutoff.

7. Classification review

The final check isn’t on the grades — it’s on the classification. Review every block classified as Measured or Indicated and confirm:

  • Data density: enough composites within the search neighborhood (typically ≥5 for Indicated, ≥15 for Measured, but use your kriging variance thresholds)
  • Search pass: Measured/Indicated blocks should be estimated on the first or second search pass, not a wide third pass
  • Average kriging variance: below your classification threshold
  • Geological continuity: the block sits within a coherent domain, not in an extrapolated tail
  • No Measured/Indicated blocks at the edge of the drilling — these are Inferred by definition

Acceptance: 100% of Measured and Indicated blocks meet the data density, search pass, kriging variance, and continuity criteria. Anything that doesn’t gets downgraded.

This is the step most often skipped and most often flagged in audits. If you can’t show the classification logic per block, an auditor will downgrade everything to Inferred and you’ll spend two weeks re-running the model.

Documenting the validation

For every model, I produce a validation report with these seven sections, each with the plots and the acceptance criteria explicitly stated:

Check Method Acceptance Pass/Fail
Visual 6 sections, 3 plans No bulls-eyes, geology matches
Global mean Kriged vs declustered composite ±5% ✓ (1.2%)
Swath plots 3 axes ±15% per swath
NN comparison Global mean + grade-tonnage ±5%, no crossing
Cross-validation Jackknife per domain Slope 0.9–1.1, r ≥0.5 ⚠️ (slope 0.87 in Domain B)
Grade-tonnage Kriged vs NN Inside, no crossing
Classification Per-block review All criteria met

The Domain B slope of 0.87 is a yellow flag — it means there’s mild conditional bias in that domain. Document the finding, accept it (it’s within tolerance), and note that Domain B’s high-grade estimates are slightly conservative. That’s the kind of transparency that builds trust with a Competent Person.

How Orebit GeoSuite helps

The Resource Estimation module runs the full validation suite automatically after kriging:

  • Swath plots along all three axes, with composite/block/NN curves overlaid
  • NN estimation pass generated automatically alongside the kriged model
  • Cross-validation (jackknife) with mean error, MSE, slope of regression, and correlation coefficient per domain
  • Grade-tonnage curves at user-defined cutoffs, kriged vs NN vs composite
  • Classification map with per-block kriging variance, search pass, and data density
  • Validation report export — one PDF with all seven sections, ready to attach to the resource report

The whole validation suite runs in about 10 minutes on a typical 40-hole, 50K-block model. Manual in a commercial package, the same work takes a day or two. The time savings matter less than the consistency — every model gets the same seven checks, every time, with the same acceptance criteria. No steps skipped because it’s Friday afternoon.

Try Core free → · Get the bundle — Rp 99K → (single modules Rp 49K · one-time · yours forever)

Bottom line

Block model validation is seven checks, not one. Global mean is necessary but nowhere near sufficient. Swath plots catch local bias. NN comparison isolates kriging effects from data effects. Cross-validation tests the variogram. Grade-tonnage checks the economics. Classification review confirms the classification is defensible.

Run all seven. Document all seven. If you’re skipping any of them because “the model looks fine,” you’re exactly the model I’ll be rebuilding in three months — and so will the next auditor. Block model validation is also where most of the resource estimation mistakes that cost millions actually surface.


Got a model that won’t validate cleanly and you can’t figure out why? Email hello@orebit.id with the swath plot and the variogram — I’ll tell you what I’d check next.

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.