{"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/controlling-counterfactual-harm-in-decision","title":"Controlling Counterfactual Harm in Decision Support Systems Based on Prediction Sets","arxiv_id":"2406.06671","date":"2024-06-10","proceeding":null,"authors":["Eleni Straitouri","Suhas Thejaswi","Manuel Gomez Rodriguez"],"abstract":"Decision support systems based on prediction sets help humans solve multiclass classification tasks by narrowing down the set of potential label values to a subset of them, namely a prediction set, and asking them to always predict label values from the prediction sets. While this type of systems have been proven to be effective at improving the average accuracy of the predictions made by humans, by restricting human agency, they may cause harm$\\unicode{x2014}$a human who has succeeded at predicting the ground-truth label of an instance on their own may have failed had they used these systems. In this paper, our goal is to control how frequently a decision support system based on prediction sets may cause harm, by design. To this end, we start by characterizing the above notion of harm using the theoretical framework of structural causal models. Then, we show that, under a natural, albeit unverifiable, monotonicity assumption, we can estimate how frequently a system may cause harm using only predictions made by humans on their own. Further, we also show that, under a weaker monotonicity assumption, which can be verified experimentally, we can bound how frequently a system may cause harm again using only predictions made by humans on their own. Building upon these assumptions, we introduce a computational framework to design decision support systems based on prediction sets that are guaranteed to cause harm less frequently than a user-specified value using conformal risk control. We validate our framework using real human predictions from two different human subject studies and show that, in decision support systems based on prediction sets, there is a trade-off between accuracy and counterfactual harm.","url_abs":"https://arxiv.org/abs/2406.06671v2","url_pdf":"https://arxiv.org/pdf/2406.06671v2.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":"controlling-counterfactual-harm-in-decision","repo_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":null,"task_name":"counterfactual"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2406.06671","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.06671"}},"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/Networks-Learning/controlling-counterfactual-harm-prediction-sets","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"repositories":1}},"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":7,"samples":[{"code_sha256_prefix":"5187428e2ab03110","entry":"get_strata","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"plotters/interventional.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/plotters/interventional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5187428e2ab03110"}},{"code_sha256_prefix":"3311d2ae356fee19","entry":"read_results","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"plotters/post_process_results.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/plotters/post_process_results.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3311d2ae356fee19"}},{"code_sha256_prefix":"1c1f664025587d09","entry":"saps_batch","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c1f664025587d09"}},{"code_sha256_prefix":"937a36381ad43f84","entry":"se_fn","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"plotters/post_process_results.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/plotters/post_process_results.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"937a36381ad43f84"}},{"code_sha256_prefix":"f3927b884b3da52b","entry":"thresholds_per_strata","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"plotters/interventional.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/plotters/interventional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f3927b884b3da52b"}},{"code_sha256_prefix":"120867575567004f","entry":"compute_means_se","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"plotters/post_process_results.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/plotters/post_process_results.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":"120867575567004f"}},{"code_sha256_prefix":"5dd1df930bf281a2","entry":"saps","repo":"Networks-Learning/controlling-counterfactual-harm-prediction-sets","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Networks-Learning/controlling-counterfactual-harm-prediction-sets/blob/HEAD/utils.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":"5dd1df930bf281a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}