Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

Surprise review

Free#26 of 26 in Recommender Systems

A research-focused toolkit for rating prediction and collaborative-filtering experiments, not hosted delivery.

5.9/10Editor score
Surprise5.9 Visit Surprise

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

Surprise is an open-source Python library for developers and researchers who want to build and compare recommender-system models using explicit user ratings. Its scope covers rating prediction and top-N item ranking, with collaborative-filtering approaches that include baseline predictions, neighborhood methods, and matrix factorization. It is a fit for experimentation on Windows, macOS, or Linux, rather than for teams seeking a hosted service that delivers recommendations to an application.

The toolkit is centered on model work: built-in cosine, MSD, and Pearson similarity measures support neighborhood approaches, while matrix-factorization options include SVD, PMF, SVD++, and NMF. Users can load MovieLens and Jester datasets or supply custom datasets, then use cross-validation and evaluation metrics to compare results. Grid search helps select algorithm parameters. These capabilities make Surprise useful for researchers testing methods and for developers prototyping ranking or rating-prediction logic; they do not turn it into a complete recommendation delivery platform.

Surprise is free and open source, and it is self-hosted as a locally installed Python library. The published project scope is explicit-rating recommendation: it does not support implicit ratings or content-based information, and real-time updates are not supported. That limits its fit for systems whose recommendations depend on behavioral events, item attributes, or continuously refreshed data. Support is through documentation and the community, and feature development is limited to maintenance, bug fixes, and possible performance improvements. Pick Surprise for offline collaborative-filtering experiments and model evaluation; choose another approach if you need a hosted service, real-time recommendations, or content-aware and implicit-feedback methods.

Surprise pros and cons

  • Where it wins
    • Includes baseline, neighborhood, and matrix-factorization algorithms
    • Supports cross-validation, evaluation metrics, and grid search
    • Works with built-in MovieLens and Jester datasets or custom datasets
  • Where it doesn't
    • Works with explicit user ratings, not implicit ratings
    • Does not use content-based information
    • Runs as a local library rather than a hosted recommendation service

Surprise fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update