AB.A useful estimate explains itself and supports the next action.All projects

Data Science

AutoValuate

A used-car decision tool combining prepared listing data, CatBoost price estimation, uncertainty ranges, prediction drivers, and a grounded local RAG consultant.

CatBoostUncertainty RangesExplainabilityGrounded RAG
View source repository
AutoValuate interface

Why it matters

Helps users understand the price and act on the purchase instead of simply receiving a number.

My role

Data scientist and ML/AI solution developer

  1. 01Prepared vehicle data and kept training features, saved artifacts, metadata, and inference inputs consistent.
  2. 02Built CatBoost estimation with uncertainty ranges and readable feature-level drivers.
  3. 03Added retrieval-based guidance and delivered both analytical capabilities through a coherent FastAPI and Next.js workflow.
01

Situation

Used-car buyers face inconsistent prices, incomplete listings, inspection uncertainty, and stressful negotiation, with no single tool connecting a price estimate to what to actually do next.

02

Task

Build a decision tool that estimates price with calibrated uncertainty, explains what is driving the number, and grounds practical inspection and negotiation guidance in real domain knowledge rather than a black-box prediction.

03

Action

  • Vehicle attributes such as brand, model, type, year, mileage, power, gearbox, fuel, damage status, and location were prepared consistently for CatBoost training and inference, with saved artifacts and metadata keeping every prediction aligned to the same feature definitions.
  • Each estimate ships with a confidence range and its leading feature drivers, so the number is never presented unexplained.
  • A Markdown knowledge base on inspection, negotiation, maintenance, and paperwork is chunked, embedded, and retrieved to ground a local LLM through an OpenAI-compatible LM Studio endpoint.
  • Backend health checks and explicit error handling surface model or retrieval failures instead of hiding them.
04

Result

Buyers get a transparent price estimate, a clear account of what moved it, and concrete next steps for inspection or negotiation, turning a single number into a decision they can act on. Quantitative accuracy results remain unpublished until the original evaluation evidence is recovered.

Technical implementation

How the solution was built.

Each layer connects an implementation choice to the decision or workflow it supports.

06 layers
LayerImplementationOperational purpose
Feature preparationConsistent preparation of brand, model, year, mileage, power, fuel, gearbox, damage and location fieldsKeep training and live inference inputs aligned
Price estimationCatBoost regression using mixed numerical and categorical vehicle attributesEstimate listing value while modelling nonlinear feature interactions
UncertaintyPrediction interval displayed alongside the point estimateCommunicate that a vehicle price is a range rather than a guaranteed number
ExplanationLeading positive and negative prediction driversShow which vehicle characteristics moved the estimate
Grounded retrievalMarkdown chunking, embeddings and retrieval for inspection, paperwork, maintenance and negotiation guidanceGround assistant answers in a controlled local knowledge base
Product deliveryFastAPI, Next.js and a local LLM through an OpenAI-compatible LM Studio endpointDeliver prediction and guidance in one coherent, failure-aware workflow