{"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/arxiv-2604-06207","title":"A Comparative Study of Demonstration Selection for Practical Large Language Models-based Next POI Prediction","arxiv_id":"2604.06207","date":"2026-03-16","proceeding":null,"authors":["Ryo Nishida","Masayuki Kawarada","Tatsuya Ishigaki","Hiroya Takamura","Masaki Onishi"],"abstract":"This paper investigates demonstration selection strategies for predicting a user's next point-of-interest (POI) using large language models (LLMs), aiming to accurately forecast a user's subsequent location based on historical check-in data. While in-context learning (ICL) with LLMs has recently gained attention as a promising alternative to traditional supervised approaches, the effectiveness of ICL significantly depends on the selected demonstration. Although previous studies have examined methods such as random selection, embedding-based selection, and task-specific selection, there remains a lack of comprehensive comparative analysis among these strategies. To bridge this gap and clarify the best practices for real-world applications, we comprehensively evaluate existing demonstration selection methods alongside simpler heuristic approaches such as geographical proximity, temporal ordering, and sequential patterns. Extensive experiments conducted on three real-world datasets indicate that these heuristic methods consistently outperform more complex and computationally demanding embedding-based methods, both in terms of computational cost and prediction accuracy. Notably, in certain scenarios, LLMs using demonstrations selected by these simpler heuristic methods even outperform existing fine-tuned models, without requiring further training. Our source code is available at: https://github.com/ryonsd/DS-LLM4POI.","url_abs":"https://arxiv.org/abs/2604.06207","url_pdf":"https://arxiv.org/pdf/2604.06207","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2604.06207","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.06207"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/ryonsd/DS-LLM4POI","reach":null}],"summary":{"unverified":11},"by_repo_kind":{"found_in_text":{"samples":11,"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":"78148b4f080610eb","entry":"add_time_features","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/data_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/data_utils.py","link_basis":"first_harvest_node","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":"78148b4f080610eb"}},{"code_sha256_prefix":"f03c01cf2583d6df","entry":"calc_jaccard","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/calc_traj_similarity.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/calc_traj_similarity.py","link_basis":"first_harvest_node","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":"f03c01cf2583d6df"}},{"code_sha256_prefix":"2e4baab0667496df","entry":"calc_lcs","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/calc_traj_similarity.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/calc_traj_similarity.py","link_basis":"first_harvest_node","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":"2e4baab0667496df"}},{"code_sha256_prefix":"971154b20f643933","entry":"create_case_dict","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/prompt_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/prompt_utils.py","link_basis":"first_harvest_node","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":"971154b20f643933"}},{"code_sha256_prefix":"a96fd8780ae79d5d","entry":"date_base_selection","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/demo_selection.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/demo_selection.py","link_basis":"first_harvest_node","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":"a96fd8780ae79d5d"}},{"code_sha256_prefix":"62c168aca7e05f69","entry":"encode_day_of_week","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/data_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/data_utils.py","link_basis":"first_harvest_node","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":"62c168aca7e05f69"}},{"code_sha256_prefix":"68a9758671ca0cda","entry":"format_time","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/data_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/data_utils.py","link_basis":"first_harvest_node","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":"68a9758671ca0cda"}},{"code_sha256_prefix":"c2f74cb610cff6ef","entry":"random_selection","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/demo_selection.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/demo_selection.py","link_basis":"first_harvest_node","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":"c2f74cb610cff6ef"}},{"code_sha256_prefix":"9af2b93dce373458","entry":"record2text","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/prompt_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/prompt_utils.py","link_basis":"first_harvest_node","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":"9af2b93dce373458"}},{"code_sha256_prefix":"c42545fa7d86051d","entry":"record2text_target","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/prompt_utils.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/prompt_utils.py","link_basis":"first_harvest_node","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":"c42545fa7d86051d"}},{"code_sha256_prefix":"b137c1bea84aa9a6","entry":"similarity_based_selection","repo":"ryonsd/DS-LLM4POI","repo_kind":"found_in_text","path":"src/utils/demo_selection.py","file_url":"https://github.com/ryonsd/DS-LLM4POI/blob/HEAD/src/utils/demo_selection.py","link_basis":"first_harvest_node","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":"b137c1bea84aa9a6"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}