{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/xdeepfm-combining-explicit-and-implicit","title":"xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems","arxiv_id":"1803.05170","date":"2018-03-14","proceeding":null,"authors":["Jianxun Lian","Xiaohuan Zhou","Fuzheng Zhang","Zhongxia Chen","Xing Xie","Guangzhong Sun"],"abstract":"Combinatorial features are essential for the success of many commercial\nmodels. Manually crafting these features usually comes with high cost due to\nthe variety, volume and velocity of raw data in web-scale systems.\nFactorization based models, which measure interactions in terms of vector\nproduct, can learn patterns of combinatorial features automatically and\ngeneralize to unseen features as well. With the great success of deep neural\nnetworks (DNNs) in various fields, recently researchers have proposed several\nDNN-based factorization model to learn both low- and high-order feature\ninteractions. Despite the powerful ability of learning an arbitrary function\nfrom data, plain DNNs generate feature interactions implicitly and at the\nbit-wise level. In this paper, we propose a novel Compressed Interaction\nNetwork (CIN), which aims to generate feature interactions in an explicit\nfashion and at the vector-wise level. We show that the CIN share some\nfunctionalities with convolutional neural networks (CNNs) and recurrent neural\nnetworks (RNNs). We further combine a CIN and a classical DNN into one unified\nmodel, and named this new model eXtreme Deep Factorization Machine (xDeepFM).\nOn one hand, the xDeepFM is able to learn certain bounded-degree feature\ninteractions explicitly; on the other hand, it can learn arbitrary low- and\nhigh-order feature interactions implicitly. We conduct comprehensive\nexperiments on three real-world datasets. Our results demonstrate that xDeepFM\noutperforms state-of-the-art models. We have released the source code of\nxDeepFM at \\url{https://github.com/Leavingseason/xDeepFM}.","url_abs":"http://arxiv.org/abs/1803.05170v3","url_pdf":"http://arxiv.org/pdf/1803.05170v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/Leavingseason/xDeepFM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/DownyPrio/xDeepFM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/Rearcher/ICME2019_Short_Video_Understanding_Challenge_Rank14","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/UlionTse/mlgb","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/YZBM/Tenceng2019_Finals_Rank1st","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/bettenW/Tencent2019_Finals_Rank1st","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/microsoft/recommenders","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/recommenders-team/recommenders","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/shenweichen/DeepCTR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/shenweichen/DeepCTR-Torch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/tangxyw/RecAlgorithm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/wangweitong/DL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/wangweitong/recommend_system","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/xue-pai/FuxiCTR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/zaf11/xDeepFM-","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/zhanafengxiaomi/xDeepFM_","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/PaddlePaddle/PaddleRec/tree/release/2.1.0/models/rank/xdeepfm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":null},{"paper_slug":"xdeepfm-combining-explicit-and-implicit","repo_url":"https://github.com/caesarjuly/reginx/blob/master/trainer/models/xdeepfm.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"click-through-rate-prediction","task_name":"Click-Through Rate Prediction"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/click-through-rate-prediction-on-bing-news","task":"Click-Through Rate Prediction","dataset":"Bing News","model":"xDeepFM","rank_in_archive_order":1,"of":7,"metrics":{"AUC":"0.84","Log Loss":"0.2649"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-bing-news","task":"Click-Through Rate Prediction","dataset":"Bing News","model":"DNN","rank_in_archive_order":7,"of":7,"metrics":{"AUC":"0.03","Log Loss":"0.3382"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-criteo","task":"Click-Through Rate Prediction","dataset":"Criteo","model":"xDeepFM","rank_in_archive_order":29,"of":39,"metrics":{"AUC":"0.8052","Log Loss":"0.4418"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-dianping","task":"Click-Through Rate Prediction","dataset":"Dianping","model":"xDeepFM","rank_in_archive_order":1,"of":5,"metrics":{"AUC":"0.8639","Log Loss":"0.3156"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-dianping","task":"Click-Through Rate Prediction","dataset":"Dianping","model":"DNN","rank_in_archive_order":5,"of":5,"metrics":{"AUC":"0.8318"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-kkbox","task":"Click-Through Rate Prediction","dataset":"KKBox","model":"xDeepFM","rank_in_archive_order":3,"of":6,"metrics":{"AUC":"0.8535"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.05170","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.05170"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bettenW/Tencent2019_Finals_Rank1st","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wangweitong/DL","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/recommenders-team/recommenders","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YZBM/Tenceng2019_Finals_Rank1st","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xue-pai/FuxiCTR","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhanafengxiaomi/xDeepFM_","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DownyPrio/xDeepFM","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wangweitong/recommend_system","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shenweichen/DeepCTR","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zaf11/xDeepFM-","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/microsoft/recommenders","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/UlionTse/mlgb","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Rearcher/ICME2019_Short_Video_Understanding_Challenge_Rank14","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Leavingseason/xDeepFM","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shenweichen/DeepCTR-Torch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tangxyw/RecAlgorithm","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/caesarjuly/reginx/blob/master/trainer/models/xdeepfm.py","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleRec/tree/release/2.1.0/models/rank/xdeepfm","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":2,"unverified":12},"by_repo_kind":{"listed":{"samples":15,"ran":3,"repositories":4}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"a5d2f1c9e119342a","entry":"get_idx_value_label","repo":"JianzhouZhan/Awesome-RecSystem-Models","repo_kind":"listed","path":"Model/DeepCrossNetwork_PyTorch.py","file_url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models/blob/HEAD/Model/DeepCrossNetwork_PyTorch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a5d2f1c9e119342a"}},{"code_sha256_prefix":"626554fd98c853c6","entry":"get_in_filelist_item_num","repo":"wangweitong/DL","repo_kind":"listed","path":"Model/xDeepFM_PyTorch.py","file_url":"https://github.com/wangweitong/DL/blob/HEAD/Model/xDeepFM_PyTorch.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"626554fd98c853c6"}},{"code_sha256_prefix":"b4a378e17a8e73f3","entry":"version_tuple","repo":"shenweichen/DeepCTR","repo_kind":"listed","path":"examples/run_dien.py","file_url":"https://github.com/shenweichen/DeepCTR/blob/HEAD/examples/run_dien.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b4a378e17a8e73f3"}},{"code_sha256_prefix":"93cee4fc981be52d","entry":"count_in_filelist_items","repo":"JianzhouZhan/Awesome-RecSystem-Models","repo_kind":"listed","path":"util/train_model_util_PyTorch.py","file_url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models/blob/HEAD/util/train_model_util_PyTorch.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"93cee4fc981be52d"}},{"code_sha256_prefix":"c52cd7cbf859f8e0","entry":"filter_by","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/pandas_df_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/pandas_df_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c52cd7cbf859f8e0"}},{"code_sha256_prefix":"6ec04041da9444a4","entry":"find_collection","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/cosmos_cli.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/cosmos_cli.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6ec04041da9444a4"}},{"code_sha256_prefix":"13a7876a5bb5d755","entry":"get_idx_value_label","repo":"wangweitong/DL","repo_kind":"listed","path":"Model/xDeepFM_PyTorch.py","file_url":"https://github.com/wangweitong/DL/blob/HEAD/Model/xDeepFM_PyTorch.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"13a7876a5bb5d755"}},{"code_sha256_prefix":"4ade2988b393a443","entry":"get_idx_value_label","repo":"JianzhouZhan/Awesome-RecSystem-Models","repo_kind":"listed","path":"util/train_model_util_PyTorch.py","file_url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models/blob/HEAD/util/train_model_util_PyTorch.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ade2988b393a443"}},{"code_sha256_prefix":"dde7d5bc564c9516","entry":"get_xy_fd","repo":"shenweichen/DeepCTR","repo_kind":"listed","path":"examples/run_dien.py","file_url":"https://github.com/shenweichen/DeepCTR/blob/HEAD/examples/run_dien.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dde7d5bc564c9516"}},{"code_sha256_prefix":"a9c34e87754edb05","entry":"is_valid_zip","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/download_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/download_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a9c34e87754edb05"}},{"code_sha256_prefix":"26d562ddfce33be0","entry":"load_pandas_df","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/covid_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/covid_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"26d562ddfce33be0"}},{"code_sha256_prefix":"fbf236cde152c63b","entry":"process_split_ratio","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/split_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/split_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fbf236cde152c63b"}},{"code_sha256_prefix":"6e86b813e6449904","entry":"read_clickhistory","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/mind.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/mind.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6e86b813e6449904"}},{"code_sha256_prefix":"8b17f7c92b0db3cd","entry":"remove_duplicates","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/covid_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/covid_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b17f7c92b0db3cd"}},{"code_sha256_prefix":"6a132eb3e50b4c7f","entry":"remove_nan","repo":"recommenders-team/recommenders","repo_kind":"listed","path":"recommenders/datasets/covid_utils.py","file_url":"https://github.com/recommenders-team/recommenders/blob/HEAD/recommenders/datasets/covid_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6a132eb3e50b4c7f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}