Housing Statistics (persons per room) for large towns from the 1911 Census of England and Wales

Table ID:
H_DENS_1911_LG_T     (1250667)
Contents:
Housing Statistics (persons per room) for large towns from the 1911 Census of England and Wales
Approx. number of rows:
8,249
Table type:
Raw Data
Documentation Author:
Humphrey Southall
Geography:
Reporting units are identified by:
   Administrative County
   Local Government District
   Local Government District Type
Chronology:
The data are for the single year 1911.

Sources:

  1. This is an almost complete transcription of Table 3, "Tenements in the Occupation of Private Families.--- Classified by Numbers of Rooms and by Numbers of Occupants, Distinguishing Children under 10 Years of Age, in London and in each Metropolitan Borough, in each County Borough, and in each other urban district of which the Population Exceeded 50,000 Persons at the Census of 1911", in Tenements, England and Wales, Vol. VIII of the 1911 census reports.
  2. These data were computerised by CDDA as part of the Historical Population Reports project, and were downloaded from the HistPop web site on 2nd Septmber 2016.
  3. The only part of table 3 not included here are the data for the County of London, with a somewhat different format, on pages 534-5. NB this table does not include data for any other counties.


Notes:

  1. The information given in this table is a superset of the data given in table 2 fpr smaller towns and Rural Districts, and the key difference is that this table is a THREE-WAY cross-tabulation of households, by numbers of rooms, persons and numbers of children under 10.
  2. In the original reports, each district is given a page to itself with its own title, and in some senses three separate tables:
    • Some initial summary statistics, including comparative data for 1901.
    • A tabulation of number of persons against numbers of rooms similar to table 2, but for households with 1 to 4 rooms including additional rows classifying them also by numbers of children.
    • A tabulation specifically for "Tenements of Five Rooms and upwards with more than Two Persons per Room", which has rows for different combinations of numbers of rooms and persons, and columns for numbers of children.
  3. While table 2 is held on Histpop as a single spreadsheet, for table 3 each district was a separate downloadable file, and a substantial amount of manual editing was needed to assemble them into a single file. For now, our aim was to create a table which could be used to add data for these large towns to the other 1911 housing data held in h_dens_1911_ew, while limiting the manual editing required and without discarding the additional information listed only for large towns; but analysing that additional information may require further reorganisation.
  4. In working with this table, careful attention must be paid to the row_num column, and its value determines what is held in 'string' and 'numeric_val'. Firstly, the initial summary statistics:
    • 1: Holds headers to the initial summary table, i.e. numeric_val holds "1901" and count_1 holds "1911".
    • 2: String holds "Total Population", and numeric_val and count_1 hold population counts for 1901 and 1911 respectively.
    • 3: String holds "Total Families or Separate Occupiers, "Private" or Other", and numeric_val and count_1 hold counts of families for 1901 and 1911 respectively.
    • 4: String holds "Population in "Private Families", and numeric_val holds that figure for 1911.
    • 5: String holds "Number of Private Families", and numeric_val holds that figure for 1911.
    • 6: String holds "Tenements with more than two occupants per room :-", which acts as a heading for the next four rows.
    • 7: String holds "Number", i.e. of such tenements, and numeric_val gives that count.
    • 8: String holds "Population, all ages", and numeric_val gives that count.
    • 9: String holds "Population, under 10 years of age", and numeric_val gives that count.
    • 10: String holds "Percentage of Population in "Private Families" living more than two in a room", and numeric_val gives that percentage.
    Then the main sub-table cross-tabulating rooms against persons::
    • 11-43: These rows are in fact a three-way cross-tabulation, of numbers of Rooms per Tenement (held in 'string'), numbers of "Children under 10 years of age" (in 'numeric_val'), and numbers of Persons (in the columns, from count_1 to count_15_up. The only options for numbers of room are from one to four, and the options for numbers of children differ between them: 0-5 for one, 0-6 for two, and 0-7 for three and four. Each option terminates with an overall total for the number of rooms, ignoring numbers of children (i.e. 'string' contains the number of rooms and 'numeric_val' is null).
    • 44: String always contains 'Total', with no numeric data, introducing the second part of the main sub-table, which ignores numbers of children.
    • 45: String contains '1-4' and this row holds overall totals for families occupying 1 to 4 rooms.
    • 46-51: These rows cover, respectively, families occupying 5, 6, 7, 8, 9 and '10 and upwards' rooms.
    • 52: String contains 'Totals', and this row holds overall totals for numbers of families/Tenements.
    Lastly, the final tabulation of numbers of children:
    • 53-56: these rows form a header to the final sub-table, and can be ignored when querying the table: row 53 is always completely empty, serving as a divider; row 54 holds the title to the sub-table, "Tenements of Five Rooms and upwards with more than Two Persons per Room"; row 55 holds what is actually a caption to the column labels in the next row, "Number of Children under 10 years of age in Private Families (or Tenements)"; and row 56 holds those labels, from '0' to '10'.
    • 57 upwards: String holds the number of "Rooms per Tenement" and numeric_val holds the number of "Persons per Tenement", while the columns hold the numbers of children. As this table is limited to tenements with at least five rooms and more than two persons per room, the lowest number of persons per tenement recorded in this sub-table is 11. The specific combinations of numbers of rooms and of persons vary between districts, as do the overall number of rows in this sub-table: it always starts on row 57, and the highest value of row_num found is 68.
  5. In March 2021 the name of the table was updated from hous_1911_lg_t to be h_dens_1911_lg_t to more accurately reflect the content.


Checking:

  1. All units have been matched to the AUO.
  2. Each combination of 'row_num' and 'string' for row_num up to 57 appears exactly 130 times, which essentially confirms that no individual rows have gone missing.
  3. The sum of count_1 through count_15_up exactly matches tot_pfam for all values of row_num between 11 and 52 for all districts.
  4. The sum of count_0 through count_10 exactly matches tot_pfam for all values of row_num of 57 and above for all districts.


Indices:

IndexTypeColumn(s) indexed
h_dens_1911_lg_t_pkey Primary key page_num, row_num
h_dens_1911_lg_t_idx_dist Unique admc_unit, lg_dist, lg_type, row_num


Constraints:

The table has the following associated constraints:

ConstraintTypeDetails
h_dens_1911_lg_t_pkey Primary Key See details above for primary key index



Columns within table:

ColumnTypeContents
page_num Integer number. Page number in the original report on which the district was listed.
adm_cnty Text string (max.len.=28). Name of the Administrative County containing the district.
lg_dist Text string (max.len.=36). Name of the Local Government District.
lg_type Text string (max.len.=8). Type of the Local Government District.
admc_unit Integer number. ID number for the Administrative County containing the district, as defined in the GBH GIS AUO.
g_unit Integer number. ID number for the Local Government District, as defined in the GBH GIS AUO.
row_num Integer number. Number identifyng the row within the particular district being reported on. See note above. NB rows 1-57 should always have the same contents, but the rows listed above 57 vary with the combinations of numbers of rooms and numbers of persons listed for the particular district.
string Text string (max.len.=84). Holds very varied contents, as described in note above.
numeric_val Floating point number. Holds varied but always numeric content. Defined as floating point only so that it can hold the "Percentage of Population in "Private Families" living more than two in a room" in row 10.
count_0 Integer number. For rows 1 to 5, holds 1911 data for variable identified in 'string'. For row 56, holds label for following counts of children, i.e. "0". For rows 57 upwards, number of private families containing zero children. Should be null for all other rows.
count_1 Integer number. For rows 11 to 52, numbers of "private families" containing 1 person. For row 56, holds label for following counts of children, i.e. "1". For rows 57 upwards, number of private families containing one child. Should be null for all other rows.
count_2 Integer number. For rows 11 to 52, numbers of "private families" containing 2 persons. For row 56, holds label for following counts of children, i.e. "2". For rows 57 upwards, number of private families containing two children. Should be null for all other rows.
count_3 Integer number. For rows 11 to 52, numbers of "private families" containing 3 persons. For row 56, holds label for following counts of children, i.e. "3". For rows 57 upwards, number of private families containing three children. Should be null for all other rows.
count_4 Integer number. For rows 11 to 52, numbers of "private families" containing 4 persons. For row 56, holds label for following counts of children, i.e. "4". For rows 57 upwards, number of private families containing four children. Should be null for all other rows.
count_5 Integer number. For rows 11 to 52, numbers of "private families" containing 5 persons. For row 56, holds label for following counts of children, i.e. "5". For rows 57 upwards, number of private families containing five children. Should be null for all other rows.
count_6 Integer number. For rows 11 to 52, numbers of "private families" containing 6 persons. For row 56, holds label for following counts of children, i.e. "6". For rows 57 upwards, number of private families containing six children. Should be null for all other rows.
count_7 Integer number. For rows 11 to 52, numbers of "private families" containing 7 persons. For row 56, holds label for following counts of children, i.e. "7". For rows 57 upwards, number of private families containing seven children. Should be null for all other rows.
count_8 Integer number. For rows 11 to 52, numbers of "private families" containing 8 persons. For row 56, holds label for following counts of children, i.e. "8". For rows 57 upwards, number of private families containing eight children. Should be null for all other rows.
count_9 Integer number. For rows 11 to 52, numbers of "private families" containing 9 persons. For row 56, holds label for following counts of children, i.e. "9". For rows 57 upwards, number of private families containing nine children. Should be null for all other rows.
count_10 Integer number. For rows 11 to 52, numbers of "private families" containing 10 persons. For row 56, holds label for following counts of children, i.e. "10". For rows 57 upwards, number of private families containing ten children. Should be null for all other rows.
count_11 Integer number. For rows 11 to 52, numbers of "private families" containing 11 persons. Should be null for all other rows.
count_12 Integer number. For rows 11 to 52, numbers of "private families" containing 12 persons. Should be null for all other rows.
count_13 Integer number. For rows 11 to 52, numbers of "private families" containing 13 persons. Should be null for all other rows.
count_14 Integer number. For rows 11 to 52, numbers of "private families" containing 14 persons. Should be null for all other rows.
count_15_up Integer number. For rows 11 to 52, numbers of "private families" containing 15 persons and upwards. Should be null for all other rows.
tot_pfam Integer number. Total number of private families. For rows 11 to 52, this should hold the sum of count_1 through count_15_up. For rows 57 upwards, this should hold the sum of count_0 through count_10. Should be null for all other rows.
pop_pfam Integer number. Population living in private families. For rows 11 to 52, this will usually hold the sum of multiplying each of the counts from count_1 to count_15_up by the relevant number of persons, except where there are private families containing more than 15 persons. For rows 57 upwards, again holds total number of persons living in private families. Should be null for all other rows.
pop_under_10 Integer number. For rows 57 upwards, holds total number of persons aged under 10 living in private families. Should be null for all other rows.
rec_num Integer number. Sequence number added on loading the data, keeping rows in original order.