Mazalgo LogoMazalgo
    Theme

    Methodology

    How our daily market reports are sourced, synthesized, and updated.

    Mazalgo market reports are built from collected source data, then summarized by managed AI. Pricing context separates eBay floor data, auction records, and decision signals so the visible method can be inspected.

    Primary anchors
    eBay comps + auction records
    Refresh
    Forums every 15-30 minutes
    Limit
    Informational, not trading advice

    Data sources

    Each market report draws from three primary streams:

    • Verified auction records — 19,000+ historical results from major auction houses, used to anchor reference-level pricing.
    • eBay listing comps — live retail and recently-sold listings via the eBay Browse API, used for short-term market signal and B3AF (Bottom 3 After Fees) calculations.
    • Forum activity — Want-To-Buy posts and discussion threads from r/watchexchange and WatchUSeek, used for demand intelligence and sentiment.

    How reports are composed

    Numbers, trends, and market movements in each report are computed directly from the source data above. Narrative composition — how those facts are arranged into a readable summary — is handled by managed AI working from the verified data package.

    The data package itself is not generated; it is collected. AI assists with synthesis and prose, not with inventing values.

    Refresh cadence

    • Forum scans — every 15-30 minutes (Reddit + WatchUSeek).
    • Inventory matching — every 6 hours.
    • Daily market digest — published once per day around 06:00 UTC.
    • Sitemap + IndexNow notification — daily after publication, fanned out to Bing, Yandex, Seznam, and Naver.

    Pricing formula — ground-truth buy range

    The buy range is derived from two anchors. Nothing else moves the price — velocity, sentiment, and trend are reported alongside, never folded in.

    ebayAnchor    = ebay.buyTargets[0].buy        // B3AF × 0.80 (Bottom 3 After Fees)
    auctionMid    = (auction.min + auction.avg) / 2
    auctionAnchor = round(auctionMid × 0.85)      // 15% below auction midpoint
    
    buyLow   = hasEbay ? min(ebayAnchor, auctionAnchor) : auctionAnchor
    buyHigh  = hasEbay ? max(ebayAnchor, auctionAnchor) : auctionAnchor
    buyTarget = round((buyLow + buyHigh) / 2)
    sellTarget = auction.median

    Decision signals — eBay-vs-auction spread, auction velocity, price trend, confidence by sample size — are reported. They never adjust the buy range. The formula is intentionally honest: a dealer can replicate it from the same source data and arrive at the same number.

    Reference catalog — slang to canonical reference

    Watch chatter rarely uses formal references. Collectors say "John Mayer" or "Tiffany Nautilus" or "50th Jumbo." A reference catalog maps these aliases back to canonical references — so a query about the John Mayer Daytona joins cleanly to grailzee auction history for ref 116500LN, eBay live comps, and Reddit sentiment for the same instrument.

    The catalog is regex-seeded from auction history then hand-curated for hero references and grail-flagged pieces. Coverage today: 605 references, 19 aliased, 11 grails across Rolex, Patek Philippe, Audemars Piguet, Omega, Cartier, IWC, Tudor, Vacheron Constantin. Off-roster references still get brand-level treatment; reference-level treatment requires a catalog entry.

    Limitations

    Reports describe the market signal visible at the time of generation. Auction data lags live retail by weeks; forum sentiment can be skewed by thin sample sizes on rare references. When the underlying data package is too sparse to support a confident take, reports state so explicitly rather than overreaching.

    Reports are informational and not buying or selling advice.