Beta version: p2pbureau is currently in beta. Report any data issue or feedback here.
finding

We rebuilt our spread calculation and found we were 40% too tight

Before we'd trust this data enough to sell it, we went looking for what was wrong with it. We found two defects, and both biased spreads in the same direction — too tight, which for a maker is the expensive direction, because it makes viable openings look unprofitable and gets them skipped.

Defect one: the fee, charged twice

Single-leg trading volume was having the fee applied twice in the gains calculation — once correctly, once again where no second leg had actually happened yet. A position that had only been entered, not closed, was already being charged as if it had round-tripped. Every profitable-looking position was quietly worse than it appeared, and some genuinely profitable ones were marked as losses before they'd even had a chance to close.

Defect two: the wrong baseline

Gains were being measured against a baseline taken from the crossed, unfiltered board — the aggregate top-of-book across every rail at once, which on markets with incompatible rails can show a negative spread that isn't a real arbitrage opportunity, just an artifact of comparing prices that were never meant to be compared. Pricing gains off that baseline understated every merchant's real performance, sometimes by a lot.

How we verified the fix

Not by re-deriving the math and trusting it looked right — by checking it against Binance's own numbers directly. Verified across 5 rails and 3 trade sizes against Binance's own server-side filters: 17 of 17 cells agree within one tick. That's the bar we now hold every figure on this site to.

The result, after the fix

Once both defects were corrected, the same underlying data showed 200 of 200 tracked merchants profitable, and a market-wide gain of over 60,313 MAD that the old calculation had been erasing entirely. Nothing about the market changed between the before and after — the merchants were profitable the whole time. The tool just hadn't been telling the truth.

Why we're publishing this instead of quietly fixing it

Because the alternative — fixing it silently and letting old numbers stand unexplained — is exactly the kind of thing that erodes trust in a number nobody outside the team can independently check. Every figure this site publishes now has a documented verification method behind it. This post is that documentation for the spread calculation specifically.

← all posts

Got a question, a request, or spotted something off? Contact us.