{
  "slug": "preschool-marketing-cost-per-enrollment",
  "title": "Preschool Marketing Cost Per Enrollment Calculator",
  "heading": "Preschool Marketing Cost Per Enrollment Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/preschool-marketing-cost-per-enrollment",
  "summary": "What it costs to fill one seat, and what that seat is worth over the family's stay.",
  "description": "Filling seats is the whole game in childcare, because fixed costs barely move between eighty and one hundred percent enrollment while revenue moves a lot. This calculator turns your marketing spend into two numbers that matter: cost per enrolled child, and the ratio of that cost to the lifetime value of the enrollment. Lifetime value in childcare is unusually high and unusually easy to compute, because tuition is predictable and average tenure is measured in years, not months. A family that enrolls an infant at twelve hundred a month and stays three years is worth more than forty thousand dollars in gross revenue, so a four hundred dollar acquisition cost is trivially justified. Most operators badly underspend on marketing because they compare the cost to one month of tuition instead of the full enrollment. The calculator walks the funnel from spend to inquiries to tours to enrollments, so you can also see which stage is broken. If inquiries are plentiful and tours are not converting, the problem is your tour experience or your waitlist responsiveness, not your ad budget. If inquiries are scarce, spend more or fix your local search presence, since most childcare searches are hyperlocal and map-pack driven.",
  "formula": "Enrollments = Inquiries × Tour Rate × Tour-to-Enroll Rate. CPE = Total Spend ÷ Enrollments. LTV = Monthly Tuition × Avg Months Enrolled. LTV:CPE = LTV ÷ CPE.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=preschool-marketing-cost-per-enrollment",
  "inputs": [
    {
      "id": "spend",
      "label": "Monthly marketing spend",
      "kind": "number",
      "hint": null,
      "default": 1800,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "inquiries",
      "label": "Inquiries per month",
      "kind": "number",
      "hint": null,
      "default": 40,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "tourRate",
      "label": "Inquiry-to-tour rate",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": null,
      "min": 0,
      "max": 100
    },
    {
      "id": "enrollRate",
      "label": "Tour-to-enrollment rate",
      "kind": "number",
      "hint": null,
      "default": 35,
      "unit": null,
      "min": 0,
      "max": 100
    },
    {
      "id": "tuition",
      "label": "Monthly tuition per child",
      "kind": "number",
      "hint": null,
      "default": 1250,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "avgMonths",
      "label": "Average months a family stays",
      "kind": "number",
      "hint": null,
      "default": 26,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "grossMargin",
      "label": "Contribution margin on tuition",
      "kind": "number",
      "hint": null,
      "default": 30,
      "unit": null,
      "min": 0,
      "max": 90
    }
  ],
  "outputs": [
    {
      "id": "cpe",
      "label": "Cost per enrolled child",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "enrollments",
      "label": "Enrollments produced per month",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "ltv",
      "label": "Gross tuition per enrollment",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "ltvMargin",
      "label": "Contribution margin per enrollment",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "ratio",
      "label": "Margin-to-acquisition-cost ratio",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "paybackMonths",
      "label": "Months to pay back acquisition cost",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Monthly marketing spend: 1800",
      "Inquiries per month: 40",
      "Inquiry-to-tour rate: 45",
      "Tour-to-enrollment rate: 35",
      "Monthly tuition per child: 1250",
      "Average months a family stays: 26",
      "Contribution margin on tuition: 30"
    ],
    "outputs": [
      "Cost per enrolled child: $286",
      "Enrollments produced per month: 6.3",
      "Gross tuition per enrollment: $32,500",
      "Contribution margin per enrollment: $9,750",
      "Margin-to-acquisition-cost ratio: 34.1",
      "Months to pay back acquisition cost: 0.8"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter monthly marketing spend.",
      "Enter inquiries per month.",
      "Enter inquiry-to-tour rate.",
      "Enter tour-to-enrollment rate.",
      "Enter monthly tuition per child.",
      "Enter average months a family stays.",
      "Enter contribution margin on tuition.",
      "Read your cost per enrolled child on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "spend": 1100,
        "inquiries": 24,
        "tourRate": 27,
        "enrollRate": 21,
        "tuition": 750,
        "avgMonths": 16,
        "grossMargin": 18
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "spend": 1800,
        "inquiries": 40,
        "tourRate": 45,
        "enrollRate": 35,
        "tuition": 1250,
        "avgMonths": 26,
        "grossMargin": 30
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "spend": 2900,
        "inquiries": 64,
        "tourRate": 72,
        "enrollRate": 56,
        "tuition": 2000,
        "avgMonths": 42,
        "grossMargin": 48
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What is a reasonable cost per enrollment?",
      "a": "Most centers land between $150 and $600 depending on market density and whether they rely on paid search. Because contribution margin per enrollment usually runs well over $8,000, almost any figure under $1,000 is defensible. The mistake is capping spend at a low number while classrooms sit half full."
    },
    {
      "q": "Why use contribution margin instead of gross tuition?",
      "a": "Adding one child to an existing classroom that is under ratio capacity adds almost no staffing cost, so the margin on that seat is high. Adding a child that forces a new teacher is a different calculation. Use the higher margin when you are filling existing seats and a lower one when the seat triggers a hire."
    },
    {
      "q": "My inquiries are fine but tours do not convert. What now?",
      "a": "Look at response time and tour quality. Families typically contact three to five centers in the same week and often enroll with whoever answers first and offers a specific start date. Same-day callbacks, a named point of contact, and a firm offer at the end of the tour usually move tour-to-enroll conversion by ten points or more."
    },
    {
      "q": "Is paid advertising even necessary?",
      "a": "Many centers fill from word of mouth and a strong local map listing alone. Paid spend earns its keep when you are opening a new room, entering a new area, or filling the harder-to-sell age groups. Track the funnel by source, because the channel that produces the most inquiries is often not the one that produces the most enrollments."
    },
    {
      "q": "How should waitlists factor into this?",
      "a": "A waitlist lowers your effective acquisition cost to nearly zero for the seats it fills, but only if you maintain it. Stale waitlists convert poorly because families place a child at whichever center offers a spot first. Contact waitlisted families quarterly so the list stays real rather than a list of people who enrolled elsewhere a year ago."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/classroom-enrollment-breakeven",
    "https://www.revenuelab.fyi/toolbox/waitlist-conversion-value",
    "https://www.revenuelab.fyi/toolbox/classroom-utilization-rate"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Preschool Marketing Cost Per Enrollment Calculator (https://www.revenuelab.fyi/toolbox/preschool-marketing-cost-per-enrollment)"
}