{"id":50844424,"url":"https://github.com/ccao-data/homeval","last_synced_at":"2026-06-14T08:33:18.869Z","repository":{"id":299888111,"uuid":"787056845","full_name":"ccao-data/homeval","owner":"ccao-data","description":"Experimental report that shows the characteristics and the most significant sales that the CCAO's residential model used to value your home","archived":false,"fork":false,"pushed_at":"2026-05-22T21:20:01.000Z","size":1367,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T08:33:15.427Z","etag":null,"topics":["assessment","property-taxes","r","reporting"],"latest_commit_sha":null,"homepage":"https://www.cookcountyassessoril.gov/home-value-report","language":"R","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/ccao-data.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-15T20:04:49.000Z","updated_at":"2026-05-22T21:20:03.000Z","dependencies_parsed_at":"2025-06-18T20:41:05.033Z","dependency_job_id":"47289e38-cb95-489e-a52e-4e219b7359cd","html_url":"https://github.com/ccao-data/homeval","commit_stats":null,"previous_names":["ccao-data/pinval","ccao-data/homeval"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ccao-data/homeval","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccao-data%2Fhomeval","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccao-data%2Fhomeval/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccao-data%2Fhomeval/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccao-data%2Fhomeval/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccao-data","download_url":"https://codeload.github.com/ccao-data/homeval/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccao-data%2Fhomeval/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34315072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["assessment","property-taxes","r","reporting"],"created_at":"2026-06-14T08:33:16.928Z","updated_at":"2026-06-14T08:33:18.865Z","avatar_url":"https://github.com/ccao-data.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HomeVal\n\nThis repo stores the code necessary to generate experimental reports\nexplaining how the CCAO Data team's residential model valued any particular\nsingle-family home or multifamily home with six or fewer units.\n\n## Development\n\n### Running a development server\n\nThis project expects that you have the [Hugo CLI](https://gohugo.io/installation/)\ninstalled on your machine.\n\n\u003e [!NOTE]\n\u003e While the Data team often does work on the server, you should do Hugo\n\u003e development on your laptop in order to run the development site. Hugo\n\u003e installation is easiest using WSL, where you can install it by running\n\u003e `sudo snap install hugo` and entering your WSL user password. Your WSL\n\u003e password will most likely be different from your laptop password; if\n\u003e you're having trouble authenticating, reach out to a senior staff member\n\u003e for help.\n\n1. Ensure that Hugo is installed correctly by running `hugo version`.\n2. Navigate to the `hugo/` subdirectory and run the development server:\n\n```\ncd hugo\nhugo serve\n```\n\n3. Any reports that [you have generated](#generating-reports)\n   will be available in a browser at http://localhost:1313/.\n\n### Generating reports\n\nYou can use the [`generate_homeval`\nscript](https://github.com/ccao-data/homeval/blob/main/scripts/generate_homeval/generate_homeval.py)\nto generate reports that you can view locally.\n\nStart by creating a virtual environment for the script and installing its\ndependencies:\n\n```\ncd scripts/generate_homeval\nuv sync --frozen\nsource .venv/bin/activate\ncd ../..\n```\n\nThen, use the script to generate reports for one or more PINs using a given\ncomps run ID:\n\n```\npython3 scripts/generate_homeval/generate_homeval.py \\\n   --run-id \u003cyour_comps_run_id\u003e \\\n   --pin \u003cone_or_more_space_separated_pins\u003e\n```\n\nIf you're not sure which comps run ID to use, but you want to use the final\ncomps run for a given year, see the `pinval.model_run` table.\n\nRun `python3 scripts/generate_homeval/generate_homeval.py --help` to see full\ndocumentation for the script.\n\n## Deployment\n\nWe manage deployments using the [`generate-homeval` GitHub\nworkflow](https://github.com/ccao-data/homeval/actions/workflows/generate-homeval.yaml).\nThat workflow includes options for deploying to a development environment as\nwell as the production environment.\n\n### Deploying a new model run\n\nDuring modeling season, we often deploy non-final model runs to the staging app\nin order to QC the pipeline before we deploy to prod. We also perform\none final deployment to the prod app once we've finalized the model. These\nupdates can be tricky, since they require strategically building certain dbt\nresources in the [`data-architecture`\nrepo](https://github.com/ccao-data/data-architecture/) in the correct order.\n\nSee the sections below for detailed instructions on how to perform these\ndeployments, with slightly different steps for staging and prod.\n\n#### Deploying to staging for a new, non-final model run\n\n1. Create a new branch in `data-architecture` to deploy staging versions of the\n   dbt models that HomeVal depends on for its data\n2. Update the `pinval.model_run` seed with the non-final model runs to use as\n   the basis for cards, comps, and SHAPs\n3. Update the `model.final_model_raw` seed with the non-final model run that\n   you used for the `card` type in step 2\n4. Update the `pinval.comp` dbt model so that the `WHERE` filter in the\n   `training_data` subquery includes the non-final model run that you added to\n   `model.final_model_raw` in step 3\n5. Commit your changes to your branch, push it, and open a PR\n   - Your PR will trigger a `build-and-run-dbt` workflow to build staging\n     resources. This build will fail, since not all of the necessary precursor\n     resources will exist yet. Ignore this failure and move on to the next step\n6. Trigger a [`build-and-test-dbt`\n   workflow](https://github.com/ccao-data/data-architecture/actions/workflows/build_and_test_dbt.yaml)\n   using your branch to build necessary HomeVal resources in the right order.\n   Use the following value for the input box labeled\n   \"A space-separated list of dbt models\",\n      - `model.final_model model.training_data pinval.assessment_card pinval.comp`\n7. Create a new branch in this repo to deploy a staging version of the site\n8. Take note of the schemas that dbt used to create your staging resources\n   in the workflow logs from step 5 above, and edit\n   `scripts/generate_homeval/constants.py` in this repo to point to the staging\n   versions of the core HomeVal tables. Core HomeVal tables include:\n      - `HOMEVAL_ASSESSMENT_CARD_TABLE`\n      - `HOMEVAL_COMP_TABLE`\n9. Kick off a [`generate-homeval` workflow\n   run](https://github.com/ccao-data/homeval/actions/workflows/generate-homeval.yaml)\n   using the following parameters:\n   - \"Use workflow from\": Select your branch name\n   - \"Assessment year\": The assessment year for the new model run that you\n     would like to use as the basis for your staging deployment\n   - \"Environment\": \"Development bucket\"\n   - \"Build reports by neighborhood\": Check the box\n   - \"Only generate reports for PINs that are eligible for reports\": You can\n     leave this either checked or unchecked, depending on whether you want\n     to generate verbose error pages; for staging deployments, verbose error\n     pages are usually not necessary\n   - Leave all other fields either blank or unchecked\n\n#### Deploying to prod for a new, final model run\n\n1. Follow steps 1-6 in the instructions above for deploying to staging\n2. Seek approval on your `data-architecture` PR, merge it in, and wait for\n   the `build-and-test-dbt` workflow to rebuild prod resources\n3. Once dbt has rebuilt `pinval.comp` and `pinval.assessment_card` using the\n   new model run, kick off a [`generate-homeval` workflow\n   run](https://github.com/ccao-data/homeval/actions/workflows/generate-homeval.yaml)\n   using the following parameters:\n   - \"Use workflow from\": \"main\"\n   - \"Assessment year\": The assessment year for the new model run that you\n     would like to use as the basis for your staging deployment\n   - \"Environment\": \"Production bucket\"\n   - \"Build reports by neighborhood\": Check the box\n   - Leave all other fields either blank or unchecked\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccao-data%2Fhomeval","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccao-data%2Fhomeval","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccao-data%2Fhomeval/lists"}