{"id":26488023,"url":"https://github.com/mdtanvirhossaintusher/cf_visualizer","last_synced_at":"2026-04-13T23:02:49.694Z","repository":{"id":184202295,"uuid":"658398016","full_name":"MdTanvirHossainTusher/CF_visualizer","owner":"MdTanvirHossainTusher","description":"Visualize the findings in Tableau about the problem set of \"CodeForces.com\".","archived":false,"fork":false,"pushed_at":"2024-03-17T13:46:20.000Z","size":430,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T06:55:32.363Z","etag":null,"topics":["python3","selenium-python","selenium-webdriver","tableau"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MdTanvirHossainTusher.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}},"created_at":"2023-06-25T16:14:11.000Z","updated_at":"2023-08-02T16:15:36.000Z","dependencies_parsed_at":"2023-08-17T18:16:56.451Z","dependency_job_id":null,"html_url":"https://github.com/MdTanvirHossainTusher/CF_visualizer","commit_stats":null,"previous_names":["mdtanvirhossaintusher/cf_visualizer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MdTanvirHossainTusher/CF_visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MdTanvirHossainTusher%2FCF_visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MdTanvirHossainTusher%2FCF_visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MdTanvirHossainTusher%2FCF_visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MdTanvirHossainTusher%2FCF_visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MdTanvirHossainTusher","download_url":"https://codeload.github.com/MdTanvirHossainTusher/CF_visualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MdTanvirHossainTusher%2FCF_visualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31774547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: 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":["python3","selenium-python","selenium-webdriver","tableau"],"created_at":"2025-03-20T06:55:36.620Z","updated_at":"2026-04-13T23:02:49.678Z","avatar_url":"https://github.com/MdTanvirHossainTusher.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CodeForces problemset data visualization and analysis\n\n## Problem Statement\n\nThe goal of this project is to gather problemset information of [this website](https://codeforces.com/problemset).\nLater we utilized the **scraped data (1200)** to understand the following demographics and correlations using Tableau Dashboard:\n\n1. Category-wise average difficulty of the problems.\n2. Total problem solve count according to the Problems Category.\n3. Total solves in overall contest.\n4. Category-wise total problems.\n5. Category-wise Problems Tags and relation.\n6. Tags-wise problems details.\n\nTo see the visualization and findings you can visit the public dashboard here[ [1-4](https://public.tableau.com/app/profile/md.tanvir.hossain/viz/CF_visualizer_1/visualization), \n[5](https://public.tableau.com/app/profile/md.tanvir.hossain/viz/CF_visualizer_2/Sheet3), [6](https://public.tableau.com/app/profile/md.tanvir.hossain/viz/CF_visualizer_3/Sheet5) ].\n\n**Findings From Problem Difficulties:** \u003cbr/\u003e\n\u003cimg src = \"images/findings_from_problem_difficulties.PNG\" width=\"700\" height=\"350\"\u003e\u003cbr/\u003e\n\n**Findings From Problem Tags:** \u003cbr/\u003e\n\u003cimg src = \"images/findings_from_problem_tags.PNG\" width=\"700\" height=\"350\"\u003e\u003cbr/\u003e\n\n**Findings From Problem Categories and Tags:** \u003cbr/\u003e\n\u003cimg src = \"images/findings_from_problem_categories_and_tags.PNG\" width=\"700\" height=\"350\"\u003e\u003cbr/\u003e\n\n\n\n## Findings and Observations\n\n1. Mostly, difficulty of the categories increases alphabetically. For instance - B is difficult than A. On the other hand C is difficult than both A \u0026 B. Category A1, B1, G2, G3,.. which has a number on it's       prefix didn't follow this criteria.\n\n2. If the problems difficulty increases, mostly count of total solve decreses. You can find the difficulty of the problem from point 1. Difficulty of problems cateogry - A, B, C are less than G3, I, J etc.\n   So, A, B. C, D has highest solve count.\n\n3. Solve counts in contest mostly depend on problems difficulty rathan than total contest occured overall. We see if the problem has less difficulty, then it got higher solves. e.g - A \u0026 B have the same          contest count but as A is less difficult than B, so contestant love to solve A rather than a bit difficult problem B.\n\n4. Category wise problems count is same as the no of contest occured. All contest have problem A, B. So, it has the same count. C, D also occur almost every contest but in the problemset those problems were not maintain any serail. So, most probably this scenario occures for C, D also. But, G3, O, M, N category problem occurs rarely.\n\n5. We see a list of tags and problems category. From here one can get a rough idea about what type of problems belongs to which type of problem topics/tags. But from the data it's really hard to come up with     a decision because it shows arbitrary results.\n\n6. One can get more clear idea about a problem. One can find the difficulty of a problem and it's category. Difficulty level again depends on the category(vice-versa). A problem has low difficulty than B, C,     D etc. But, here also we can't take any decision about the tags. One category problem contains multiple tags.\n\n\n\n## Build From Sources and Run the Code\n\n1. Clone the repository\n   `git clone https://github.com/MdTanvirHossainTusher/CF_visualizer.git`\n\n2. Open the repository in your preferable editor and enter to `CF_visualizer` directory.\n\n3. Create a virtual environment with these commands in windows-\n   `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`\n   `.\\venv\\Scripts\\activate`\n\n4. Install selenium web driver and pandas into the virtual environment by the below commands-\n   `pip install selenium webdriver_manager`\n   `pip install pandas`\n\n5. Run `scraper.py` with this command-\n   `python scraper.py`\n\n6. To deactivate the virtual environment type this command-\n   `deactivate`\n\n   \n## To run `notebooks/CF_VISUALIZER.ipynb` -\n\n1. Open the file in Google colab or Jupyter notebook and run all the cells sequentially.\n\n\nN.B: You will get the `data/cf_problem_details.csv` file after running successfully `scraper.py`. On the other hand, after running `notebooks/CF_VISUALIZER.ipynb` you will get the cleaned dataset as `data/clean_cf_problem_details_dataset.csv`\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdtanvirhossaintusher%2Fcf_visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdtanvirhossaintusher%2Fcf_visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdtanvirhossaintusher%2Fcf_visualizer/lists"}