What about a lottery system where each ticket can be purchased by a group of users? Same ticket price, same prize, but the prize is shared in equal parts by the users who partecipate in the ticket buy. Every address should be able to open a "funding round" where it is specified the amount of ticket(s) purchased and the maximum number of users required to purchase the ticket(s). If enough users subscribe in that specific purchase proposal, the ticket is bought. In such a way it can be possible to keep the lottery appealing even for people with lesser cakes.
Example: A user propose the community to acquire a 2 tickets together with 150 people. If 150 users subscribe on that proposal, 2 tickets are bought and every user pays 20/150=0.133 cakes. If a ticket is a winner, every user get prize/150 cakes each.