Pricing ML / Demand · Independent project
Marketplace Intelligence: Pricing, Demand and Sale Probability
Dmitri Derevjanko built Marketplace Intelligence, a six-model pricing and demand system that recommends listing prices, estimates sale probability, and shows the training data behind each decision.
- 6-model ML system
- 1.47M listings
- 5M behavioural events
Open live demo Back to portfolio
Problem
Marketplace pricing work often lives in notebooks: one model for price, another for demand, no comparable listings, and no way for a non-ML user to see why a number appeared. Isolated metrics do not help someone set a listing price.
Solution
One FastAPI and React product where pricing, sale probability, demand forecasts, comparable retrieval, funnel diagnostics, and explainability share a single workflow, with production-facing champions labelled separately from weaker diagnostic modules.
System Architecture
Primary data and decision flow
- Public datasets Mercari, MerRec, and Olist provide pricing, behaviour, and demand signals.
- Feature pipelines Dataset-specific preparation creates comparable, behavioural, and time-series features.
- Model evaluation Validation metrics compare six pricing, probability, demand, and retrieval components.
- Champion routing Production-facing models stay separate from weaker diagnostic modules.
- FastAPI contracts Model outputs, confidence, lineage, and diagnostics share one API.
- React workspace Users test scenarios, inspect comparables, and review model evidence.
- Docker Compose
- MLflow artifacts
- Health views
- Regression tests
- Repeatable demo startup
- Mercari listings feed a hybrid Ridge/router pricing champion over 1.47M searchable comparables (validation RMSLE 0.4157, MAE 8.4999).
- MerRec behavioural events train a blended LightGBM sale-probability model on a 5M-event sample (ROC-AUC 0.8797).
- Olist category-month series drive demand forecasts (R2 0.9048, WMAPE 24.35%).
- Comparable retrieval explains a recommended price with real similar listings, not only a score.
- MLflow artifacts, health views, and dataset lineage sit next to the user-facing analysis screens.
- Docker Compose starts backend, frontend, and artifacts together for a repeatable demo.
Role and Ownership
Sole product and ML engineering owner. Dmitri defined the decision workflow, trained and evaluated the models, selected production-facing champions, built the APIs and interface, and packaged the full demo.
Technical Decisions
- Used separate models for distinct decisions rather than presenting one score as pricing, demand, and buyer intent at once.
- Selected champions from validation results and labelled weaker stages as diagnostic instead of overstating their readiness.
- Exposed comparable listings and dataset lineage alongside predictions so users can inspect where recommendations come from.
- Packaged backend, frontend, and model artifacts together for a repeatable demo rather than leaving the work in notebooks.
Technologies
- Python
- FastAPI
- React
- TypeScript
- LightGBM
- CatBoost
- Scikit-learn
- MLflow
- Docker
Result and Impact
A demo-ready marketplace ML product: six cooperating models, real training-data inspection, what-if pricing, and honest confidence labels for sparse funnel stages.
Limitations
- Trained on public Mercari, MerRec, and Olist datasets, not a live seller's private inventory.
- Sale-probability used a 5M-event sample of a much larger behavioural log; funnel stages such as offer remain sparse.
- The UI is a decision-support demo, not an automatic repricer connected to a production marketplace account.
Live demo and source
Live demo: https://pricingiq.dmitriderevjanko.com/
Source code: Private. The live demo is the public artifact for this project.
Portfolio case study: https://dmitriderevjanko.com/projects/marketplace-intelligence/
This is one of 10+ independent public projects by Dmitri Derevjanko. 100+ additional workflows were delivered professionally, mostly under confidentiality, and are not documented here.