Mulberry

A free college application strategist.

The Mulberry logo: a magenta berry and a green leaf

Applying to college is kinda hard. You have to figure out which schools you like, as well as which schools you actually have a good chance of getting into. That’s the informational problem.

Once you have this information, it’s tough to decide how to allocate your limited applications across desirable, competitive “reach schools” and less attractive “safety schools” where admissions is a safer bet. That’s the strategic problem.

There are boatloads of “chance me!” websites that can help you with the informational problem. But when it comes to the strategic problem, research shows that people often resort to folk wisdom, risk-averse heuristics, and gut feelings. Mulberry treats the strategic problem as a math problem. It complements those introspective techniques with dispassionate, numbers-driven advice.

Mulberry is an algorithm. You input estimates of your admissions chances at each school and the amount of utility you associate with going there, and Mulberry sorts the schools in the order you should apply to them to maximize your expected utility. (“Utility”?)

We’ve randomly generated a few colleges to get you started.

Results

… will appear here.

How does the algorithm work?

Your goal, in applying to college, is (probably) to maximize the utility of the best school you get into. If you apply to just one school, then your expected utility is its admissions probability times its utility value. But if you apply to many schools, your expected utility is a conditional probability expression that depends on whether you get into your first choice, your second choice, and so on.

🧮 Mathematical background

Suppose there are $m$ schools overall, and let $t_j$ denote the utility value for school $j$ and $f_j$ its admissions probability. We can order the schools so that $t_1 \leq \cdots \leq t_m$.

Let’s use $\mathcal{X}$ to denote the set of schools we apply to. If $j \in \mathcal{X}$, then the probability $p_j$ of attending school $j$ is the probability of getting rejected from all the schools better than $j$, times the probability of getting accepted to school $j$:

$$p_j(\mathcal{X}) = f_j \prod_{\substack{i \in \mathcal{X}:\\ i > j}} (1 - f_i)$$

The utility achieved by applying to the schools in $\mathcal{X}$ is then $t_j$ with probability $p_j(\mathcal{X})$, and the expected utility

$$\begin{align*} v(\mathcal{X}) &= \sum_{j \in \mathcal{X}} t_j p_j(\mathcal{X}) \\ &= \sum_{j \in \mathcal{X}} t_j f_j \Bigl(\prod_{\substack{i \in \mathcal{X}:\\ i > j}} (1 - f_i)\Bigr) \end{align*}$$

is what Mulberry maximizes. This function has some cool properties. For example, it is a submodular set function.

It turns out that the optimal application strategy can be characterized by a certain permutation (ordering) of the schools. If you can only apply to one college, you should apply to the first school in that permutation; if you can apply to two colleges, you should apply to the first two, and so on. Mulberry takes your admissions probabilities and utility parameters and computes this permutation.

The interesting thing is that the optimal permutation is not determined by simply sorting the schools by the products of their admissions probability and utility values. Mathematically, we can show that this “obvious“ idea is incorrect—it can produce a suboptimal result. To get the true optimum, you need to delve into the conditional probabilities described above, and that’s exactly what Mulberry does.

The underlying algorithm is detailed in my MS thesis. My thesis also addresses a more general form of the problem in which colleges have different application fees and you have a finite budget to spend on applications. If you want to solve instances of this harder problem, and are comfortable with the command line, check out my Julia package.

How do I determine my utility values?

A utility value is a number that summarizes how much you like each school in light of your own priorities. The college’s student experience, career outcomes, the cost of tuition, and the graduation rate will all contribute to the utility value. You can consult the College Scorecard for factual data about colleges and universities in the US.

Once you’ve read up on a target school, a good way to estimate its utility value is to ask yourself the following question: If letters of admission to this college were sold at Best Buy, how much money would I be willing to pay for one? Then, if necessary, divide your answer by some constant so you can fit it in the scale above.

About the code

This website is hosted using GitHub pages. The algorithm is written in JavaScript. You can read all the code here. This website does not use cookies, so all the data you input lives only on your computer, and if you refresh the page it will disappear. The code is provided under a GPL license, which means that you can reuse it in your own projects, but only if they are released under a similar open-source license.

Bugs, questions, comments: Submit a pull request on GitHub or email me at maxkapur@gmail.com. My homepage is maxkapur.com.

The logo and color scheme are derived from a Wikimedia Commons image by user Geo Lightspeed7.