Mini-Project 1: A Working Season Budget Model
Build a real, formula-driven season budget in a spreadsheet using FIRST's official median budget figures, with a base/stretch scenario toggle and a fundraising-gap calculation.
Sign in to track progress, earn XP, and save lessons.
Open a blank Google Sheet and build a budget that actually does math, not a static list. We will use FIRST's official Median Team Budget figures (Rev. Aug. 2025) so your numbers are defensible to a school treasurer or a sponsor.
Step 1 — Income and expense sheets. Create two tabs: Expenses and Income. On Expenses, enter FIRST's official median line items for a Regional team in columns A (item) and B (amount). These are the exact figures FIRST publishes:
| Line item | Amount |
|---|---|
| Registration fees (initial + events) | $9,000 |
| Travel expenses | $8,000 |
| Robot & prototyping parts | $5,000 |
| Field & game pieces | $400 |
| Outreach | $500 |
| Other (shirts, team fun) | $1,000 |
In B8 put =SUM(B2:B7). You should get $23,900, the official median Regional total. (FIRST's District median is $17,400 — driven mostly by lower travel of $3,500 — and Outside North America is $56,300, where travel alone is a median $28,000.) Add a comment on the registration row noting the 2025-2026 base registration is $6,300 worldwide and each additional regional event is $3,000, so a team doing two regionals pays $6,300 + $3,000 = $9,300; FIRST's reported median registration for regional teams rounds to $9,000.
Step 2 — Scenario toggle. Real teams plan a base season and a stretch season (extra event, championship). In D1 put a data-validation dropdown with Base and Stretch. In column C, use =IF($D$1="Stretch", B2, B2) and then override the travel and registration rows for the stretch case (e.g., add another $3,000 event registration and more travel). For championship, add a row FIRST Championship attendance and gate it with =IF($D$1="Stretch", 5000, 0) strictly as a planning placeholder — FIRST's median-budget sheet does not publish a fixed championship fee, so confirm the current championship cost with your Program Delivery Partner before committing real numbers.
Step 3 — Income and the gap. On Income, list committed funds (school allocation, returning sponsors, signed grants) and pending funds separately. Then on a Summary tab compute the number that actually matters:
Fundraising gap = Total expenses − Committed income
= Expenses!B8 − Income!CommittedTotal
Color the cell red with conditional formatting if it is positive. This single number drives every fundraising decision you make this season.
Step 4 — Build a surplus line. FIRST explicitly advises ending the season with a surplus to seed next year. Add a target like =Expenses!B8 * 0.10 and treat it as a non-negotiable expense, not leftover.
Start from FIRST's official Budget Template (linked from the Median Team Budget page) if you want a head start, then layer these formulas on top. The discipline of formula-driven budgeting means when a sponsor adds $2,000, you instantly see the gap shrink instead of recalculating by hand.
Key takeaways
- FIRST's official 2025 median budgets are $17,400 (district), $23,900 (regional), and $56,300 (outside North America) — use them as a sanity check.
- 2025-2026 registration is $6,300 base worldwide plus $3,000 per additional regional event.
- The one number that matters is the fundraising gap: total expenses minus committed income, recalculated automatically.
- Budget a deliberate ~10% surplus line so you can start next season without a cold-start fundraising scramble.
Go deeper
Lesson quiz
RequiredAnswer all 3 questions correctly to complete this lesson.
1.When building a working season budget model, why should the FIRST base season registration fee be treated as only one line item rather than the team's total event cost?
2.A budget model should separate fixed costs from variable costs. Which of these is best modeled as a variable cost that scales with the number of students or events?
3.In a spreadsheet budget model, what is the main advantage of driving event costs from a single input cell (e.g., 'number of additional regionals') rather than hard-coding each total?
Answer every question to submit.