This paper examines a price mining problem with the following objective: given a set of bundles of items, we seek to mine utility-maximizing prices that maximize revenue. Going beyond existing work restricted to non-overlapping bundles, we address the more general scenario of overlapping bundles. This necessitates tackling two key challenges: determining the price of each bundle and computing the revenue it generates at that price. Observing the mutual dependency between these challenges, we propose the Integrated Price Mining Method, a scalable approach that incorporates dependency-aware price mining. For the Consumer Utility Maximization Problem, we motivate a principled utility maximization objective and formulate it as a weighted set packing problem. In terms of bundle price mining, we introduce novel concepts such as competitive independence and dominance-based pruning. The effectiveness and efficiency of our approach are validated through experiments using real-world ratings-based datasets.
- Clone the repository:
git clone https://github.com/PreferredAI/Mining-Utility-Maximizing-Prices-for-Mixed-Bundles.git
- Navigate to the project directory:
cd Mining-Utility-Maximizing-Prices-for-Mixed-Bundles
- Install the dependencies (requires Python 3.11.9)
pip install -r requirements.txt
- Navigate to the experiments directory:
cd experiments
To obtain the results in Table 2, run
python experiment_baseline_comparison.py
To obtain the results in Figure 5, run
python experiment_consumer_demand_problem.py
To obtain the results in Table 3, run
python experiment_component_balanced_partitioning_a.py
python experiment_component_balanced_partitioning_b.py
To obtain the results in Figure 6, run
python experiment_component_comp_ind_v_random.py
To obtain the results in Table 4, run
python experiment_component_alpha_beta.py
To obtain the results in Figure 7, run
python experiment_component_lattice_v_graph.py
To obtain the results in Table 4, run
python experiment_component_pruning.py
To obtain the results in Figure 8, run
python experiment_scalability_users.py
and
python experiment_scalability_bundles.py