{"id":18665973,"url":"https://github.com/medartus/airbnb-paris","last_synced_at":"2025-11-06T11:30:45.824Z","repository":{"id":68502037,"uuid":"301380161","full_name":"medartus/Airbnb-Paris","owner":"medartus","description":"📊🛏 Prediction model to control apartment rental flows on the Airbnb platform for Paris City Hall","archived":false,"fork":false,"pushed_at":"2021-01-23T15:04:49.000Z","size":453,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-27T17:42:30.578Z","etag":null,"topics":["airbnb","insideairbnb","paris","rental-analytics"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/medartus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-10-05T11:09:04.000Z","updated_at":"2021-01-29T08:06:40.000Z","dependencies_parsed_at":"2023-02-25T12:16:11.359Z","dependency_job_id":null,"html_url":"https://github.com/medartus/Airbnb-Paris","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medartus%2FAirbnb-Paris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medartus%2FAirbnb-Paris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medartus%2FAirbnb-Paris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medartus%2FAirbnb-Paris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medartus","download_url":"https://codeload.github.com/medartus/Airbnb-Paris/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239493706,"owners_count":19647995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["airbnb","insideairbnb","paris","rental-analytics"],"created_at":"2024-11-07T08:29:51.727Z","updated_at":"2025-11-06T11:30:45.302Z","avatar_url":"https://github.com/medartus.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Airbnb - Paris\n## Getting Started\n1. Install Python modules\n```\npip install -r requirements.txt\n```\n\n2. Create a `dev.env` file in the **root folder** with the following content:\n```\nPOSTGRESQL_HOST=\nPOSTGRESQL_USER=\nPOSTGRESQL_PASSWORD=\nPOSTGRESQL_DATABASE=\nDATASETS_FOLDER_PATH=\n```\n\nTo access and visualize the database, you can use [pgAdmin](https://www.pgadmin.org/download/).\n\n## Organization of Files and Folders\n\n- **datasets**: Regroup all datasets files\n  - **datasets/listings**: Regroup listings datasets\n  - **datasets/reviews**: Regroup reviews datasets\n  - **datasets/calendar**: Regroup calendars datasets\n- **tests**: All the tests files\n- **notebook**: All the files containing ideas to be implemented\n\n## Getting Started\n\n1. Create a table `calendars` on your database :\n``` SQL\nCREATE TABLE public.calendars\n(\n    cal_key serial,\n    listing_id integer,\n    available text COLLATE pg_catalog.\"default\",\n    start_date date,\n    end_date date,\n    num_day integer,\n    minimum_nights double precision,\n    maximum_nights double precision,\n    label text COLLATE pg_catalog.\"default\",\n    validation boolean DEFAULT false,\n    proba double precision,\n    ext_validation double precision DEFAULT 0.0,\n    CONSTRAINT calendars_pkey PRIMARY KEY (cal_key)\n)\n```\n\n2. Create a table `listings` on your database :\n``` SQL\nCREATE TABLE public.listings\n(\n    id integer NOT NULL,\n    listing_url text COLLATE pg_catalog.\"default\",\n    scrape_id bigint,\n    last_scraped text COLLATE pg_catalog.\"default\",\n    name text COLLATE pg_catalog.\"default\",\n    description text COLLATE pg_catalog.\"default\",\n    neighborhood_overview text COLLATE pg_catalog.\"default\",\n    host_id integer,\n    host_acceptance_rate text COLLATE pg_catalog.\"default\",\n    host_listings_count integer,\n    neighbourhood text COLLATE pg_catalog.\"default\",\n    neighbourhood_cleansed text COLLATE pg_catalog.\"default\",\n    neighbourhood_group_cleansed text COLLATE pg_catalog.\"default\",\n    latitude double precision,\n    longitude double precision,\n    property_type text COLLATE pg_catalog.\"default\",\n    room_type text COLLATE pg_catalog.\"default\",\n    minimum_nights integer,\n    maximum_nights integer,\n    calendar_updated text COLLATE pg_catalog.\"default\",\n    has_availability text COLLATE pg_catalog.\"default\",\n    availability_365 integer,\n    calendar_last_scraped text COLLATE pg_catalog.\"default\",\n    number_of_reviews integer,\n    first_review text COLLATE pg_catalog.\"default\",\n    last_review text COLLATE pg_catalog.\"default\",\n    license text COLLATE pg_catalog.\"default\",\n    instant_bookable text COLLATE pg_catalog.\"default\",\n    calculated_host_listings_count integer,\n    reviews_per_month double precision,\n    CONSTRAINT id PRIMARY KEY (id)\n)\n```\n\n2. Create a table `results` on your database :\n``` SQL\nCREATE TABLE public.results\n(\n    extraction_date date,\n    listing_id integer,\n    past12_m50 integer,\n    past12_m75 integer,\n    past12_m95 integer,\n    past12_m100 integer,\n    past12_m95_e75 integer,\n    past12_m100_e75 integer,\n    civil_m50 integer,\n    civil_m75 integer,\n    civil_m95 integer,\n    civil_m100 integer,\n    civil_m95_e75 integer,\n    civil_m100_e75 integer,\n    predict_m50 integer,\n    predict_m75 integer,\n    predict_m95 integer\n)\n```\n\n### Daily execution\n\nThis project has been created in such a way that it can be run every day. To process the data present on InsideAirbnb yesterday, just run the `Daily.py` file. To automate this execution, you can schedule it. \n\n\u003e For Windows, you can for example follow [this tutorial](https://www.jcchouinard.com/python-automation-using-task-scheduler/).\n\nOn average, the script execution time to retrieve the files and do the processing is 30 minutes. Your computer will still be usable because Python uses only one core to run.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedartus%2Fairbnb-paris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedartus%2Fairbnb-paris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedartus%2Fairbnb-paris/lists"}