Who It's For: Suppliers Who Don't Want to Hunt for the Right Tender
Matching Engine is built for suppliers who want an automatic relevance ranking across a multi-source tender feed instead of manually scanning for notices that fit their sector, product codes and target countries.
- Suppliers tracking tenders across multiple sources (EKAP, UNGM, World Bank, TED and more)
- Procurement teams who want to define their profile once and see relevant tenders automatically
- Business development teams that need a quick read on which tenders genuinely fit their capacity
The Problem: Manual Review Doesn't Scale
TenderZoom ingests hundreds of tenders daily from dozens of sources. Manually reviewing which ones fit a company's sector, product codes and target markets is slow and inconsistent — two people applying the same criteria can flag different tenders as relevant.
Simple keyword search falls short too: a tender's title may not mention your sector even though its CPV code matches exactly, or vice versa. Consistent ranking requires weighing multiple signals together, with explicit weights.
How It Works: From Profile to Ranking
Matching Engine runs as a chain from your company profile to a ranked tender list. Each step's status is marked separately.
- Company profile definition Live
Recording sector, CPV/UNSPSC code, capability, certifications, keywords and target countries.
- Candidate pool narrowing Live
Filtering active tenders down to relevant candidates by sector/code at the SQL level.
- Weighted scoring Live
Scoring each candidate across 5 components: sector, code, capability, country and keyword.
- Real-time display Live
Showing the ranked result instantly on the tenders page and dashboard.
- Persistence and new-match detection Live
Writing results to the database and identifying matches that are new since the last scan.
- Proactive notification Planned
Automatically notifying the user when a new high-scoring match is found.
Three Layers
Canlı Eşleştirme Görünümü
The relevance ranking computed from your company profile is shown in real time in the tenders page's 'For your company' filter and on your dashboard. This layer does not depend on any scheduled job — it recomputes against your current profile every time you load the page.
- Live today: tenders page + dashboard, free, no plan restriction
- Applies across all tender sources (no source-specific filter)
- Short-lived caching for speed without going stale
Şeffaf Puanlama Nedenleri
The engine internally computes which components (sector, code, country, etc.) contributed to each score and produces reasons. One of the UI components that used to consistently surface this explanation (on the tender detail page) is no longer used in the active codebase.
- Today: score reasons are computed by the engine
- Partial: consistent display of those reasons to users is limited
- Planned: re-enabling the 'why this was recommended' explanation across all matching surfaces
Proaktif Eşleşme Bildirimi
The code needed to notify a user automatically when a new high-scoring match appears — persistence, event generation, notification queueing — has been written. However, the scheduled job that would trigger this pipeline regularly is not currently registered in the production server's real task schedule, so this layer does not reach users today.
- Ready in code: persistence + event generation + notification queue logic
- Planned: regularly triggering this pipeline on the production server
- Design note: the email channel is deliberately excluded for this event type; only in-app/push are planned
Scoring Methodology
Scoring is a weighted sum of five components: sector fit, CPV/UNSPSC/OKAS code match, capability fit, target-country fit, and keyword match. When a profile field is left blank (say, no target country specified), that component is removed entirely from the weighting — it is never backfilled with a fake mid-range score.
The result is converted into a thresholded band — perfect/high/medium/low — giving you an understandable relevance category instead of a raw number.
- 5 components: sector, code (CPV/UNSPSC/OKAS), capability, country, keyword
- Blank profile fields are removed from the weight pool, never estimated
- Result is categorized into perfect/high/medium/low bands
Transparency Approach
Even the engine's own internal assessment reflects our honesty principle: the company's own operations dashboard currently marks the matching engine's health/performance telemetry as 'not measurable' — the existence of the code is not treated as proof of engine quality. We apply the same principle on this page: layers that work are marked 'live,' and layers that are unmeasured or unscheduled are marked 'partial' or 'planned' as they actually are.
Use Cases
Use the 'For your company' filter on the tenders page to see a single ranked list across all sources.
See tenders relevant to your profile surfaced instantly on your dashboard.
Enter your sector, codes and countries once — matching runs automatically on every tender update.
Being notified when a new high-scoring match appears, without checking your dashboard.
Integration Scope
The matching engine is source-agnostic: there is no connector-specific filter, it applies to every active tender in the system.
| Layer | Status | Description |
|---|---|---|
| Real-time matching (all sources) | Live | Live on the tenders page + dashboard, free |
| Free-text product matching | Live | A separate engine; requires a premium plan |
| Persistent match records + notification queue | Planned | Code is ready; not yet wired into a production schedule |
Honest Product Status
The table below summarizes the current real status of every capability described on this page.
| Capability | Status | Description |
|---|---|---|
| Real-time matching display (tenders + dashboard) | Live | In production, free, no plan restriction |
| Company profile management | Live | In production, via a working form |
| Weighted, multi-component scoring | Live | In production, does not backfill blank fields |
| Score explanation shown across all surfaces | Partially Live | Computed internally; some display components are no longer used |
| Proactive new-match notification | Planned | Code ready; trigger job not in the production schedule |
| Engine health/performance telemetry | Planned | Marked 'not measurable' in the company's own ops dashboard |
Frequently Asked Questions
Is Matching Engine free?
Yes, core sector/code/country-based matching is free with no plan restriction. Free-text product matching is a separate, premium-gated feature.
Where do I see matched tenders?
In the tenders page's 'For your company' filter and on your dashboard, computed in real time from your profile.
Will I get notified when a new match appears?
The code for this exists but is not currently triggered on a regular schedule on the production server — you will not automatically receive this notification today. You need to check your dashboard to see matches.
How is the score calculated?
As a weighted sum of five components: sector, product code (CPV/UNSPSC/OKAS), capability, target country and keyword. Fields you leave blank are excluded from the calculation.
Which tender sources does it cover?
Active tenders from every source — there is no connector-specific restriction.
Where do I update my company profile?
Under Account > Tender Matching Profile, where you can update your sector, codes, capability and target countries.
TenderZoom – Procurement Operating Platform
Sign up free and follow the tenders that fit you.
Create your account, filter tenders, save your searches and get notified about new notices.

