Abstract
This paper presents a two-stage explainable recommendation system for reciprocal affiliate–seller matching that uses machine learning and data science to handle voluminous data and generate personalized ranking lists for each user. In the first stage, a representation learning model was trained to create dense embeddings for affiliates and sellers, ensuring efficient identification of relevant pairs. In the second stage, a learning-to-rank approach was applied to refine the recommendation list based on user suitability and relevance. Diversity-enhancing reranking (maximal marginal relevance/explicit query aspect diversification) and popularity penalties were also implemented, and their effects on accuracy and provider-side diversity were quantified. Model interpretability techniques were used to identify which features affect a recommendation. The system was evaluated on a fully synthetic dataset that mimics the high-level statistics generated by affiliate platforms, and the results were compared against classical baselines (ALS, Bayesian personalized ranking) and ablated variants of the proposed model. While the reported ranking metrics (e.g., normalized discounted cumulative gain at 10 (NDCG@10)) are close to 1.0 under controlled conditions, potential overfitting, synthetic data limitations, and the need for further validation on real-world datasets are addressed. Attributions based on Shapley additive explanations were computed offline for the ranking model and excluded from the online latency budget, which was dominated by approximate nearest neighbors-based retrieval and listwise ranking. Our work demonstrates that high top-K accuracy, diversity-aware reranking, and post hoc explainability can be integrated within a single recommendation pipeline. While initially validated under synthetic evaluation, the pipeline was further assessed on a public real-world behavioral dataset, highlighting deployment challenges in affiliate–seller platforms and revealing practical constraints related to incomplete metadata.