The Art Gallery Guardian

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 [n]={1,,n}[n]=\set{1,\ldots,n}. Each ticket allows you to pick a size 66 subset XX of [70][70], and a single element yy from [25][25]. At the end of the week, Yotta also would have drawn a 66 element subset AA of [70][70], and a single element bb from [25][25]. Let a combination (X,y)(X,y) be called a ticket, and TT 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 f:T×TRf:T\times T\to \R, where f(u,v)f(u,v) is the winning for given ticket uu and draw vv. For nn ticket, the optimum guaranteed return is maxFTnminvTuFf(u,v)\max_{F\in T^n} \min_{v\in T} \sum_{u\in F} f(u,v). 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 u=(X,y),v=(A,b)u=(X,y), v=(A,b).

  • If b=yb=y and XY=0|X\cap Y|=0, then f(u,v)=0.1f(u,v)=0.1.
  • If b=yb=y and XY=1|X\cap Y|=1, then f(u,v)=0.2f(u,v)=0.2.
  • If b=yb=y and XY=2|X\cap Y|=2, then f(u,v)=0.8f(u,v)=0.8.
  • If b=yb=y and XY=3|X\cap Y|=3, then f(u,v)=10f(u,v)=10.
  • If byb\neq y and XY=3|X\cap Y|=3, then f(u,v)=0.4f(u,v)=0.4.

It is easy to see just by looking at yy, if you have 25 tickets, you can win at least $0.1 weekly by picking each possible yy. This gives you already a 0.83% APR by simply saving $625.

How about XX? Let a0=.1,a1=.2,a2=.8a_0=.1, a_1=.2, a_2=.8. If we can find a small family of 66 element subsets, such that every set of size ii are covered, then we can earn at least aia_i.


A (v,k,t)(v,k,t)-covering design is family of kk-element subsets of [v][v], such that every tt-element subset of [v][v] is covered. The kk-element subsets are called blocks.

So we are looking for a (70,6,k)(70,6,k) design of small size. Dan Gordon has curated a good collection of covering designs. The smallest known covering designs for each kk are 12,172,325812, 172, 3258. 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 nn-block (v,k,t)(v,k,t)-design is called nice, if for each ttt'\leq t subset, it is covered by at least n(vk)/(vt)\left\lfloor n{v\choose k}/{v\choose t'} \right\rfloor blocks.

The (70,6,2)(70,6,2)-covering design by Jan de Heer and Steve Muir is a nice design.

At 12×25=30012\times 25=300 tickets, we can guarantee a win of .2+11×.1=1.3.2+11\times .1=1.3 by creating 25 copies of the (70,6,1)(70,6,1)-covering design. This is 0.9% APR if you put in $7500.

Similarly, at 172×25=4300172\times 25=4300 tickets, one can guarantee at least a win of .8.8 by creating 25 copies of the (70,6,2)(70,6,2)-covering design. Due to it is also a nice design, each element appears at least 14 times. So we are looking at .8+13×.2+158×.1=19.2.8+13\times .2 + 158\times .1=19.2, 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 (70,6,3)(70,6,3)-covering design of 25×n25 \times n blocks that can be partitioned into 25 nice (70,6,2)(70,6,2)-covering designs, then we can do more. In theory, a nice (70,6,2)(70,6,2)-covering design has a lower bound of 164 blocks. So taking n=164n=164, we are looking at:

  1. 1 ticket of .8 winning,
  2. 1 ticket of .4 winning,
  3. 13 tickets of .2 winning,
  4. 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.

Posted by Chao Xu on .
Tags: banking, probability.