This became way longer than intended but here goes:
I’ve been trying to figure this out too. And recently did a calculation that I'll outline below. My family just started really getting into Pokemon a little over a year ago. My problem is I want cards to play with, but I also like to collect complete sets from my baseball card collecting days.
So far what I know is packs are not the answer. My kids and I like opening packs but I’ve decided to treat them like table games in Vegas. Spend what you are willing to lose and think of it as a sunk cost for entertainment. Then if you get a good pull all the better! But don’t count on it.
On the play side, my biggest concern is making sure I have the cards I need to fill in a deck when I need them. I've found myself having ideas that are working on PTCGO but then I don't have the physical cards I need, and I can't order them to get them in time for the next event we're playing in. So I end up running around town looking for cards or pestering people right before the events to see if they have extras of that card, and typically the answer is "Oh, I have that at home." And they end up costing me more than I could get them for online.
Another issue is that it's pretty clear that you can't always predict when a card that is cheap now will become a hot item later. For example, I bought 1 Dawn Wings Necrozma GX for my son's deck when it was about $3.50. Then Malamar came out and DWN GX doubled in price, and that was when I wanted 3 more.
The current solution I'm trying is based on the following calculation: My family and I spent about $145 on about 45 packs of Celestial Storm from pre-releases, the buy one get on 50% off deal at Gamestop, and randomly at shops as rewards for the kids. Out of that we got 2 Electrode GX, 2 Alolan Raticate GX, 1 Banette GX, 2 Latios Prism Star, and about half a playset of the uncommon and rare cards (an average of 2 of each). We already have at least 4 of nearly every common from naturally opening packs, and can find them easily in bulk at the game shops we go to if I absolutely have to have one we are missing.
I decided to see what it would cost me to buy the cards online so that I have at least 1 of each prism star, 4 of every uncommon, rare, and normal art GX in Celestial Storm (I don't need bling in my deck, and I excluded Rayquaza GX at this point, because I'm just not willing to spend $25 per card). Without the Rays, but including every other prism star, GX, rare, and uncommon that I needed to fill out a playset, the total came to 160 cards I needed to buy 27 of which were GXs. The total was $128.81, with no shipping costs. After seeing that I went ahead and bought them. I still didn't buy 4 Rays, but that would have brought the total to $240.18.
I had to do a little work to make sure I bought enough from each seller that had the cards I wanted, but TCGplayer actually shows you if you are already using a seller in your cart so it wasn't too hard to make sure I was buying at least $2.00 worth of cards from each.
In the end, my thinking is that you get an average of about 6 GX/full art/secret rares from a booster box that you can find for about $90 if you order online. Great if they are Rayquazas or a full art that you can sell or trade! But it is nearly as likely to be one of those 27 GX's that I bought.
Long story short, if you just want a play-set of everything, and don't need "bling" you could easily get a playset of every normal card in Celestial Storm online for less than the cost of 3 booster boxes in which you are guaranteed not to get a full playset.
This doesn't take care of my problem of wanting to collect complete sets (I have 4 reverse holos to go on completing Shining Legends). However, on that front, I think of it more as a fun and social thing. I don't buy the secret rares, full arts, or reverse holos online, instead I try to trade for them, or support my local game shops by buying something I need if they got one, or buying a few packs for the fun of seeing what we pull.