Affordable housing policy as human and machine readable code
I am Stephen and I am a planning assistant at Hinckley and Bosworth Borough Council. I recently joined the Blocktype team as an intern. My internship with Blocktype was aimed at finding and collating planning policies to be translated in a way that enables both humans and machines to read and that could be therefore added to the Blocktype application. The project started with identifying policies Blocktype could prioritise. The team already had a shortlist that came from their previous user research which included open space, building height, biodiversity, and affordable housing policies. The team and I prioritised affordable housing policy. This is because there is a clear need by Blocktype users and it felt like something we could codify.
Finding the policies
Affordable housing policy information was collected by searching through the websites of local authorities and reading through several affordable housing policy documents. Most of these policy documents were in PDF format and not machine readable, so this had to be done manually. This indicates that most of the local plans were out of date, while others were superseded by a series of supplementary planning documents and addenda, as a result of changes in national policies. Some of the affordable housing policy requirements lack precision and have poor policy wording. Local authorities with several policy documents on affordable housing sometimes contradict the original policy intent. Given all these challenges, it is unsurprising that finding the right affordable housing policies is so difficult.
Lack of standardisation
Due to different demographics and housing markets across the country, most local authorities have different affordable requirements. Some of the policy requirements are based on the proposed number of dwellings, others consider the size of the site and floor area of the development. Some of the local authorities have different affordable housing zones with different thresholds within the borough. For example, Bristol Council has 6 different affordable housing zones with each zone having a different affordable housing requirement. On the other hand, Three Rivers Council has uniform housing requirements across the district. Places with different affordable housing zones increase the complexity of data collection. Other areas where there are several neighbourhood plans, core strategy documents and development management plans often contradicting the policy.
Local Planning authority like Hinckley Council request a high affordable percentage for developments within rural areas, while other local authorities request high affordable housing percentage for development in urban areas. These are influenced by the local housing marketing assessment study, based on different parameters which are specific to the local area. While there are no standard affordable housing requirements across the country, the NPPF (2023) paragraph 66 requires planning policies and decisions to expect at least 10% of the total number of homes to be available for affordable home ownership. The only exceptional cases are in designated rural areas where the NPPF allows for a lower threshold for minor housing units. Example Sevenoaks Council requires affordable housing for sites of 6-9 homes, of less than 0.5 hectares within a Designated Rural Area while in Dacorum Council 100% of all new homes in rural housing sites are normally required to be affordable.
Most of the local planning authorities have policies that complies with the affordable policy requirement by NPPF except for a few local authorities that have very old policy documents. It is estimated that 67% of local plans are out of date. The exceptional cases are in designated rural areas where the NPPF allows for a lower threshold for minor housing units.
Making policies machine readable
The second stage of the process was to collate the affordable housing policy information into a structured database. GIS shapefiles data, attributes data and ONS identifiers are collected. This stage involves testing and validating the policy data by checking the policy coverage, the policy input and output, and any other key parameters of the policy. This helps to break down the policy and identify whether the policy is based on number of dwellings, net gain in dwellings, size of the land, or floor space. It enables an in depth policy analysis, mapping of the policy ideas, and deciphering the policy wordings to ensure the policy data complies with the original policy intent. In doing so, sometimes I found it very helpful to reach out to the council policy team to ask for further explanation of the policy.
The process of drafting and publishing planning policies/rules in a machine and human readable form is a new concept and very essential in this age of digital planning. It helps the public, developers and other stakeholders to get a good understanding of planning policies without seeking further guidance. Some of the challenges associated with the policy drafting are the complexities and the level of uncertainty attached to some of the affordable housing policies. For example the policy below (figure 1) has a 50% target however, there is some level of uncertainty attached to it which means that the number of affordable housing may increase or decrease based on site circumstances. This may be based on negotiation or the discretion of the planning officer. Again, the Policy sets out that “Site specific targets will be set through the Site Allocations Development Plan Document”. I reviewed the Site Allocations Development Plan Document and it appears that there were no specific targets of 50% set for any of the allocated sites.
Figure 1
Prescriptive and quantitative policies like figure 2 below offers the chance to write policies into a structured format. It comes with a level of certainty and makes it easy to write it into structured human and machine readable forms. This policy offers the flexibility to put them into a policy database for further testing and converting into a logical rule using eligible conditions to generate an output. In doing so the policy data are linked by a set of coding operators like equal to(=), less than(<), greater than(>), Or(||), etc in order to create a policy logic that fully aligns with the original policy. This process reveals the tiny details and meaning of the policy. It also creates a synergy between policy data and policy logic. Accurate data gives accurate policy logic and helps to overcome policy interpretation and implementation gaps. This will improve consistency, quality of policy data and confidence in the policy rules.
The overall policy logic extraction helps to automate and streamline complex planning applications. The process of policy extraction traces errors, and audits the policy data to ensure transparency.
Figure 2
What I learnt
My biggest learning in this project is that current planning policies lack standardised interpretation. There are also inadequate models to test the planning policy logic. Planning policy coding as it stands now has not been explored enough. Therefore there is the chance to explore policy as code concept in a way that will help link policy code to evidence based data to allow them to adapt in real-time.