Inspiration

The H-1B visa process is very biased and does not accurately reflect the needs of the USA or the applicant. We wanted to come up with a systematic approach rather than a randomized lottery to choose those who receive a H-1B visa.

What it does

It takes into account an applicants highest degree level, income of the job they are applying for, and what job they will have. As explained in our video, stage 1 uses a weighted random for what applicants will be chosen based off of their degrees. The ratio for the degrees is based off of what an actual applicant pool looks like. The coefficients for the degrees are as follows:

  1. Less than Bachelor’s degree has a coefficient of 1
  2. Bachelor's degree has a coefficient of 30
  3. Master's degree has a coefficient of 55
  4. Doctorate degree has a coefficient of 10
  5. Professional degree has a coefficient of 4

After stage 1 about 400 applicants are left (as the data we used had only 500 applicants since we ran this on a smaller scale). The next step was to sort the applicants through the income of the job they will be receiving. A threshold was made using the geometric mean of the applicants incomes. The reason why geometric mean was used apposed to arithmetic is because the arithmetic mean would have been skewed by the higher incomes. Considering the we still wanted a large pool of people with higher incomes we decided to make the threshold using the geometric mean. The program accepts 40% of people below the geometric mean and 90% of people above and equal to the geometric mean are accepted, leaving around 250 applicants left after this stage.

The final stage is to sort the remaining applicants based on the jobs they will be applying for. Considering the jobs needed by the USA changes constantly, this part of the code is meant to be edited as the needs change. At the moment, more medical health professionals are needed due to COVID-19, so the algorithm ensures a certain amount of medical professionals are accepted. The percent of people given the visa is based on the cap amount as the H-1B visa does have a maximum acceptance number. Computer-Related Occupations make up 50% of cap amount, Occupations in Medicine and Health Occupations are 15% of cap amount (due to COVID-19), Occupations in Education are 10% of cap amount, and finally the rest of the cap amount (usually about 25% is left) is filled by all other Occupations, whose applicants are random chosen.

The cap amount for our data set is 200 as we started with 500 applicants.

How we built it

We used python (to code) as well as available data on the breakdown of those who are given an H-1B visa (for the thresholds and statistics).

Challenges we ran into

Our greatest challenge was deciding what exactly we were going to code. At first we wanted to code for visas in general, but soon realized we needed to pick a specific visa in order to have our code be specific enough.

Accomplishments that we're proud of

Each stage of the algorithm uses a different method of sorting through the petitioners which we are very proud of. For example we use weighted randoms, then percentages against threshold, and finally specific amounts based off of the cap number.

What we learned

How to build an algorithm in order to sort through a rather large data set, and ensure it works for multiple data sets of various sizes.

What's next for Remodeling the H-1B Visa Application Process

We want to apply the algorithm used to determine H-1B visas to other kinds of visas with a cap. Of course the requirements and what would be taken into consideration changes from visa to visa. The goal is to move towards fully eliminating human biases in the US immigration system through systematic algorithms choosing who gets a visa rather than humans.

Built With

Share this project:

Updates