{"id":31211524,"url":"https://github.com/cyberagentailab/cxsimulator","last_synced_at":"2026-02-26T18:04:53.316Z","repository":{"id":258084459,"uuid":"868837049","full_name":"CyberAgentAILab/CXSimulator","owner":"CyberAgentAILab","description":"CXSimulator: A User Behavior Simulation using LLM Embeddings for Web-Marketing Campaign Assessment [Kasuga+, CIKM'24] ","archived":false,"fork":false,"pushed_at":"2024-10-18T05:32:40.000Z","size":927,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T07:38:34.381Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CyberAgentAILab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-07T09:16:12.000Z","updated_at":"2025-07-22T07:36:26.000Z","dependencies_parsed_at":"2025-09-21T05:46:53.063Z","dependency_job_id":null,"html_url":"https://github.com/CyberAgentAILab/CXSimulator","commit_stats":null,"previous_names":["cyberagentailab/cxsimulator"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CyberAgentAILab/CXSimulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberAgentAILab%2FCXSimulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberAgentAILab%2FCXSimulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberAgentAILab%2FCXSimulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberAgentAILab%2FCXSimulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyberAgentAILab","download_url":"https://codeload.github.com/CyberAgentAILab/CXSimulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberAgentAILab%2FCXSimulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29867152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T16:38:37.846Z","status":"ssl_error","status_checked_at":"2026-02-26T16:37:58.932Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-21T05:30:37.044Z","updated_at":"2026-02-26T18:04:53.270Z","avatar_url":"https://github.com/CyberAgentAILab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003eCXSimulator: A User Behavior Simulation using LLM Embeddings for Web-Marketing Campaign Assessment\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://sites.google.com/view/akira-kasuga/home\"\u003eAkira Kasuga\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://yonetaniryo.github.io/\"\u003eRyo Yonetani\u003c/a\u003e \u0026nbsp;\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    CyberAgent, Inc. \u0026nbsp;\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cstrong\u003eCIKM 2024\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://arxiv.org/pdf/2407.21553\"\u003e\u003cimg src=\"https://img.shields.io/badge/arXiv-paper-orange\" alt=\"arXiv paper\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/d24d85d8-e8ef-411e-918e-3230f31c6167\" alt=\"Cover Image\"\u003e\n\n---\n\n## 📌 Overview\n\n**CXSimulator** framework uses LLMs to represent user behavior events as semantic embeddings and predicts transitions between these events. This enables simulation of user reactions to new campaigns, eliminating the need for costly online testing and providing valuable insights to marketers.\n\n## 🛠 Prerequisites\n\n| Operating System               | Based on                                                |\n| ------------------------------ | ------------------------------------------------------- |\n| Debian GNU/Linux 12 (bookworm) | [python:3.10-bookworm](https://hub.docker.com/_/python) |\n\n| Software              | Install                                                                             |\n| --------------------- | ----------------------------------------------------------------------------------- |\n| Python \u003e= 3.10,\u003c 3.12 | -                                                                                   |\n| [Poetry] \u003e= 1.8.0     | [installer](https://python-poetry.org/docs/#installing-with-the-official-installer) |\n| [pre-commit] \u003e= 3.8.0 | `pip install pre-commit`                                                            |\n\n| Cloud Infrastructure | Link                                                                                                                        | Summary                                                                                                                                                                                                                         |\n| -------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Cloud BigQuery       | [Google Analytics Sample](https://console.cloud.google.com/marketplace/product/obfuscated-ga360-data/obfuscated-ga360-data) | The dataset provides 12 months (August 2016 to August 2017) of obfuscated Google Analytics 360 data from the Google Merchandise Store , a real ecommerce store that sells Google-branded merchandise,                           |\n| AzureOpenAI          | [Generate embeddings with Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/embeddings)       | An embedding is a special format of data representation that can be easily utilized by machine learning models and algorithms. The embedding is an information dense representation of the semantic meaning of a piece of text. |\n\n## 🔧 Setup\n\n```shell\npoetry install\n```\n\n## 🚀 Getting started (Using Cache Data)\n\n### Help\n\n```shell\npoetry run python -m cxsim --help\npoetry run task --list\n```\n\n### Preprocess and Train\n\n```shell\npoetry run task model_using_cache\n```\n\n### Simulation\n\n```shell\npoetry run task simulation_using_cache\n```\n\n## 📊 Execute All Steps\n\n### Environment Setting\n\n\u003e [!IMPORTANT]\n\u003e Authentication for cloud services is a prerequisite for executing all steps and may incur some costs.\n\n#### Google Cloud\n\n1. Enable BigQuery API in your project.\n\n2. Install [gcloud CLI](https://cloud.google.com/sdk/docs/install)\n\n3. Auth Login.\n\n```shell\ngcloud auth application-default login\n```\n\n#### Microsoft AzureOpenAI\n\n1. Copy template\n   ```bash\n   cp ./src/cxsim/config/.env.template ./src/cxsim/config/.env\n   ```\n2. Add the following content to the `.env` file:\n\n   ```bash\n    # Azure OpenAI\n    AZURE_OPENAI_US_ENDPOINT=XXXXXXXX\n    AZURE_OPENAI_US_VERSION=2024-03-01-preview\n    AZURE_OPENAI_US_KEY=XXXXXXXX\n    # Google Cloud\n    GOOGLE_CLOUD_PROJECT_ID=XXXXXXXX\n   ```\n\n### Preprocess and Train\n\n\u003e [!NOTE]\n\u003e Once you've completed `poetry run task model_using_cache`, you can skip this step. In the next step, you'll simulate your campaigns using pre-trained models.\n\n```shell\npoetry run task model\n```\n\n### Simulation\n\n```shell\npoetry run task simulation --campaign-title \"Enjoy 1 month Free of YouTube Premium for Youtube related Product\"\n```\n\nIf you would like to new data period,\n\n```shell\npoetry run task simulation_for_new --campaign-title \"Enjoy 1 month Free of YouTube Premium for Youtube related Product\"\n```\n\n## 📄 Citation\n\n```bibtex\n@inproceedings{kasuga2024CXSimulator\n  title={CXSimulator: A User Behavior Simulation using LLM Embeddings for Web-Marketing Campaign Assessment},\n  author={Akira Kasuga and Ryo Yonetani},\n  booktitle={Proceedings of the 33rd ACM International Conference on Information and\nKnowledge Management (CIKM ’24)},\n  year={2024},\n  url={https://github.com/CyberAgentAILab/CXSimulator.git},\n  doi={https://doi.org/10.1145/3627673.3679894}\n}\n```\n\n## License\n\nThis project is licensed under the [Apache License 2.0](LICENSE).\n\n[poetry]: https://python-poetry.org/\n[pre-commit]: https://pre-commit.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberagentailab%2Fcxsimulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyberagentailab%2Fcxsimulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberagentailab%2Fcxsimulator/lists"}