Skip to content
back to projects

case study · 2024 — 2025

Adaptive Rating System for E-commerce

Undergraduate thesis: statistically robust product ratings using Bayesian averaging, exponential time decay, and AI sentiment extraction — deployed as a Chrome extension.

role

Researcher — all data work (EDA, hypothesis testing, algorithm design, validation)

Bayesian statisticsPythonSentiment analysisJavaScriptChrome Extension APIs

architecture

Rating algorithm

Bayesian averaging + exponential time decay

NLP

AI sentiment extraction from review text

Analysis & validation

Python — EDA, hypothesis testing

Delivery

Chrome extension (JavaScript) on live product pages

Context

BRAC University HCI research, supervised thesis

The problem

A five-star product with 3 reviews outranks a 4.7-star product with 2,000 reviews on most e-commerce platforms. Raw average ratings are trivially manipulated, ignore recency, and throw away the richest signal available — what reviewers actually wrote.

My undergraduate thesis (supervised by Dr. Farida Chowdhury, Professor, CSE, BRAC University) tackled this as an HCI + applied data science problem.

Key features

  • Bayesian averaging — every product's score is pulled toward the category prior with strength inversely proportional to review count: a 5.0 from 3 reviews shrinks hard, a 4.7 from 2,000 barely moves
  • Exponential time decay — recent reviews weigh more, so a product that declined two years ago can't coast on old praise; decay rate tuned by hypothesis testing against held-out rating trajectories
  • AI sentiment extraction — review text adjusts the rating weights dynamically, so a glowing 4-star and a bitter 4-star stop counting the same
  • Chrome extension delivery — recomputes the robust score directly on live e-commerce product pages, next to the platform's naive one

Challenges

Tuning without ground truth. There is no "correct" product score to validate against. The decay rate and prior strength were tuned through hypothesis testing on held-out rating trajectories — checking whether the adaptive score predicted future rating direction better than the naive average.

From paper to product. Research code assumes clean inputs; a Chrome extension gets whatever the DOM serves. Making the algorithm run on scraped, incomplete review data from real product pages forced defensive handling the thesis alone never would have.

What I learned

  • Bayesian shrinkage as a practical tool, not just theory — priors are how you make small-sample data behave
  • Designing validation when no labeled answer exists — the hardest and most transferable statistics lesson of the project
  • Shipping research as a usable artifact doubles its value: the extension made the thesis legible to non-academics

The supervisor explicitly commended the originality and statistical rigour of the rating system contribution.