{"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/autobidders-with-budget-and-roi-constraints","title":"Autobidders with Budget and ROI Constraints: Efficiency, Regret, and Pacing Dynamics","arxiv_id":"2301.13306","date":"2023-01-30","proceeding":null,"authors":["Brendan Lucier","Sarath Pattathil","Aleksandrs Slivkins","Mengxiao Zhang"],"abstract":"We study a game between autobidding algorithms that compete in an online advertising platform. Each autobidder is tasked with maximizing its advertiser's total value over multiple rounds of a repeated auction, subject to budget and return-on-investment constraints. We propose a gradient-based learning algorithm that is guaranteed to satisfy all constraints and achieves vanishing individual regret. Our algorithm uses only bandit feedback and can be used with the first- or second-price auction, as well as with any \"intermediate\" auction format. Our main result is that when these autobidders play against each other, the resulting expected liquid welfare over all rounds is at least half of the expected optimal liquid welfare achieved by any allocation. This holds whether or not the bidding dynamics converges to an equilibrium.","url_abs":"https://arxiv.org/abs/2301.13306v6","url_pdf":"https://arxiv.org/pdf/2301.13306v6.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":"autobidders-with-budget-and-roi-constraints","repo_url":"https://github.com/avito-tech/bat-autobidding-benchmark","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2301.13306","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.13306"}},"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/avito-tech/bat-autobidding-benchmark","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"26ed2dfea121b59d","entry":"PIDcontrol","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/model/ta_pid.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/model/ta_pid.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":"26ed2dfea121b59d"}},{"code_sha256_prefix":"956a94bb482f3974","entry":"bin2price","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/simulation/utils.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/simulation/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":"956a94bb482f3974"}},{"code_sha256_prefix":"1b98cfe745106e31","entry":"ctr_cvr_count","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/simulation/simulate.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/simulation/simulate.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":"1b98cfe745106e31"}},{"code_sha256_prefix":"18dba5197209d388","entry":"plot_history","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/simulation/utils.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/simulation/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":"18dba5197209d388"}},{"code_sha256_prefix":"c1b3312ebc5d3216","entry":"plot_history_article","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/simulation/utils_visualization.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/simulation/utils_visualization.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":"c1b3312ebc5d3216"}},{"code_sha256_prefix":"9e944aa4ed979b0e","entry":"price2bin","repo":"avito-tech/bat-autobidding-benchmark","repo_kind":"listed","path":"simulator/simulation/utils.py","file_url":"https://github.com/avito-tech/bat-autobidding-benchmark/blob/HEAD/simulator/simulation/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":"9e944aa4ed979b0e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}