  The MIPS (maximum inner product search), which finds the item with the
highest inner product with a given query user, is an essential problem in the
recommendation field. It is usual that e-commerce companies face situations
where they want to promote and sell new or discounted items. In these
situations, we have to consider a question: who are interested in the items and
how to find them? This paper answers this question by addressing a new problem
called reverse maximum inner product search (reverse MIPS). Given a query
vector and two sets of vectors (user vectors and item vectors), the problem of
reverse MIPS finds a set of user vectors whose inner product with the query
vector is the maximum among the query and item vectors. Although the importance
of this problem is clear, its straightforward implementation incurs a
computationally expensive cost. We therefore propose Simpfer, a simple, fast,
and exact algorithm for reverse MIPS. In an offline phase, Simpfer builds a
simple index that maintains a lower-bound of the maximum inner product. By
exploiting this index, Simpfer judges whether the query vector can have the
maximum inner product or not, for a given user vector, in a constant time.
Besides, our index enables filtering user vectors, which cannot have the
maximum inner product with the query vector, in a batch. We theoretically
demonstrate that Simpfer outperforms baselines employing state-of-the-art MIPS
techniques. Furthermore, our extensive experiments on real datasets show that
Simpfer is at least two orders magnitude faster than the baselines.
