The gap between a statutory rate and a portfolio return comes from a handful of specific things, and they're not equal in size.
The biggest one is that you almost never get the statutory rate. In bid-down states the auction sets your rate, and on the desirable parcels it lands far below the ceiling. In premium states you pay cash over face, and where that premium earns no interest and isn't refunded on redemption, it comes straight off your yield. Which of those applies is set by state law, so check the statute and the county's bid rules for each place you buy.
Second is timing. Your model assumes money is working the whole 18 months. In practice you fund at the sale, then wait, and the redemption arrives when the owner refinances or sells. Uninvested weeks between sale seasons drag the annualized number down even when every certificate performs.
Third is the per-certificate cost of knowing what you bought. At $2,200 average face, a $150 title look and a $75 drive-by inspection is 10% of face spent before you've earned a dollar. That's why scaled buyers set a minimum lien size.
Then the small ones: registration fees, wire fees, certificate issuance charges in some counties, and the handful of parcels that turn out to be a drainage strip nobody will ever redeem.
Something your model doesn't have a row for yet: taxes come due again next year on anything that hasn't redeemed, and you generally have to pay them to protect your position. That's real cash out, and how it accrues varies by state.