Yotta Savings and covering designs
Yotta Savings is a FDIC
insured savings account that gives you “interest” in another way. It has
a 0.2% APR. It is much better than the APR of many banks, but much worse
than actual high APR savings accounts, e.g. Marcus, Ally. However, for
each $25, Yotta gives you a ticket weekly to their drawing, which you
would have some chance of winning a big amount of money. This is very
close to Premium
Bond in the UK. What if one wants to actually figure out the actual
APR one can hope for. People at Hacker News
already did a lot of analysis, and in expectation you are looking at
more than 3% APR. If you are going to sign up, please use my referral
code CHAO1
and we both get 100 tickets.
What about worst case guaranteed return? For example, if you believe Yotta is out to get you and draw numbers to minimize what you are going to earn (paranoid? yep). The entire expectation calculation means nothing to you. What is the guaranteed return if you save a large sum of money in there. Note each person can have at most 10000 tickets, so a maximum investment of $250,000.
Recall . Each ticket allows you to pick a size subset of , and a single element from . At the end of the week, Yotta also would have drawn a element subset of , and a single element from . Let a combination be called a ticket, and is the space of all tickets. A draw is also a ticket.
To actually find the optimum, you can write a huge optimization problem. Assume we have a valuation function , where is the winning for given ticket and draw . For ticket, the optimum guaranteed return is . This problem is too large to solve exactly. Let’s try some existing tools to get a quick lower bound.
There are many ways to win, but we only need to concentrate on the following, the rest are not helpful with meeting the bottom line. Let .
- If and , then .
- If and , then .
- If and , then .
- If and , then .
- If and , then .
It is easy to see just by looking at , if you have 25 tickets, you can win at least $0.1 weekly by picking each possible . This gives you already a 0.83% APR by simply saving $625.
How about ? Let . If we can find a small family of element subsets, such that every set of size are covered, then we can earn at least .
A -covering design is family of -element subsets of , such that every -element subset of is covered. The -element subsets are called blocks.
So we are looking for a design of small size. Dan Gordon has curated a good collection of covering designs. The smallest known covering designs for each are . The last one is too large to be useful, but gives an indication on the size we are looking at. In fact, we can ask for stronger property.
A -block -design is called nice, if for each subset, it is covered by at least blocks.
The -covering design by Jan de Heer and Steve Muir is a nice design.
At tickets, we can guarantee a win of by creating 25 copies of the -covering design. This is 0.9% APR if you put in $7500.
Similarly, at tickets, one can guarantee at least a win of by creating 25 copies of the -covering design. Due to it is also a nice design, each element appears at least 14 times. So we are looking at , which is a 0.93% APR for a investment of $107,500.
This is only a lower bound to the optimization problem, so maybe even more APR can be obtained through better design. Together with the 0.2% interest you earn a guaranteed 1.13% APR for having a lot of money.
We can do more if certain design exists. If we can find a -covering design of blocks that can be partitioned into 25 nice -covering designs, then we can do more. In theory, a nice -covering design has a lower bound of 164 blocks. So taking , we are looking at:
- 1 ticket of .8 winning,
- 1 ticket of .4 winning,
- 13 tickets of .2 winning,
- 150 tickets of .1 winning.
So you get 0.96% APR for $102,500 in savings. My guess is there is a potential of finding a spot of 1% APR by solving the optimization problem exactly.
Input the entire design into the Yotta system every week is a crazy amount of work, and clearly not worth the time. It is better to be not paranoid and let the algorithm give you random numbers. Or hope one day Yotta allows one to import a list of numbers.