The "modern data stack" articles all assume you're a 500-person company with a dedicated data team. For a 50-person business that just wants to stop running the same numbers from three different spreadsheets, the answer is much simpler — and BigQuery makes it cheap.
Here's the setup we deploy most often for small clients.
The whole stack, end to end
- Ingestion: Fivetran for SaaS sources (Stripe, HubSpot, etc.), Cloud Run jobs for in-house sources. Don't build custom ETL.
- Storage: BigQuery, three datasets —
raw,staging,analytics. Never queryrawdirectly. - Transformation: dbt Core (free, no need for dbt Cloud at this size). One model per business concept, layered.
- BI surface: Looker Studio for dashboards (free, native to GCP), Hex or Mode if anyone wants notebooks.
That's it. Five tools. Most of them free or cheap.
What this costs
For a 50-person company with normal data volume:
- BigQuery storage + queries: ~$50-200/month
- Fivetran: $200-800/month depending on connectors
- dbt Core: free
- Looker Studio: free
- Total: under $1,000/month, often under $500
Compare with the "real" stack — Snowflake + Fivetran + dbt Cloud + Hightouch + Looker — that starts at $5,000/month before anyone has written a query.
What you do NOT need at this size
- A separate orchestrator (Airflow, Dagster). dbt's built-in DAG plus Cloud Scheduler is enough.
- Reverse ETL (Hightouch, Census). Wait until you actually have a use case.
- A semantic layer (Cube, dbt Semantic Layer). One layer of dbt models gives you 90% of the value.
- A dedicated data engineer. One thoughtful generalist can run this.
The trap
The wrong move at 50 people is buying tools designed for 500-person data teams. You'll spend the first six months configuring them and the next six months explaining why nothing is shipping.
Start simple. The whole stack above can be stood up in two weeks. You can always graduate later — but most companies don't actually need to.
