{"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/conditional-outcome-equivalence-a-quantile","title":"Conditional Outcome Equivalence: A Quantile Alternative to CATE","arxiv_id":"2410.12454","date":"2024-10-16","proceeding":null,"authors":["Josh Givens","Henry W J Reeve","Song Liu","Katarzyna Reluga"],"abstract":"Conditional quantile treatment effect (CQTE) can provide insight into the effect of a treatment beyond the conditional average treatment effect (CATE). This ability to provide information over multiple quantiles of the response makes CQTE especially valuable in cases where the effect of a treatment is not well-modelled by a location shift, even conditionally on the covariates. Nevertheless, the estimation of CQTE is challenging and often depends upon the smoothness of the individual quantiles as a function of the covariates rather than smoothness of the CQTE itself. This is in stark contrast to CATE where it is possible to obtain high-quality estimates which have less dependency upon the smoothness of the nuisance parameters when the CATE itself is smooth. Moreover, relative smoothness of the CQTE lacks the interpretability of smoothness of the CATE making it less clear whether it is a reasonable assumption to make. We combine the desirable properties of CATE and CQTE by considering a new estimand, the conditional quantile comparator (CQC). The CQC not only retains information about the whole treatment distribution, similar to CQTE, but also having more natural examples of smoothness and is able to leverage simplicity in an auxiliary estimand. We provide finite sample bounds on the error of our estimator, demonstrating its ability to exploit simplicity. We validate our theory in numerical simulations which show that our method produces more accurate estimates than baselines. Finally, we apply our methodology to a study on the effect of employment incentives on earnings across different age groups. We see that our method is able to reveal heterogeneity of the effect across different quantiles.","url_abs":"https://arxiv.org/abs/2410.12454v1","url_pdf":"https://arxiv.org/pdf/2410.12454v1.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":"conditional-outcome-equivalence-a-quantile","repo_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.12454","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.12454"}},"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":"deterministic:regex_extraction","url":"https://github.com/wittawatj/kernel-gof","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":10,"unverified":2},"by_repo_kind":{"official":{"samples":12,"ran":10,"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":12,"samples":[{"code_sha256_prefix":"4e992af13e7be34e","entry":"exp_kernel_generator","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/cqte_sims.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/cqte_sims.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4e992af13e7be34e"}},{"code_sha256_prefix":"3b475bc93e64cb31","entry":"exp_true_effect","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/dgp.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/dgp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3b475bc93e64cb31"}},{"code_sha256_prefix":"1e23f70e9d99d91d","entry":"exponential_dgp","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/dgp.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/dgp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1e23f70e9d99d91d"}},{"code_sha256_prefix":"c18d3c560c830aae","entry":"get_evar_derivatives","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/nuisance.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/nuisance.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c18d3c560c830aae"}},{"code_sha256_prefix":"cec6b33fab8a3e4c","entry":"get_evar_grad","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/nuisance.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/nuisance.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"cec6b33fab8a3e4c"}},{"code_sha256_prefix":"39f526adb2e399ae","entry":"ggplot_style_log","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/utils.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"39f526adb2e399ae"}},{"code_sha256_prefix":"9e1108184a0cbf9a","entry":"run_simulation","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/dgp.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/dgp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"9e1108184a0cbf9a"}},{"code_sha256_prefix":"4cba43419dc3db09","entry":"small_step_beta","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/nuisance.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/nuisance.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4cba43419dc3db09"}},{"code_sha256_prefix":"6a593a7c5537b9bd","entry":"sortfilesby","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"Code/utils.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/Code/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"6a593a7c5537b9bd"}},{"code_sha256_prefix":"4c391cd048f15588","entry":"torch_normcdf","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"Code/utils.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/Code/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4c391cd048f15588"}},{"code_sha256_prefix":"7c5564d04330b125","entry":"gen_error","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"Code/utils.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/Code/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7c5564d04330b125"}},{"code_sha256_prefix":"7908df7d8bcb4b4a","entry":"load_results_from_file","repo":"joshgivens/ConditionalOutcomeEquivalence","repo_kind":"official","path":"CDTE/utils.py","file_url":"https://github.com/joshgivens/ConditionalOutcomeEquivalence/blob/HEAD/CDTE/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7908df7d8bcb4b4a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}