Noetic

Scoring Methodology

How Opportunity Scout ranks and filters state, county, and municipal contracting opportunities

← Back to Scout

Overview

Opportunity Scout scores each uploaded solicitation and pre-solicitation on a 0–93% Win Likelihood scale. This is not a statistical win probability — it's a relative priority rank designed to surface the best-fit, lowest-friction opportunities for a small business at an early stage.

Scoring runs entirely server-side in the Cloudflare Worker. The formula is not visible in page source. All scores are computed fresh on each scan and can be refined further by Claude AI analysis of the actual solicitation document.

Sources & taxonomy

Every opportunity carries a source tag: state-md (Maryland eMMA) or state-va (Virginia eVA). Records are UNSPSC-coded; the code is stored in a classificationCode field. Opportunities are loaded via upload (JSON or a fixed-column CSV template) and persist in the Worker's KV store; live portal adapters are stubbed pending API access.

Because records carry a UNSPSC code rather than a matchable profile-code table, scope alignment is judged from the title keyword patterns (see Step 3), with a flat classification credit standing in for a profile-code hit.

Win Likelihood = Base(25) + Eligibility + Value + Set-aside + Remote + Keyword − No-match penalty + Classification credit + Complexity penalty − Red flag penalties → clamped 8%–93%

Step 1 — Exclusion Filter

Before scoring, any opportunity whose title matches an exclusion pattern is flagged "off-profile" and given a score of 5% (excluded from the ranked view by default). Exclusions are hard filters — they indicate scope that is structurally outside your capabilities.

CategoryExample keywords
Aviation / aerospaceaircraft, aviation, airframe, rotor, helicopter
Weapons / ordnanceweapon, ordnance, ammunition, missile, artillery
CBRN / hazardous materialsnuclear, radiological, hazmat, biological agent
Heavy civil constructiondam, bridge, freeway, dredge, excavate
Medical devicesimplant, prosthetic, surgical instrument, diagnostic kit
Food service / agriculturecafeteria, catering, livestock, crop
Electronics manufacturingcircuit board, PCB, semiconductor, cable assembly
Marine vesselsvessel, ship, submarine, destroyer

Step 2 — Base Score & Adjustments

Base

Every non-excluded opportunity starts at 25% — roughly the average competitive win rate for a small business bidding open solicitations.

Eligibility

ConditionAdjustment
Eligible now (SB / SBR / SWaM / SBE / open competition / unrestricted)+25%
Future eligible (WOSB, SDVOSB, 8(a), HUBZone — cert gap)+5%
Other / check required+0%

Contract value

Contract valueAdjustmentRationale
Unknown / $0+5%Unpriced — assume small
≤ $25K+20%Micro-purchase range — easiest to win
$25K–$100K+16%Small-purchase threshold
$100K–$250K+10%Small enough to execute easily
$250K–$500K+4%Moderate size
$500K–$1M−4%Increasing competition and scrutiny
> $1M−14%Large contracts attract established contractors

Complexity

Complexity (Low −0% / Medium −5% / High −14%) is decoupled from raw dollar value. Large contract size alone does not imply execution difficulty for a low-friction service.

CategoryComplexity rule
Janitorial, Grounds/Lawn, Software Resale, Admin SupportLow up to $1M; Medium above $1M — never High from size alone
Real Estate, Consulting, Mental Health, unclassifiedStandard value tiers: Low <$150K, Medium $150K–$1M, High >$1M
Any category with a Systems Engineering, Enterprise Scope, or COOP red flag+1 complexity level (capped at High)

Complexity also drives sort order — the ranked list is ordered by WinLikelihood² ÷ Complexity², so a High-complexity opportunity ranks well below a Low-complexity one at the same win likelihood.

Set-aside & location

ConditionAdjustment
SB set-aside or unrestricted+10%
Statewide / remote performance+4%

Maryland SBR (Small Business Reserve), Virginia SWaM (Small, Women-owned & Minority-owned), and generic municipal SBE (Small Business Enterprise) set-asides are all treated as small-business-eligible now.

Step 3 — Keyword Boost & No-Match Penalty

The opportunity title is scanned for keywords matching your service profile. The first matching pattern applies its boost and labels the opportunity (e.g. "Janitorial", "Mental Health").

Category labelTrigger keywords (sample)Boost
Mental Healthmental health, counseling, therapy, behavioral health, clinical, psycholog+20%
Janitorialjanitorial, custodial, cleaning, housekeeping, sanitation+18%
Grounds/Lawnlawn, landscape, grounds, mowing, turf, vegetation+18%
Consultingconsulting, advisory, management support, program support, acquisition support+15%
Software Resalesoftware, license, subscription, SaaS, technology resell+14%
Real Estatereal estate, property, space search, facility finder, lease+14%
Admin Supportadministrative, admin support, office support, clerical, records management+12%
No-match penalty: −12%
If no keyword pattern matches the title, the opportunity scores a −12% penalty. Vague titles (e.g. "Miscellaneous Support Requirement") are likely misclassified or out-of-profile. Unknown scope defaults to skepticism.

Classification credit

Records carry a UNSPSC code, not a matchable profile-code table. Instead, an opportunity whose title matches one of the keyword patterns above receives a flat +8% classification credit plus +15 signal points. This stands in for a direct profile-code hit; it applies once, on a keyword match.

Step 4 — Red Flag Deductions

Title patterns that signal structural disadvantage are scanned. Total deduction is capped at −30% regardless of how many flags trigger. Up to 2 flag labels are shown in the opportunity row.

FlagTrigger keywords (sample)Deduction
O&Moperations and maintenance, O&M−15%
Incumbent Signalincumbent, recompete, follow-on contract, option exercise−12%
IDIQ/VehicleIDIQ, MATOC, BPA, blanket purchase agreement, indefinite-delivery−12%
Sys Engineeringsystems engineering, systems integration, systems architect−12%
COOPcontinuity of operations, COOP−10%
Enterprise Scopeenterprise-wide, enterprise solution, portfolio management−10%
Health ITmedical records, EHR, electronic health record, clinical data−8%
Logisticslogistics support, supply chain, inventory management, warehousing−8%

Score Signal

Each score is accompanied by a Signal indicator (High / Med / Low) that tells you how much data supports the score — not whether the score is good or bad.

● High signal Strong keyword match (category boost triggered) plus classification credit. Score reflects real information about scope alignment.
● Med signal Partial signal. A keyword match is present but weak, or the title is otherwise ambiguous.
● Low signal No keyword match. Score is a conservative structural estimate — treat it as a flag for closer review, not a reliable likelihood.

Claude AI Analysis

On demand (click "Analyze ✦"), Claude reads the solicitation documents attached to the uploaded record and returns a structured assessment including:

AI analyses are cached for 90 days. After a scan, any previously analyzed opportunities have their results automatically restored so you don't re-pay for Claude on the same solicitation. All analyzed opportunities are stored in the Analysis Archive.

AI vs. algorithmic score: The algorithmic score is fast and free — it's designed to filter out noise and surface candidates worth closer inspection. The AI analysis is the deeper read. The goal is to close the gap between the two by continuously improving the algorithm based on patterns seen in AI outputs.

Known Gaps & Limitations

What the score does not capture: