The idea is good but the owner is misrepresenting this contract.
The fee is not 3% it is 33.3%if (idx != 0) {
collectedFees += amount / 3;
owner.send(collectedFees);
collectedFees = 0;
balance += amount - amount / 3;
}
There are pyramids out there with that work exactly as advertised (Little Cactus, Rubixi, Greed Pit, etc).
This one, however, is a lie. Do not fall for it, make sure you know what you are doing.