{"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/twin-2k-500-a-dataset-for-building-digital","title":"Twin-2K-500: A dataset for building digital twins of over 2,000 people based on their answers to over 500 questions","arxiv_id":"2505.17479","date":"2025-05-23","proceeding":null,"authors":["Olivier Toubia","George Z. Gui","Tianyi Peng","Daniel J. Merlau","Ang Li","Haozhe Chen"],"abstract":"LLM-based digital twin simulation, where large language models are used to emulate individual human behavior, holds great promise for research in AI, social science, and digital experimentation. However, progress in this area has been hindered by the scarcity of real, individual-level datasets that are both large and publicly available. This lack of high-quality ground truth limits both the development and validation of digital twin methodologies. To address this gap, we introduce a large-scale, public dataset designed to capture a rich and holistic view of individual human behavior. We survey a representative sample of $N = 2,058$ participants (average 2.42 hours per person) in the US across four waves with 500 questions in total, covering a comprehensive battery of demographic, psychological, economic, personality, and cognitive measures, as well as replications of behavioral economics experiments and a pricing survey. The final wave repeats tasks from earlier waves to establish a test-retest accuracy baseline. Initial analyses suggest the data are of high quality and show promise for constructing digital twins that predict human behavior well at the individual and aggregate levels. By making the full dataset publicly available, we aim to establish a valuable testbed for the development and benchmarking of LLM-based persona simulations. Beyond LLM applications, due to its unique breadth and scale the dataset also enables broad social science research, including studies of cross-construct correlations and heterogeneous treatment effects.","url_abs":"https://arxiv.org/abs/2505.17479v1","url_pdf":"https://arxiv.org/pdf/2505.17479v1.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":"twin-2k-500-a-dataset-for-building-digital","repo_url":"https://github.com/tianyipeng-lab/digital-twin-simulation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"2k","task_name":"2k"},{"task_slug":"benchmarking","task_name":"Benchmarking"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2505.17479","atlas_url":"https://app.syntology.ai/?focus=2505.17479","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.17479"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/tianyipeng-lab/digital-twin-simulation","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":15,"unverified":1},"by_repo_kind":{"official":{"samples":16,"ran":15,"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":"179be440a8c1ce9b","entry":"assign_decile","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/mad_accuracy_evaluation.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/mad_accuracy_evaluation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"179be440a8c1ce9b"}},{"code_sha256_prefix":"7b31bb60c7fc9e79","entry":"compute_column_mad","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/mad_accuracy_evaluation.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/mad_accuracy_evaluation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7b31bb60c7fc9e79"}},{"code_sha256_prefix":"a77953607b450c76","entry":"format_instructions","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/convert_question_json_to_text.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/convert_question_json_to_text.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a77953607b450c76"}},{"code_sha256_prefix":"1b525d98f94cb69e","entry":"get_output_path","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/run_LLM_simulations.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/run_LLM_simulations.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1b525d98f94cb69e"}},{"code_sha256_prefix":"d79b384b4d592ac8","entry":"is_in_range","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/postprocess_responses.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/postprocess_responses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d79b384b4d592ac8"}},{"code_sha256_prefix":"c595d47b7e66dd4c","entry":"is_valid_number","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/postprocess_responses.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/postprocess_responses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c595d47b7e66dd4c"}},{"code_sha256_prefix":"28d3823238da92f8","entry":"load_config","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/run_LLM_simulations.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/run_LLM_simulations.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"28d3823238da92f8"}},{"code_sha256_prefix":"48813b837dd9b3a5","entry":"load_label_formatted_csv","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/pricing_analysis.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/pricing_analysis.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"48813b837dd9b3a5"}},{"code_sha256_prefix":"542761087965a347","entry":"load_randdollar_breakdown","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/pricing_analysis.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/pricing_analysis.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"542761087965a347"}},{"code_sha256_prefix":"b3e7794590cd96fb","entry":"prepare_purchase_data","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/pricing_analysis.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/pricing_analysis.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b3e7794590cd96fb"}},{"code_sha256_prefix":"5a782d377e0f03a6","entry":"read_persona_summary","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/convert_persona_to_text.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/convert_persona_to_text.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a782d377e0f03a6"}},{"code_sha256_prefix":"4c517edd28330e93","entry":"strip_html","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/convert_persona_to_text.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/convert_persona_to_text.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c517edd28330e93"}},{"code_sha256_prefix":"c472e1d7777b89a0","entry":"strip_html","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/convert_question_json_to_text.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/convert_question_json_to_text.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c472e1d7777b89a0"}},{"code_sha256_prefix":"3c07cde0759188ad","entry":"summary_mad","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"evaluation/mad_accuracy_evaluation.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/evaluation/mad_accuracy_evaluation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3c07cde0759188ad"}},{"code_sha256_prefix":"2ea6c23f2d53961f","entry":"validate_matrix_response","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/postprocess_responses.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/postprocess_responses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2ea6c23f2d53961f"}},{"code_sha256_prefix":"9ed4cb51542a8ede","entry":"format_question_text","repo":"tianyipeng-lab/digital-twin-simulation","repo_kind":"official","path":"text_simulation/convert_persona_to_text.py","file_url":"https://github.com/tianyipeng-lab/digital-twin-simulation/blob/HEAD/text_simulation/convert_persona_to_text.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9ed4cb51542a8ede"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}