The K-12 Communications Pricing Transparency Index, 2026 edition
There is no published price for school communications software. Not for ParentSquare, not for SchoolMessenger, not for most of the market. The price exists, though, and it is sitting in board agenda packets and cooperative contract databases in every state. This index collects it, normalises it per student, and publishes it with every source document named. First edition publishes in the window 15 October to 20 November 2026.
| Enrollment band | Reported per cell | Minimum n to publish a cell | Primary sources for the band | Status |
|---|---|---|---|---|
| Under 2,000 | Low / median / high per student, n | 5 contracts | Board packets, county co-ops, check registers | Collection open |
| 2,000–4,999 | Low / median / high per student, n | 5 contracts | Board packets, state co-ops | Collection open |
| 5,000–14,999 | Low / median / high per student, n | 5 contracts | Board packets, DIR / BuyBoard / TIPS, checkbook portals | Collection open |
| 15,000+ | Low / median / high per student, n | 5 contracts | Board packets, Sourcewell / NASPO, records requests | Collection open |
| Cooperative vs direct | Median delta per student, both n | 10 pairs | Co-op contract IDs matched to district awards | Collection open |
| Add-on unbundling | Share of contracts charging each line separately | 25 contracts | Line-item detail in awarded contracts | Collection open |
| Same-vendor dispersion | Cheapest and dearest district at like enrollment | 8 contracts per vendor | Matched enrollment pairs within a vendor | Collection open |
| Kastr, all bands | $3.50 under 5,000 · $3.25 at 5,000–14,999 · $3.00 at 15,000+ | n/a — published rate card | Our own price list, one tier, everything included | Published |
A cell that does not clear its n floor publishes as "insufficient data" with the count shown. It does not publish as a number with a caveat, and it does not quietly borrow from the band above it.
Where the contracts come from, named
"Public records" is not a methodology. These are the specific source classes, in the order we work them, with what each one actually yields.
- Board agenda packets and minutes. BoardDocs, Simbli, AgendaOnline, Novus and the many districts that simply post a PDF. This is the richest source, because the packet usually contains the full quote or contract as an attachment rather than a line item. It is also the messiest: award language is inconsistent and the enrollment on the page is often a year stale.
- State cooperative purchasing databases. Texas DIR and BuyBoard, TIPS-USA, Sourcewell, NASPO ValuePoint, E&I, New York OGS, Massachusetts OSD. These give published unit rates and contract IDs, which is a different and more reliable animal than a district's negotiated total.
- State transparency and checkbook portals plus district check registers. Weak on scope, excellent on amount actually paid, which is the number that matters when a contract and an invoice disagree.
- Targeted public-records requests. Used only where a band or a vendor cell is thin after the passive sources are exhausted, so that a thin cell is a decision rather than an accident.
- The federal Common Core of Data for enrollment, matched to the school year of the contract rather than to today, because "the price per student went up" and "the district shrank" are different stories.
Every row in the released corpus carries district name, state, NCES LEA identifier, enrollment and its year, vendor, contract term, total contract value, derived per-student price, the source document URL and the date we retrieved it. If a row cannot carry all of those, it does not go in the corpus.
The normalisation rules, published before the numbers
Most of the arguing about a price index is really arguing about arithmetic. So the arithmetic is fixed in advance and it is short.
- Multi-year totals are annualised by term length, not by the number of fiscal years the payment touches.
- One-time and implementation fees are reported separately from the recurring per-student rate, and never amortised into it. A $12,000 onboarding charge is a real cost and it is not a price per student.
- The denominator is enrollment for the school year the contract covers, from the Common Core of Data, not the district's own current figure and not the figure in the quote.
- Mid-term scope changes are flagged and analysed separately rather than dropped. A district that added a second product line has not had a price rise, and silently discarding it biases the result.
- Bundles get a bundle flag. Where a communications platform is priced inside a wider suite and cannot be separated, the row is marked unresolvable and excluded from medians, and the exclusion is counted in public.
- Currency of the record. Amended and superseded contracts resolve to the operative document, with the superseded one retained in the corpus so the amendment is visible.
The exclusion count publishes with the index. A corpus described only as "300+ contracts" with no exclusion ledger is asking you to trust a number you cannot audit.
What a per-student price does and does not include
The single most common procurement error in this category is comparing a bundled per-student rate against an unbundled one and concluding the unbundled vendor is cheaper. The add-on unbundling table exists to make that arithmetic visible, and these are the line items the corpus is coded for:
- Translation, sometimes per message, sometimes per language, sometimes per seat.
- Voice minutes, and separately, voice overage above an included pool.
- SMS overage above an included per-student message allowance.
- API or integration access as a paid tier.
- Additional administrator seats beyond an included count.
- Implementation, data migration and training, one-time or annual.
- Emergency or mass-notification capability sold as a separate module.
- Premium support tiers, and named-contact account management.
Our own row, on the same axis. Kastr is $3.50 per student per year under 5,000 students, $3.25 from 5,000 to 14,999, and $3.00 at 15,000 and above. One tier. Every item in the list above is included at that price, including translation, voice, the full REST API and unlimited administrator seats. The rate is fixed for 36 months, and from year four any increase is capped at the lesser of CPI-U or 5 per cent under clause 3.2 of our contract. We publish that here so that our row can be checked against the corpus like anybody else's, and so that a district can hold us to it.
Why identical districts pay different prices
The dispersion cut is likely to be the most uncomfortable finding in the index for the incumbents, and it is the one we are most confident exists, because it is the structural consequence of not publishing a price. When there is no list price, the price is a function of how hard the district negotiated, which quarter it signed in, whether it bought through a cooperative, and whether anybody in the room had seen another district's contract.
That is not an accusation of bad faith. It is what happens in any market with no reference price. The reason the index reports low, median and high per cell rather than a single average is that the spread is the finding, and an average would hide it.
The practical use for a district is narrow and real: if your renewal quote sits above the high end of your band, you now have a document to put in front of your account manager, and it is not a document Kastr wrote about itself. If it sits at the median, you have saved yourself a negotiation you did not need to have.
How this stays honest as an annual
The corpus is re-pulled every August to October from the same named sources with the same normalisation rules. Edition two reports both level and year-over-year change, and it reports change only for cells that cleared the n floor in both years, so a shift in coverage cannot be mistaken for a shift in price.
Prior editions stay live at their own permanent URLs. Nothing is overwritten, because the whole value of a benchmark is that last year's number is still where the person who cited it left it.
Named vendors receive their own rows ten business days before publication and any response is published verbatim next to the number. If a vendor tells us a contract we found has been superseded, we want that document, and the corrections log will show the change with a date.
Questions people actually ask
How much does ParentSquare cost per student?
ParentSquare publishes no price anywhere on its website, so the honest answer today is that it depends on your enrollment, your state, whether you buy directly or through a cooperative, and how hard you negotiate. The index exists to replace that answer with a distribution built from awarded contracts. Until it publishes in the autumn 2026 window, treat any single figure you see quoted online as one district's deal rather than a rate.
Why do two districts of the same size pay different prices for the same platform?
Because there is no published list price to anchor against. In a market without a reference price, the outcome is set by negotiation, timing and purchasing vehicle, and neither district can see the other's contract. That is exactly the dispersion the index measures, which is why every cell reports low, median and high rather than a single average.
Are cooperative purchasing contracts like Sourcewell, TIPS or BuyBoard actually cheaper?
That is a genuinely open question and it is why the index carries a cooperative-versus-direct cut with the contract identifiers attached. Cooperatives reliably save procurement time by satisfying a competitive-solicitation requirement without a local RFP. Whether they save money on the unit rate is an empirical question that nobody in this category has answered in public, and we will publish the delta whichever way it falls.
How did you get pricing when most vendors will not publish it?
We did not get it from vendors. Awarded contracts and purchase orders in public education are public records, and they surface in board agenda packets, state cooperative databases, checkbook portals and check registers. Where a cell stays thin after those sources are worked, a targeted public-records request fills it. Every row cites the document it came from and the date of retrieval.
What is included in a per-student price, and what usually is not?
It varies enough that comparing headline rates is close to meaningless without the line items. The index codes for eight add-on categories that commonly sit outside the base rate: translation, voice minutes, voice overage, SMS overage, API access, extra administrator seats, implementation and training, and emergency notification sold as a module. Our own price includes all of them, which is why we can publish one number.
Can I use this table in a board presentation or an RFP justification?
Yes, and that is what it is for. The licence is CC BY 4.0, there is no gate, and the underlying corpus is downloadable with the source URL for every row so a board member or a district lawyer can verify any figure you quote back to the original document.
One price. Every feature. Locked for three years.
$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.