Files
boc/landvex-site/insights/how-the-consensus-engine-works/index.html
T
Bernt 1a12fb870b dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study
- New /developers/ page with API docs, SDKs, pricing, use cases
- OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics
- Case study: Glasskiosken i Flatenbadet — complete ROI analysis
- Updated /order/ with recurring missions and frequency dropdown
2026-07-14 15:27:33 +00:00

187 lines
14 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>How the Consensus Engine Works | Landvex</title>
<meta name="description" content="The Landvex Consensus Engine does not vote. It weighs. Learn how multiple observation streams are combined into a single, confidence-scored finding.">
<link rel="canonical" href="https://landvex.com/insights/how-the-consensus-engine-works/">
<meta property="og:title" content="How the Consensus Engine Works | Landvex">
<meta property="og:description" content="The Landvex Consensus Engine does not vote. It weighs. Learn how multiple observation streams are combined into a single, confidence-scored finding.">
<meta property="og:type" content="article">
<meta property="og:url" content="https://landvex.com/insights/how-the-consensus-engine-works/">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How the Landvex Consensus Engine Works: From Observations to Findings",
"description": "The Landvex Consensus Engine does not vote. It weighs. Learn how multiple observation streams are combined into a single, confidence-scored finding.",
"author": {"@type": "Organization", "name": "Landvex"},
"publisher": {"@type": "Organization", "name": "Landvex", "logo": {"@type": "ImageObject", "url": "https://landvex.com/apple-touch-icon.png"}},
"datePublished": "2026-07-20",
"dateModified": "2026-07-20",
"mainEntityOfPage": {"@type": "WebPage", "@id": "https://landvex.com/insights/how-the-consensus-engine-works/"}
}
</script>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif; line-height: 1.6; max-width: 760px; margin: 0 auto; padding: 40px 20px; color: #1a1a1a; }
h1 { font-size: 2.5rem; font-weight: 700; margin-bottom: 0.5em; line-height: 1.2; }
h2 { font-size: 1.5rem; font-weight: 600; margin-top: 2em; margin-bottom: 0.5em; }
p { margin-bottom: 1.2em; }
.meta { color: #666; font-size: 0.9rem; margin-bottom: 2em; }
.cta { background: #f5f5f5; padding: 24px; border-radius: var(--radius-md); margin: 2em 0; }
.cta a { color: #0066cc; text-decoration: none; font-weight: 600; }
footer { margin-top: 4em; padding-top: 2em; border-top: 1px solid #eee; font-size: 0.85rem; color: #666; }
</style>
</head>
<body>
<article>
<h1>How the Landvex Consensus Engine Works: From Observations to Findings</h1>
<p class="meta">Published July 20, 2026 · Data Quality</p>
<p>When multiple contributors observe the same asset, the naive approach is to take a vote. Three people say the lamp is working, one says it is not — majority wins. The problem is that votes treat every input as equally reliable, which is never true.</p>
<p>The Landvex <strong>Consensus Engine</strong> takes a different approach. It does not vote. It weighs.</p>
<h2>Five signals, one finding</h2>
<p>Every observation that enters the engine carries metadata beyond the raw answer. The Consensus Engine combines five weighted signals into a single scored finding:</p>
<p><strong>1. AI model confidence.</strong> The underlying detection model's certainty about what it sees — a crack, a working lamp, an obscured sign.</p>
<p><strong>2. Human validation.</strong> Where available, expert review of a sample of observations, used to calibrate model performance per category and condition.</p>
<p><strong>3. Historical consistency.</strong> Whether the current observation aligns with the known history of the same asset. A lamp reported as broken for the third time in two months carries different weight than a first-time report.</p>
<p><strong>4. Cross-contributor agreement.</strong> How closely independent observations of the same asset agree, weighted by each contributor's established reliability profile.</p>
<p><strong>5. Official record alignment.</strong> Where official GIS or maintenance registers exist, the engine factors in whether the observation confirms or contradicts the registered state.</p>
<h2>Weighted aggregation, not averaging</h2>
<p>The engine does not simply average the five signals. Each signal's weight is adjusted dynamically based on the category, the asset type, and the available data quality. For a lighting asset, model confidence and cross-contributor agreement may dominate. For a vegetation assessment, historical consistency and official record alignment may matter more.</p>
<p>The output is not a binary yes/no. It is a <strong>confidence-scored finding</strong>: <em>"Asset condition: degraded, confidence 87%, based on 4 observations, 2 validators, 1 contradiction with register."</em></p>
<h2>What happens when signals conflict</h2>
<p>Conflict is information, not noise. When the AI predicts "intact" and a trusted contributor reports "damaged," the engine flags the asset for priority re-observation rather than forcing a resolution. The contradiction itself becomes a finding: <em>"Condition uncertain — conflicting evidence, requires verification."</em></p>
<p>This design avoids the most dangerous failure mode of consensus systems: false certainty. An unresolved conflict is more useful than a wrongly resolved one.</p>
<h2>Traceability by design</h2>
<p>Every finding produced by the Consensus Engine retains a full provenance chain: which observations contributed, what each signal scored, how the weights were applied, and what the confidence calculation yielded. A customer who questions a finding can trace it back to source.</p>
<div class="cta">
<strong>See how consensus-scored findings apply to your decision.</strong><br>
<a href="/enterprise/">Request a pilot →</a>
</div>
</article>
<footer>
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
<!-- Main Footer Grid -->
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
<!-- Column 1: Products -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
</ul>
</div>
<!-- Column 2: Solutions -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
</ul>
</div>
<!-- Column 3: Resources -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
</ul>
</div>
<!-- Column 4: Company -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
</ul>
</div>
</div>
<!-- Divider -->
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
<!-- Legal & Compliance Row -->
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
</div>
<div style="display:flex;gap:16px;">
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
</a>
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
</div>
</div>
<!-- Company Info Row -->
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
<div>
<div style="font-size:12px;color:#86868B;line-height:1.6;">
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Stockholm, Sweden · EU<br>
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
</div>
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
</div>
</div>
<div style="font-size:12px;color:#86868B;">
© 2026 Landvex Inc / Landvex AB. All rights reserved.
</div>
</div>
</div>
</div>
</footer>
</body>
</html>