{"id":20279979,"url":"https://github.com/dandxy89/bellkoralgorithm","last_synced_at":"2025-09-22T15:30:35.495Z","repository":{"id":37178521,"uuid":"116599417","full_name":"dandxy89/BellkorAlgorithm","owner":"dandxy89","description":"A Python implementation of the Bellkor Algorithm","archived":false,"fork":false,"pushed_at":"2024-04-19T17:08:04.000Z","size":188,"stargazers_count":45,"open_issues_count":0,"forks_count":18,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-12T09:37:06.311Z","etag":null,"topics":["bellkor","collaborative-filtering","netflix","recommendation","recommendation-engine","recommender-system"],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dandxy89.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-01-07T21:10:53.000Z","updated_at":"2024-12-07T16:38:13.000Z","dependencies_parsed_at":"2024-04-19T18:29:01.986Z","dependency_job_id":"abdf8600-749e-4109-b8f9-fe3520eb323c","html_url":"https://github.com/dandxy89/BellkorAlgorithm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dandxy89%2FBellkorAlgorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dandxy89%2FBellkorAlgorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dandxy89%2FBellkorAlgorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dandxy89%2FBellkorAlgorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dandxy89","download_url":"https://codeload.github.com/dandxy89/BellkorAlgorithm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233856657,"owners_count":18740989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bellkor","collaborative-filtering","netflix","recommendation","recommendation-engine","recommender-system"],"created_at":"2024-11-14T13:33:57.743Z","updated_at":"2025-09-22T15:30:35.488Z","avatar_url":"https://github.com/dandxy89.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bellkor\n\n| Project                               | Created    | Updated    | Version |\n|---------------------------------------|------------|------------|---------|\n| Re-implementing the Bellkor Algorithm | 06/01/2018 | 18/01/2025 | 0.1.0   |\n\nFYI - This is no-longer actively maintained!\n\n## Motivation\n\n### Short Answer\n\nImplement an Algorithm that had previously won a Data Science / well known competition, in this case the Netflix Grand Prize.\n\n### Long Answer\n\nFirstly, as companies increasingly adopt data-driven approaches and prioritize enhancing customer experiences, recommendation systems are gaining prominence. It's evident that personalization is crucial for fostering customer loyalty and engagement. Therefore, delving into the intricacies and implementation of these algorithms seems opportune for advancing my career.\n\nSecondly, I relish the task of building algorithms and systems from scratch in my spare time, primarily to master the art of translating intricate concepts into code. Moreover, the paper's elucidation of feature engineering used for rating prediction is exceptionally clear and succinct. Lastly, I find great value in the challenge of retracing the footsteps of original researchers and developers to understand their implementation strategies, which aligns with my preferred learning approach.\n\n## Bellkor Algorithm\n\nThis is an implementation of the “BellKor’s Pragmatic Chaos” final solution, which eventually went on to win the Netflix Grand Prize.\n\nThe purpose of this algorithm is to predict the ratings using the Bellkor Algorithm. The algorithm uses novel [Feature Engineering](https://en.wikipedia.org/wiki/Feature_engineering) in order to model the temporal properties of the users and times over time.\n\n## Demo and usage\n\nI've created a IPython Notebook [here](resources/Demo.ipynb) which showcases the implementation.\n\n## Acknowledgments\n\n'Yehuda Koren and the Bellkor Pramatic Choas Team' - for documenting the solution in the paper, located [here.](https://netflixprize.com/assets/GrandPrize2009_BPC_BellKor.pdf)\n\n## Links\n\n* [MovieLens 20M dataset](https://grouplens.org/datasets/movielens/) - differs from the original but same as the one used in the demo.\n* [Netflix Grand Prize Info](https://en.wikipedia.org/wiki/Netflix_Prize) - overview of the original competition.\n\n## Testing\n\nRun the following command to start the test suite:\n\n```bash\npip install uv\nuv venv\nuv sync\nsource .venv/bin/python\npytest tests\n```\n\n# Incomplete\n\n* Document results using the MovieLens 20M Dataset\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdandxy89%2Fbellkoralgorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdandxy89%2Fbellkoralgorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdandxy89%2Fbellkoralgorithm/lists"}