Fix mock tests
This commit is contained in:
153
wiki/EXPERT_ANALITICS.sql
Normal file
153
wiki/EXPERT_ANALITICS.sql
Normal file
@@ -0,0 +1,153 @@
|
||||
-- Extend 'lots' table
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN starting_bid DECIMAL(12, 2);
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN estimated_min DECIMAL(12, 2);
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN estimated_max DECIMAL(12, 2);
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN reserve_price DECIMAL(12, 2);
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN reserve_met BOOLEAN DEFAULT FALSE;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN bid_increment DECIMAL(12, 2);
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN watch_count INTEGER DEFAULT 0;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN view_count INTEGER DEFAULT 0;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN first_bid_time TEXT;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN last_bid_time TEXT;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN bid_velocity DECIMAL(5, 2);
|
||||
-- bids per hour
|
||||
|
||||
-- New table: bid history (CRITICAL)
|
||||
CREATE TABLE bid_history
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
lot_id TEXT REFERENCES lots (lot_id),
|
||||
bid_amount DECIMAL(12, 2) NOT NULL,
|
||||
bid_time TEXT NOT NULL,
|
||||
is_winning BOOLEAN DEFAULT FALSE,
|
||||
is_autobid BOOLEAN DEFAULT FALSE,
|
||||
bidder_id TEXT, -- anonymized
|
||||
created_at TEXT DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_bid_history_lot_time ON bid_history (lot_id, bid_time);
|
||||
-- Extend 'lots' table
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN condition_score DECIMAL(3, 2); -- 0.00-10.00
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN condition_description TEXT;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN year_manufactured INTEGER;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN serial_number TEXT;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN originality_score DECIMAL(3, 2); -- % original parts
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN provenance TEXT;
|
||||
ALTER TABLE lots
|
||||
ADD COLUMN comparable_lot_ids TEXT;
|
||||
-- JSON array
|
||||
|
||||
-- New table: comparable sales
|
||||
CREATE TABLE comparable_sales
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
lot_id TEXT REFERENCES lots (lot_id),
|
||||
comparable_lot_id TEXT,
|
||||
similarity_score DECIMAL(3, 2), -- 0.00-1.00
|
||||
price_difference_percent DECIMAL(5, 2),
|
||||
created_at TEXT DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- New table: market indices
|
||||
CREATE TABLE market_indices
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
category TEXT NOT NULL,
|
||||
manufacturer TEXT,
|
||||
avg_price DECIMAL(12, 2),
|
||||
median_price DECIMAL(12, 2),
|
||||
price_change_30d DECIMAL(5, 2),
|
||||
volume_change_30d DECIMAL(5, 2),
|
||||
calculated_at TEXT DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
-- Extend 'auctions' table
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN auction_house TEXT;
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN auction_house_rating DECIMAL(3, 2);
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN buyers_premium_percent DECIMAL(5, 2);
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN payment_methods TEXT; -- JSON
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN shipping_cost_min DECIMAL(12, 2);
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN shipping_cost_max DECIMAL(12, 2);
|
||||
ALTER TABLE auctions
|
||||
ADD COLUMN seller_verified BOOLEAN DEFAULT FALSE;
|
||||
|
||||
-- New table: auction performance metrics
|
||||
CREATE TABLE auction_metrics
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
auction_id TEXT REFERENCES auctions (auction_id),
|
||||
sell_through_rate DECIMAL(5, 2),
|
||||
avg_hammer_vs_estimate DECIMAL(5, 2),
|
||||
total_hammer_price DECIMAL(15, 2),
|
||||
total_starting_price DECIMAL(15, 2),
|
||||
calculated_at TEXT DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- New table: seasonal trends
|
||||
CREATE TABLE seasonal_trends
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
category TEXT NOT NULL,
|
||||
month INTEGER NOT NULL,
|
||||
avg_price_multiplier DECIMAL(4, 2), -- vs annual avg
|
||||
volume_multiplier DECIMAL(4, 2),
|
||||
PRIMARY KEY (category, month)
|
||||
);
|
||||
-- New table: external market data
|
||||
CREATE TABLE external_market_data
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
category TEXT NOT NULL,
|
||||
manufacturer TEXT,
|
||||
model TEXT,
|
||||
dealer_avg_price DECIMAL(12, 2),
|
||||
retail_avg_price DECIMAL(12, 2),
|
||||
wholesale_avg_price DECIMAL(12, 2),
|
||||
source TEXT,
|
||||
fetched_at TEXT DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- New table: image analysis results
|
||||
CREATE TABLE image_analysis
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
image_id INTEGER REFERENCES images (id),
|
||||
damage_detected BOOLEAN,
|
||||
damage_severity DECIMAL(3, 2),
|
||||
wear_level TEXT CHECK (wear_level IN ('EXCELLENT', 'GOOD', 'FAIR', 'POOR')),
|
||||
estimated_hours_used INTEGER,
|
||||
ai_confidence DECIMAL(3, 2)
|
||||
);
|
||||
|
||||
-- New table: economic indicators
|
||||
CREATE TABLE economic_indicators
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
indicator_date TEXT NOT NULL,
|
||||
currency TEXT NOT NULL,
|
||||
exchange_rate DECIMAL(10, 4),
|
||||
inflation_rate DECIMAL(5, 2),
|
||||
market_volatility DECIMAL(5, 2)
|
||||
);
|
||||
38
wiki/EXPERT_ANALITICS_PRIORITY.md
Normal file
38
wiki/EXPERT_ANALITICS_PRIORITY.md
Normal file
@@ -0,0 +1,38 @@
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Add bid_history table] --> B[Add watch_count + estimates]
|
||||
B --> C[Create market_indices]
|
||||
C --> D[Add condition + year fields]
|
||||
D --> E[Build comparable matching]
|
||||
E --> F[Enrich with auction house data]
|
||||
F --> G[Add AI image analysis]
|
||||
```
|
||||
|
||||
| Current Practice | New Requirement | Why |
|
||||
|-----------------------|---------------------------------|---------------------------|
|
||||
| Scrape once per hour | **Scrape every bid update** | Capture velocity & timing |
|
||||
| Save only current bid | **Save full bid history** | Detect patterns & sniping |
|
||||
| Ignore watchers | **Track watch\_count** | Predict competition |
|
||||
| Skip auction metadata | **Capture house estimates** | Anchor valuations |
|
||||
| No historical data | **Store sold prices** | Train prediction models |
|
||||
| Basic text scraping | **Parse condition/serial/year** | Enable comparables |
|
||||
|
||||
|
||||
```bazaar
|
||||
Week 1-2: Foundation
|
||||
Implement bid_history scraping (most critical)
|
||||
Add watch_count, starting_bid, estimated_min/max fields
|
||||
Calculate basic bid_velocity
|
||||
Week 3-4: Valuation
|
||||
Extract year_manufactured, manufacturer, condition_description
|
||||
Create market_indices (manually or via external API)
|
||||
Build comparable lot matching logic
|
||||
Week 5-6: Intelligence Layer
|
||||
Add auction house performance tracking
|
||||
Implement undervaluation detection algorithm
|
||||
Create price alert system
|
||||
Week 7-8: Automation
|
||||
Integrate image analysis API
|
||||
Add economic indicator tracking
|
||||
Refine ML-based price predictions
|
||||
```
|
||||
Reference in New Issue
Block a user