API Online
โšก Matching Engine
๐Ÿ“‚ History & Dataset
๐Ÿค– AI Forecast
๐Ÿ“ˆ Comparison
๐Ÿ“‚

Upload History CSV

Drag & drop or click to select โ€” history_userX_prosumer.csv

Processing data...
โšก
How Matching Works
The engine runs a Double-Auction per timeslot โ€” sellers sorted by lowest ask, buyers by highest bid.
A match occurs when buyer max price โ‰ฅ seller min price. Clearing price = midpoint of the two bounds.
Unmatched surplus โ†’ Grida export @ SMP. Unmatched deficit โ†’ Grida import @ retail rate.
โš ๏ธ
Why Matching Can Fail
โ‘  Timeslot mismatch โ€” sellers and buyers active at different hours.
โ‘ก Price gap โ€” seller min price > buyer max price.
โ‘ข Tight tolerance โ€” 0โ€“5% leaves little room to find overlap.
Fix: align hours, lower ask / raise bid, or increase tolerance %.
๐Ÿ’ก
Multi-Tier Bidding
Submit multiple rows for the same hour at different prices to capture more matches while protecting margin. The cheapest sell tier is matched first.
user1, 14:00, 400Wh, โ‚ฉ950, 15%  โ† cheap tier
user1, 14:00, 300Wh, โ‚ฉ1150, 10% โ† mid tier
user1, 14:00, 150Wh, โ‚ฉ1380, 5%  โ† premium
๐Ÿ”Œ
Grida Fallback Rates
Set the SMP rate (what Grida pays sellers for surplus) and Retail rate (what Grida charges buyers for deficit) before running matching.
P2P savings are calculated relative to these rates โ€” the wider the gap between SMP and retail, the more valuable P2P trading becomes.
๐Ÿ“—

Sell Orders CSV

session_sell.csv

๐Ÿ“™

Buy Orders CSV

session_buy.csv

โšก Grida Rate Settings
SMP = price Grida pays sellers for unmatched surplus. Retail = price Grida charges buyers for unmatched deficit. P2P savings are calculated against these rates.
Running Double-Auction matching...
๐Ÿ“‚
No data loaded yet
Please upload a history CSV in Tab 2 (History & Dataset) first
Training ARIMA model...
๐Ÿค– AI Session Setup Train model in Tab 3 first
Complete Tab 2 (manual matching) and Tab 3 (AI forecast) first.
Run AI Matching above to see comparison results.