type
concept
created
Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
updated
Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
sources
raw/articles/PRD
tags
matching specifications core-mechanic paper-trading

Spec-Based Matching

abstract
The marketplace matches surplus paper to buyers based on technical paper specifications (paper type, GSM, width, grade, geography) rather than free-text search or manual broker judgment.

Overview

Traditional paper surplus trading relies on personal networks and manual scanning of Excel lists. A trader like Mara in Holland sends daily surplus lists to contacts, who then manually check specs against their client portfolios. This is slow (1-4 weeks), incomplete (most surplus only reaches the trader's existing contacts), and error-prone.

The marketplace replaces this with automated specification-based matching. Each surplus item has structured technical attributes (paper type, GSM, width, quality grade, origin). Each buyer has stored specifications (BuyerSpec) defining what their machines can handle and what they need. The system programmatically compares every surplus item against every buyer specification, scoring compatibility across five dimensions.

Why Specifications, Not Text

Paper is a technical commodity. A buyer of wiki/entities/kraftliner cannot use wiki/entities/testliner -- they are fundamentally different products. A machine with a maximum width of 2500mm physically cannot process a 2800mm roll. A buyer needing 120-200 GSM paper has no use for 300 GSM board. These are hard physical constraints, not preferences.

This means matching is inherently specification-driven:

The Five Scoring Dimensions

Each dimension has a weight reflecting its importance to trade viability:

Dimension Weight Nature
Paper Type 30% Binary gate -- match or disqualify
GSM 25% Range-based with tolerance bands
Width 20% Range-based with machine constraints
Quality Grade 15% Hierarchical (A > B > C)
Geography 10% Proximity-based

The composite score ranges from 0-100. Matches below 50 are not surfaced. Classifications: exact (>=90), close (70-89), partial (50-69). See wiki/concepts/matching-algorithm for the full scoring functions.

BuyerSpec: The Demand Profile

Each buyer can have multiple BuyerSpecs, one per paper type they purchase. A BuyerSpec captures:

BuyerSpecs are initially derived from Morichal's historical purchase data during the data bootstrap phase, with GSM ranges set as (min_purchased - 10%, max_purchased + 10%) and width ranges with +/-5% tolerance.

Pre-Filtering for Performance

Before scoring, the algorithm applies two pre-filters to avoid wasted computation:

  1. Visibility check -- geographic rules must allow the buyer to see the surplus item (see wiki/concepts/geographic-visibility-system)
  2. Paper type gate -- paper type must match exactly (eliminates ~80% of specs immediately)

Only surplus-buyer pairs that pass both pre-filters proceed to full 5-dimension scoring.

Auto-Trigger and Downstream Effects

Matching runs automatically whenever:

When a match scores >=80, it becomes a candidate for exclusivity. All matches feed into newsletter generation and container assembly proposals.

Sources

Related