Udemy Course
Reviewer

← Back to Home

How We Score Courses

Our algorithm evaluates each course across 6 independent dimensions, combining absolute quality metrics with relative comparison signals. Every dimension uses non-linear scaling to ensure meaningful differentiation between courses that are close in quality.

35%
20%
15%
15%
10%
5%
R

Rating Quality

35%

The single strongest signal of course quality. We use a non-linear scale that amplifies differences at the top, because the gap between a 4.7 and 4.5 rated course is far more meaningful than 3.7 vs 3.5. A 4.5+ rating maps to 80-100 points, while anything below 3.5 drops sharply.

4.5+ → 80-100 pts  |  4.0-4.5 → 60-80 pts  |  3.5-4.0 → 35-60 pts  |  <3.5 → 0-35 pts
E

Student Engagement Intensity

20%

Measures how strongly students feel about a course by analyzing the ratio of reviews to total enrollments. A course where 5% of students take the time to leave a rating has a far stronger emotional impact than one where only 0.1% bother. This captures genuine student sentiment, high engagement means the course evoked strong enough reactions for students to actively share their experience.

5%+ engagement → 100 pts  |  2% → ~70 pts  |  1% → ~50 pts  |  0.1% → ~20 pts
S

Market Reach

15%

Total student enrollments, normalized on a logarithmic scale. This prevents mega-courses (1M+ students) from completely dominating smaller but excellent courses. A course with 100K students scores proportionally close to one with 500K, because both have proven market validation. Relative to the courses being compared.

log₁₀(students + 1) / log₁₀(max_students + 1) × 100
C

Content Depth

15%

Evaluates the volume of course material using square-root scaling (diminishing returns). A 200-lecture course isn't necessarily twice as good as a 100-lecture one, quality matters more than quantity. This ensures content-rich courses are rewarded without penalizing concise, focused courses too heavily.

√(lectures) / √(max_lectures) × 100
U

Update Recency

10%

How recently the course was last updated. Technology moves fast. A course updated last month is likely more relevant than one untouched for 2 years. We use a gentle decay curve (2 points per month), with a floor of 20 points, so timeless courses aren't unfairly crushed.

max(20, 100 − months_since_update × 2)
V

Value Efficiency

5%

A lightweight signal that measures price per lecture, rewarding courses that deliver more content for less money. Free courses automatically receive the maximum score. This carries only 5% weight to avoid over-penalizing premium courses that justify higher pricing through instructor expertise and production quality.

Free → 100 pts  |  price_per_lecture × 0.7, clamped to [20, 100]

Final Score

Score = R×0.35 + E×0.20 + S×0.15 + C×0.15 + U×0.10 + V×0.05

Each dimension produces a score from 0–100. The weighted total gives the final score, and the course with the highest total is crowned the winner.

Where does the data come from?

All course data is fetched in real-time from Udemy's platform. Ratings, student counts, lecture counts, pricing, and update dates are all live data, never cached, never estimated. What you see is what Udemy shows.