{"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/insightbench-evaluating-business-analytics","title":"InsightBench: Evaluating Business Analytics Agents Through Multi-Step Insight Generation","arxiv_id":"2407.06423","date":"2024-07-08","proceeding":null,"authors":["Gaurav Sahu","Abhay Puri","Juan Rodriguez","Amirhossein Abaskohi","Mohammad Chegini","Alexandre Drouin","Perouz Taslakian","Valentina Zantedeschi","Alexandre Lacoste","David Vazquez","Nicolas Chapados","Christopher Pal","Sai Rajeswar Mudumba","Issam Hadj Laradji"],"abstract":"Data analytics is essential for extracting valuable insights from data that can assist organizations in making effective decisions. We introduce InsightBench, a benchmark dataset with three key features. First, it consists of 100 datasets representing diverse business use cases such as finance and incident management, each accompanied by a carefully curated set of insights planted in the datasets. Second, unlike existing benchmarks focusing on answering single queries, InsightBench evaluates agents based on their ability to perform end-to-end data analytics, including formulating questions, interpreting answers, and generating a summary of insights and actionable steps. Third, we conducted comprehensive quality assurance to ensure that each dataset in the benchmark had clear goals and included relevant and meaningful questions and analysis. Furthermore, we implement a two-way evaluation mechanism using LLaMA-3 as an effective, open-source evaluator to assess agents' ability to extract insights. We also propose AgentPoirot, our baseline data analysis agent capable of performing end-to-end data analytics. Our evaluation on InsightBench shows that AgentPoirot outperforms existing approaches (such as Pandas Agent) that focus on resolving single queries. We also compare the performance of open- and closed-source LLMs and various evaluation strategies. Overall, this benchmark serves as a testbed to motivate further development in comprehensive automated data analytics.","url_abs":"https://arxiv.org/abs/2407.06423v2","url_pdf":"https://arxiv.org/pdf/2407.06423v2.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":"insightbench-evaluating-business-analytics","repo_url":"https://github.com/servicenow/insight-bench","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"focus","method_name":"Focus"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.06423","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.06423"}},"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/ServiceNow/insight-bench","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/servicenow/insight-bench","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"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":"96668dc94900234c","entry":"extract_python_code_blocks","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/agent_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/agent_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"96668dc94900234c"}},{"code_sha256_prefix":"99512078ece7aaf6","entry":"get_benchmark","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/benchmarks.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/benchmarks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"99512078ece7aaf6"}},{"code_sha256_prefix":"448b528d0f46b4b8","entry":"hash_dict","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/exp_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/exp_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"448b528d0f46b4b8"}},{"code_sha256_prefix":"b9a7104802915e0b","entry":"hash_str","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/exp_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/exp_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b9a7104802915e0b"}},{"code_sha256_prefix":"b2a116422c9ef6fe","entry":"linear_regression","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/tools.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/tools.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b2a116422c9ef6fe"}},{"code_sha256_prefix":"0d5e00c75e457a24","entry":"load_json","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/exp_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/exp_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0d5e00c75e457a24"}},{"code_sha256_prefix":"63cd0034d1ea7c85","entry":"pip_install","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/agent_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/agent_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"63cd0034d1ea7c85"}},{"code_sha256_prefix":"de7e069a4d1ca59c","entry":"is_llama_running","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/utils/eval_utils.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/utils/eval_utils.py","link_basis":"first_harvest_node","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":"de7e069a4d1ca59c"}},{"code_sha256_prefix":"9e6c403a8fbf9db8","entry":"save_json","repo":"ServiceNow/insight-bench","repo_kind":"official","path":"insightbench/tools.py","file_url":"https://github.com/ServiceNow/insight-bench/blob/HEAD/insightbench/tools.py","link_basis":"first_harvest_node","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":"9e6c403a8fbf9db8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}