owned this note
owned this note
Published
Linked with GitHub
---
title: 'CNIKT - KTCA'
disqus: hackmd
---
[TOC]
:::warning
**Warning: This is subject to change and not finalised yet**
Please be careful!
:::
# Background
> What is this thing?
The Kindergarten Teachers Collective Agreement (KTCA) is a contract negotiated through collective bargaining for Early Childhood Education (ECE) sector employees between [NZEI](https://www.nzei.org.nz/) and the Ministry of Education (MoE).
:::info
Useful resources
- [Collective agreement document](https://assets.education.govt.nz/public/Documents/School/Collective-Employment-Agreements/Kindergarten-Teachers-Collective-Agreement/KTCA_2023-2026.pdf)
- [ECE Funding handbook](https://www.education.govt.nz/early-childhood/funding-and-data/funding-handbooks/ece-funding-handbook/)
:::
Unfortunately, providers (kindergartens) are not being funded properly to be able to do all of this. MoE has admitted that there is no evidence-based model behind how they fund providers, and they are just expecting it all to turn out fine. At the same time, most providers themselves (being focused on providing an education service) have poor capabilities around data.
This piece of work fills an important gap by:
* Giving providers a clear picture of the full impact of the KTCA in FTE and $$
* Demonstrating to MoE a clear picture of actual provider costs and funding gaps.
# Basic concepts
## Funding
Kindergartens receive money from:
* **MoE**. Hourly rate based on number of funded children. For example, a child under 2 at a centre with 100% certificated teachers will generate $12.98 per hour. An older child at a centre with only 50% certificated teachers will generate $4.89 per hour. These rates are all specified in Appendix 1 of the [ECE Funding handbook](https://www.education.govt.nz/early-childhood/funding-and-data/funding-handbooks/ece-funding-handbook/).
* **Fees**. Parents are also required to pay for having their child enrolled at the kindergarten.
## Expenditure
Mainly consists of staffing costs - which is the key area of focus for this exercise. The KTCA specifies 'non-contact' time for teachers to do things like professional development. When this is used, those teachers need to be replaced so that enrolled children are still looked after. This means that for every 1FTE teacher, there is an additional backfill amount needed to keep the centre running.
Some initial analysis suggests that for each Head Teacher, a total of 1.89 FTE needs to be employed to cover all this 'non-contact' time. This additional '0.89' should be costed and aggregated so we have a more accurate figure about how much funding this requires.
Expenditure also obviously includes the usual things like property maintenance, which can be supplied by the app user if they wish.
# Deliverables
The proposed 'solution' is a basic web app which:
* Allows users to input variables (e.g. number of staff, child enrolments)
* Allows modification of default coefficients (e.g. % spend on overheads or sick leave used)
* Clearly shows key output variables:
* Required FTE to implement KTCA
* Total actual and required staff costs
* Total expenditure
* Net surplus/deficit
* Staff costs as proportion of revenue.
# Technical stuff
This is really just a translation of a gigantic and unusable spreadsheet, into something that is user friendly.
Data does not need to persist between sessions. Logged-in users will be just entering data, getting the output, and then closing the app. We do not need to do anything around authentication, user management, or storage.
Because the funding model is quite complex, the app will need to use a moderate number of rules which might be good to store in a JSON file alongside the main page. These rules are more or less broken down and sequenced in the table below. Hopefully it is understandable, but the Types are meant to indicate:
* INPUT - A value which an end user inputs or adjusts
* CALCULATE - A calculation the app needs to make in the background, including required logic
* OUTPUT - A key output that needs to be fed back to end user.
## Business rules
| Code | Item | Type | Detail |
| -------- | -------- | -------- | -------- |
| EX1.1 | Number of staff | INPUT | Enter the number of people
| EX1.2 | Staff FTE | INPUT | Enter their FTE or weekly hours for Teacher Aides
| EX1.3 | Staff role | INPUT | Enter their Role – Teacher, Teacher Aide, Administrator
| EX1.4 | Staff step | INPUT | Teachers/relievers have Steps (refer to [salaries table](#Salaries)), Teacher Aide’s have 2 hourly rates for qualified/unqualified, Admin have 2 rates (suggest this could be configurable because it will vary)
| EX2.1 | Teacher costs | CALCULATE | Annual salary * FTE = Annual teacher costs
| EX2.2 | Teacher Aide costs | CALCULATE | Weekly hours * hourly rate * 47 = Annual teacher aide costs
| EX2.3 | Administrator costs | CALCULATE | Weekly hours * hourly rate * 47 = Annual administrator costs
| EX2.4 | Reliever costs | CALCULATE | Weekly hours * hourly rate * 47 = Annual reliever costs
| EX2.5 | Required staff costs | CALCULATE | CF1.12 * Salary
| EX2.6 | Required staff costs | OUTPUT | EX2.5
| EX3.1 | Current actual salary costs | CALCULATE | EX2.1 + EX2.2 + EX2.3 + EX2.4
| EX3.2 | ACC cost | CALCULATE | EX3.1 * 0.006
| EX3.3 | Kiwisaver cost | CALCULATE | EX3.1 * 0.03
| EX3.4 | Total actual staff costs | CALCULATE | EX3.1 + EX3.2 + EX3.3
| EX3.5 | Total actual staff costs | OUTPUT | EX3.4
| CF1.1 | Staff annual hours | CALCULATE | (FTE * 80) * 26.071
| CF1.2 | Staff annual leave hours | CALCULATE | (FTE * 31) * 8
| CF1.3 | Staff sick leave hours | CALCULATE | (FTE * 10) * 8 (should be adjustable)
| CF1.4 | Staff public holiday hours | CALCULATE | (FTE * 11) * 8
| CF1.5 | Staff annual days worked | CALCULATE | (CF1.1 – (CF1.2 + CF1.3 + CF1.4)) / 8
| CF1.6 | Staff tea break hours | CALCULATE | (20 * CF1.5) / 60
| CF1.7 | Staff professional time hours | CALCULATE | IF CF1.13 = ‘<=32.5 hrs per week’ THEN 120 ELSE 56. Calculated per FTE. IMPORTANT: Where Role is ‘Head Teacher’ then 40 is added to this calculation.
| CF1.8 | Staff contact time hours | CALCULATE | (6 * CF1.5) – (CF1.6 + CF1.7)
| CF1.9 | Effective current FTE | CALCULATE | (CF1.8 / CF1.1) * FTE
| CF1.10 | Required FTE | CALCULATE | 1 / CF1.9
| CF1.11 | Effective current FTE | OUTPUT | CF1.9
| CF1.12 | Required FTE | OUTPUT | CF1.10
| CF1.13 | Kindergarten type | INPUT | <=32.5 hrs per week / > 32.5 hrs per week. User picks one option based on operating hours.
| CF1.14 | Staff lunch hours | CALCULATE | (30 * CF1.5) / 60
| EN1.1 | Enrolments | INPUT | Enter number of children enrolled
| EN1.2 | Children age | INPUT | Enter age group of children - (<2, 2, 3+)
| EN1.3 | Hourly fee | INPUT | Enter hourly fee rate (whanau contribution)
| EN1.4 | Opening hours | INPUT | Enter number of hours open per day (minimum = 6)
| EN2.1 | Occupancy | INPUT | Enter occupancy rate (%). Default 78%.
| EN2.2 | Annual days open | INPUT | Enter number of days centre is open per year. Default 203.
| EN2.3 | Children aged 2 funding | CALCULATE | No. children aged 2 * hourly rate (refer to [Revenue table](#Revenue)) * 6 * EN2.1 * EN2.2
| EN2.4 | Children aged 3+ funding | CALCULATE | No. children aged 3 and over * hourly rate (refer to [Revenue table](#Revenue)) * 2 * EN2.1 * EN2.2
| EN2.5 | 20ECE funding | CALCULATE | No. children aged 3 and over * hourly rate (refer to [Revenue table](#Revenue)) * 4 * EN2.1 * EN2.2
| EN2.6 | Total MOE funding | CALCULATE | EN2.3 + EN2.4 + EN2.5 + EN2.7
| EN2.7 | Children aged UNDER 2 funding | CALCULATE | No. children aged UNDER 2 * hourly rate (refer to [Revenue table](#Revenue)) * 6 * EN2.1 * EN2.2
| EN3.1 | Children aged 2 fees | CALCULATE | No. children aged 2 * EN1.3 * EN1.4 * EN2.1 * EN2.2
| EN3.2 | Children aged 3+ fees | CALCULATE | No. children aged 3 and over * EN1.3 * (EN1.4 - 4) * EN2.1 * EN2.2
| EN3.3 | 20 hours 2yr free subsidy | CALCULATE | No. children aged 3 and over * EN1.3 * -4 * EN2.1 * EN2.2
| EN3.4 | Total Fees | CALCULATE | EN3.1 + EN3.2 + EN3.3 + EN3.5
| EN3.5 | Children aged UNDER 2 fees | CALCULATE | No. children aged UNDER 2 * EN1.3 * EN1.4 * EN2.1 * EN2.2
| EN4.1 | Total revenue | CALCULATE | EN2.6 + EN3.4
| SP1.1 | Education resources and admin | INPUT | Set % of revenue to calculate this expense (default 10%) - then apply against EN4.1
| SP1.2 | Overheads | INPUT | Set % of revenue to calculate this expense (default 17%) - then apply against EN4.1
| SP1.3 | Property costs | INPUT | Set % of revenue to calculate this expense (default 10%) - then apply against EN4.1
| SP1.4 | Digital/tech costs | INPUT | Set % of revenue to calculate this expense (default 3%) - then apply against EN4.1
| SP1.11 | Workforce development | CALCULATE | No. staff * 1500
| SP1.12 | Retained earnings | INPUT | Set % of revenue to calculate this expense (default 3%) - then apply against EN4.1
| SP2.1 | Total expenditure | CALCULATE | EX3.5 + SP1.1 + SP1.2 + SP1.3 + SP1.4 + SP1.11 + SP1.12
| SP2.2 | Net surplus/deficit | CALCULATE | EN4.1 + SP2.1
| SP2.3 | Net surplus/deficit | OUTPUT | SP2.2
| SP2.4 | Staff costs%/revenue | CALCULATE | EX3.1 / EN4.1
| SP2.5 | Staff costs%/revenue | OUTPUT | SP2.4
## Reference data
### Salaries
| Role | Step | Salary |
| -------- | -------- | -------- |
| Teachers| 1 | 57358 |
| Teachers| 2 | 59544 |
| Teachers| 3 | 61948 |
| Teachers| 4 | 64133 |
| Teachers| 5 | 67794 |
| Teachers| 6 | 71869 |
| Teachers| 7 | 76261 |
| Teachers| 8 | 81566 |
| Teachers| 9 | 85915 |
| Teachers| 10 | 92175 |
| Teachers| 11 | 96820 |
| Teachers| K2R| 99120 |
| Teachers| K2| 101120 |
| Teachers| K3| 106427 |
| Teachers| K4| 115123 |
| Relievers| 1 | 30.48 per hr |
| Relievers| 2 | 31.64 per hr |
| Relievers| 3 | 32.92 per hr |
| Relievers| 4 | 34.08 per hr |
| Relievers| 5 | 36.02 per hr |
| Relievers| 6 | 38.19 per hr |
| Aide unqualified| | 24.90 per hr |
| Aide qualified| | 32.65 per hr |
| Admin| | 24.90 per hr |
| Admin super| | 27 per hr |
### Revenue
| < 2 | 2+ | 20 ECE | Kindergarten | ELC |
| -------- | -------- | -------- |-------- |-------- |
| $13.56 | $7.55 | $12.78 | $4.70 (see EN1.3) | $6.96 |
## A picture
I don't know if this really helps, but this is a higher-level overview of what the app needs to do (note that equity funding is not included in the rules yet because I'm not sure if it applies or not):

# CHANGELOG
### 18/7/23:
* Changed Kindergarten rate in Revenue table to $4.70
* Updated 'Expenditure' (SP codes) rules completely from client feedback
### 19/7/23:
* Removed invalid reference to CF1.14 in rule CF1.5
* Added '* FTE' to equation CF1.9 to show the total effective FTE of current staff, rather than just one per FTE figure
### 20/7/23:
* Change SP1.11 to use number of people as multiplier, rather than sum of FTE
### 27/7/23:
* Fixed eligibility error in EN3.3
* Added EN1.3 and adjusted dependent rules to configure hourly fee (whanau contribution)
* Added EN1.4 and adjusted dependent rules to configure daily opening hours