What it does?

Are you working from home and looking for a city to move into? We can make your life simpler by doing it for you. Using our R Shiny app, choose the factors that matters to you for your big move, and we will provide you with the best cities worldwide to your relevance.

Factors about a City that might be important to you?

  1. Movehub Rating.
  2. Purchasing Power that you would enjoy.
  3. Health Care Index.
  4. Pollution Index.
  5. Quality of Life.
  6. Crime Rating
  7. Number of Sunny Hours per Year.
  8. Average Speed of Internet.
  9. Peace Index.
  10. Happiness Index.
  11. Impact of COVID 19: Number of Deaths/ 1 Million.
  12. COVID 19 Response: Number of Tests / 1 Million.

How to use it?

Select the factors you care about from our collection? Tell us how much they matter! We would list out the best cities for you and the worst ones too.

Step 1. Drag the sliders for the variables that are important to you under the “Input Your Preference(s)” tab.

Step 2. Sit back an enjoy! You already got what you want!

Step3.: Go back to Step 1 untill you find a city to call it your home.

What’s happening behind the curtain

Suppose we observe data on \(n\) cities around world such that for each city there is a \(p\)-dimensional (continuous and real-valued) factor, say \(\boldsymbol{x}_i \in \mathbb{R}^p\). Based on this data and the preference provided by the user on these \(p\) factors, we calculate a score in between \(0\) to \(100\) and provide the user with 5 best and 5 worst cities based on it.

Avoiding the mathematical details, our approach can be summarized in the following steps:

Step 1. Suppose for \(k\) out of the \(p\) factors an user provides a non “None” preference. Since the user has no preference on the \(p-k\) factors, we drop these and just focus on the \(k\) factors for the next step.

Step 2. We jointly standardize the \(k\) factors to remove unnderlying joint correlations.

Step 3. Based on the preference provided by the user, we first find a ``direction’’ (or vector) in \(\mathbb{R}^k\). This is the direction that is preferred by the user. Given these, we project all the \(n\) points in that space on this vector. Then we sort the projected points, where the point lying the furthest in the direction is the most preferred city for the user.

Shiny App:

https://city-search-engine-2020.shinyapps.io/DATATHON2020/