Overview
This document shows crosstabs between landlord size and
policy attitudes or adaptations listed below:
- Policy knowledge of
- Limiting fees
- Payment plans
- First-in-time
- Alternative sources of income
- Protections for tenants with criminal record
- How effective is
- Limiting fees
- Payment plans
- First-in-time
- Alternative sources of income
- Protections for tenants with criminal record
- Unreasonable burden of
- Limiting fees
- Payment plans
- First-in-time
- Alternative sources of income
- Protections for tenants with criminal record
Then results are shown by all possible indicators for each
policy type (yes, most of these are repeated from above for
comparison):
- Limiting fees
- knowledge
- effective
- burden
- Payment plans
- knowledge
- effective
- burden
- First-in-time
- knowledge
- effective
- ability to judge tenants
- ability to rent
- burden
- Alternative sources of income
- knowledge
- effective
- ability to judge tenants
- burden
- Protections for tenants with criminal record
- knowledge
- effective
- ability to judge tenants
- burden
- jeopardize safety
Finally, results for policy adaptations are
shown:
- Adopt strict requirements due to regulations
- Intend to sell due to regulations
- Landlord suggestions
- What should city ordinances target?
- Should city take landlord perspective into account?
#load processed survey data
coded_df <- readRDS("C:/Users/court/Google Drive/Research/Seattle Rental Housing Study/SRHS/SRHS_coded.RDS")
coded_df <- coded_df %>%
mutate_if(
is.labelled,
~(as_factor(.)))
POLICY ATTITUDES
Policy Knowledge
p1 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_limitfees_know))) +
geom_bar(position='fill') +
labs(y = "",
title = "Limit fees") +
theme_classic()+
theme(legend.title = element_blank(), legend.position = "bottom") +
guides(fill = guide_legend(ncol = 1))
p2 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_payplan_know))) +
geom_bar(position='fill') +
labs(y = "",
title = "Payment plan") +
theme_classic()+
theme(legend.title = element_blank(), legend.position = "bottom") +
guides(fill = guide_legend(ncol = 1))
p3 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_first_know))) +
geom_bar(position='fill') +
labs(y = "",
title = "First-in-time") +
theme_classic()+
theme(legend.title = element_blank(), legend.position = "bottom") +
guides(fill = guide_legend(ncol = 1))
p4 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_soi_know))) +
geom_bar(position='fill') +
labs(y = "",
title = "Source of income") +
theme_classic()+
theme(legend.title = element_blank(), legend.position = "bottom") +
guides(fill = guide_legend(ncol = 1))
p5 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_crim_know))) +
geom_bar(position='fill') +
labs(y = "",
title = "Crim record") +
theme_classic()+
theme(legend.title = element_blank(), legend.position = "bottom") +
guides(fill = guide_legend(ncol = 1))
p1 + p2 + p3 + p4 + p5 + plot_layout(guides = "collect", nrow=2) + plot_annotation(title="Knowledge")

# WEIGHTED tables for KNOLWEDGE OF POLICY ATTITUDES
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_limitfees_know,
at_payplan_know,
at_first_know,
at_soi_know,
at_crim_know,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy knowledge by landlord size (weighted)**")
| Characteristic |
Policy knowledge by landlord size (weighted)
|
p-value |
| small |
big |
Overall |
| Limit fees: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
506 (16%) |
215 (36%) |
721 (19%) |
|
| Very familiar |
1,094 (34%) |
135 (22%) |
1,229 (32%) |
|
| Moderately familiar |
215 (6.7%) |
8 (1.3%) |
223 (5.8%) |
|
| Slightly familiar |
14 (0.4%) |
2 (0.4%) |
16 (0.4%) |
|
| Not familiar at all |
428 (13%) |
28 (4.7%) |
456 (12%) |
|
| Refused |
978 (30%) |
213 (35%) |
1,191 (31%) |
|
| Payment plan: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
538 (17%) |
227 (38%) |
765 (20%) |
|
| Very familiar |
944 (29%) |
120 (20%) |
1,064 (28%) |
|
| Moderately familiar |
479 (15%) |
21 (3.4%) |
500 (13%) |
|
| Slightly familiar |
20 (0.6%) |
2 (0.3%) |
22 (0.6%) |
|
| Not familiar at all |
421 (13%) |
25 (4.1%) |
446 (12%) |
|
| Refused |
833 (26%) |
206 (34%) |
1,039 (27%) |
|
| First in time: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
838 (26%) |
295 (49%) |
1,133 (30%) |
|
| Very familiar |
795 (25%) |
69 (11%) |
864 (23%) |
|
| Moderately familiar |
247 (7.6%) |
12 (1.9%) |
259 (6.8%) |
|
| Slightly familiar |
20 (0.6%) |
2 (0.3%) |
21 (0.6%) |
|
| Not familiar at all |
265 (8.2%) |
9 (1.6%) |
274 (7.2%) |
|
| Refused |
1,071 (33%) |
214 (36%) |
1,285 (34%) |
|
| Source of income protections: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
353 (11%) |
157 (26%) |
510 (13%) |
|
| Very familiar |
941 (29%) |
176 (29%) |
1,117 (29%) |
|
| Moderately familiar |
805 (25%) |
56 (9.3%) |
861 (22%) |
|
| Slightly familiar |
18 (0.6%) |
1 (0.1%) |
19 (0.5%) |
|
| Not familiar at all |
630 (19%) |
64 (11%) |
694 (18%) |
|
| Refused |
489 (15%) |
147 (24%) |
636 (17%) |
|
| Limit crim record: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
497 (15%) |
216 (36%) |
713 (19%) |
|
| Very familiar |
935 (29%) |
128 (21%) |
1,064 (28%) |
|
| Moderately familiar |
630 (19%) |
24 (4.0%) |
654 (17%) |
|
| Slightly familiar |
23 (0.7%) |
2 (0.4%) |
25 (0.7%) |
|
| Not familiar at all |
501 (16%) |
40 (6.7%) |
542 (14%) |
|
| Refused |
649 (20%) |
190 (32%) |
839 (22%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy Efficacy
p1 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_limitfees_effect))) +
geom_bar(position='fill') +
labs(y = "",
title = "Limit fees") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p2 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_payplan_effect))) +
geom_bar(position='fill') +
labs(y = "",
title = "Payment plan") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p3 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_first_effect))) +
geom_bar(position='fill') +
labs(y = "",
title = "First-in-time") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p4 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_soi_effect))) +
geom_bar(position='fill') +
labs(y = "",
title = "Source of income") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p5 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_crim_effect))) +
geom_bar(position='fill') +
labs(title = "Crim record") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p1 + p2 + p3 + p4 + p5 + plot_layout(guides = "collect", nrow=2) + plot_annotation(title="Effective?")

# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_limitfees_effect,
at_payplan_effect,
at_first_effect,
at_soi_effect,
at_crim_effect,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on effectiveness (weighted)**")
| Characteristic |
Policy attitudes on effectiveness (weighted)
|
p-value |
| small |
big |
Overall |
| Limit fees: effective? |
|
|
|
<0.001 |
| Very effective |
563 (17%) |
69 (11%) |
631 (16%) |
|
| Effective |
398 (12%) |
19 (3.2%) |
417 (11%) |
|
| Neither effective nor ineffective |
758 (23%) |
171 (29%) |
930 (24%) |
|
| Ineffective |
867 (27%) |
159 (26%) |
1,026 (27%) |
|
| Very ineffective |
19 (0.6%) |
4 (0.7%) |
24 (0.6%) |
|
| I dont know enough |
58 (1.8%) |
5 (0.9%) |
63 (1.6%) |
|
| Refused |
573 (18%) |
173 (29%) |
746 (19%) |
|
| Payment plan: effective? |
|
|
|
<0.001 |
| Very effective |
959 (30%) |
153 (25%) |
1,112 (29%) |
|
| Effective |
299 (9.2%) |
11 (1.9%) |
311 (8.1%) |
|
| Neither effective nor ineffective |
577 (18%) |
123 (20%) |
699 (18%) |
|
| Ineffective |
832 (26%) |
152 (25%) |
983 (26%) |
|
| Very ineffective |
21 (0.7%) |
3 (0.5%) |
25 (0.6%) |
|
| I dont know enough |
107 (3.3%) |
16 (2.7%) |
123 (3.2%) |
|
| Refused |
440 (14%) |
143 (24%) |
582 (15%) |
|
| First in time: effective? |
|
|
|
<0.001 |
| Very effective |
341 (11%) |
45 (7.5%) |
386 (10%) |
|
| Effective |
209 (6.5%) |
8 (1.3%) |
217 (5.7%) |
|
| Neither effective nor ineffective |
842 (26%) |
148 (25%) |
990 (26%) |
|
| Ineffective |
861 (27%) |
158 (26%) |
1,019 (27%) |
|
| Very ineffective |
20 (0.6%) |
3 (0.5%) |
23 (0.6%) |
|
| I dont know enough |
37 (1.1%) |
6 (1.0%) |
43 (1.1%) |
|
| Refused |
924 (29%) |
233 (39%) |
1,157 (30%) |
|
| Source of income protections: effective? |
|
|
|
<0.001 |
| Very effective |
675 (21%) |
121 (20%) |
797 (21%) |
|
| Effective |
817 (25%) |
70 (12%) |
888 (23%) |
|
| Neither effective nor ineffective |
425 (13%) |
104 (17%) |
529 (14%) |
|
| Ineffective |
945 (29%) |
204 (34%) |
1,149 (30%) |
|
| Very ineffective |
29 (0.9%) |
4 (0.6%) |
32 (0.8%) |
|
| I dont know enough |
47 (1.5%) |
16 (2.6%) |
63 (1.6%) |
|
| Refused |
297 (9.2%) |
81 (14%) |
378 (9.9%) |
|
| Limit crim record: effective? |
|
|
|
<0.001 |
| Very effective |
724 (22%) |
122 (20%) |
845 (22%) |
|
| Effective |
525 (16%) |
34 (5.7%) |
559 (15%) |
|
| Neither effective nor ineffective |
549 (17%) |
122 (20%) |
671 (17%) |
|
| Ineffective |
874 (27%) |
172 (29%) |
1,045 (27%) |
|
| Very ineffective |
35 (1.1%) |
3 (0.5%) |
38 (1.0%) |
|
| I dont know enough |
60 (1.9%) |
15 (2.5%) |
75 (2.0%) |
|
| Refused |
469 (14%) |
133 (22%) |
602 (16%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy Burden
p1 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_limitfees_burden))) +
geom_bar(position='fill') +
labs(y = "",
title = "Limit fees") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p2 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_payplan_burden))) +
geom_bar(position='fill') +
labs(y = "",
title = "Payment plan") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p3 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_first_burden))) +
geom_bar(position='fill') +
labs(y = "",
title = "First-in-time") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p4 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_soi_burden))) +
geom_bar(position='fill') +
labs(y = "",
title = "Source of income") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p5 <- coded_df %>% ggplot(aes(x=ll_size,
fill=forcats::fct_rev(at_crim_burden))) +
geom_bar(position='fill') +
labs(y = "",
title = "Crim record") +
theme_classic()+
theme(legend.title = element_blank()) +
guides(fill = guide_legend(ncol = 1))
p1 + p2 + p3 + p4 + p5 + plot_layout(guides = "collect", nrow=2) + plot_annotation(title="Burden")

# WEIGHTED tables for landlord size and policy attitude
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_limitfees_burden,
at_payplan_burden,
at_first_burden,
at_soi_burden,
at_crim_burden,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on burden by LL size (weighted)**")
| Characteristic |
Policy attitudes on burden by LL size (weighted)
|
p-value |
| small |
big |
Overall |
| Limit fees: a burden? |
|
|
|
<0.001 |
| Strongly agree |
885 (27%) |
167 (28%) |
1,052 (27%) |
|
| Agree |
431 (13%) |
38 (6.3%) |
469 (12%) |
|
| Neither agree nor disagree |
158 (4.9%) |
4 (0.6%) |
162 (4.2%) |
|
| Disagree |
605 (19%) |
95 (16%) |
700 (18%) |
|
| Strongly disagree |
14 (0.4%) |
1 (0.2%) |
15 (0.4%) |
|
| I dont know enough |
1,033 (32%) |
280 (47%) |
1,313 (34%) |
|
| Refused |
109 (3.4%) |
15 (2.5%) |
124 (3.2%) |
|
| Payment plan: a burden? |
|
|
|
<0.001 |
| Strongly agree |
827 (26%) |
146 (24%) |
974 (25%) |
|
| Agree |
522 (16%) |
67 (11%) |
588 (15%) |
|
| Neither agree nor disagree |
142 (4.4%) |
2 (0.3%) |
144 (3.8%) |
|
| Disagree |
564 (17%) |
88 (15%) |
653 (17%) |
|
| Strongly disagree |
14 (0.4%) |
2 (0.3%) |
16 (0.4%) |
|
| I dont know enough |
1,012 (31%) |
275 (46%) |
1,287 (34%) |
|
| Refused |
154 (4.8%) |
20 (3.4%) |
174 (4.5%) |
|
| First in time: a burden? |
|
|
|
<0.001 |
| Strongly agree |
806 (25%) |
101 (17%) |
907 (24%) |
|
| Agree |
144 (4.5%) |
37 (6.2%) |
182 (4.7%) |
|
| Neither agree nor disagree |
145 (4.5%) |
5 (0.8%) |
150 (3.9%) |
|
| Disagree |
360 (11%) |
60 (10.0%) |
420 (11%) |
|
| Strongly disagree |
17 (0.5%) |
3 (0.4%) |
19 (0.5%) |
|
| I dont know enough |
1,725 (53%) |
382 (64%) |
2,106 (55%) |
|
| Refused |
38 (1.2%) |
13 (2.2%) |
52 (1.3%) |
|
| Source of income protections: a burden? |
|
|
|
<0.001 |
| Strongly agree |
644 (20%) |
139 (23%) |
783 (20%) |
|
| Agree |
268 (8.3%) |
43 (7.1%) |
311 (8.1%) |
|
| Neither agree nor disagree |
678 (21%) |
49 (8.2%) |
727 (19%) |
|
| Disagree |
695 (21%) |
138 (23%) |
834 (22%) |
|
| Strongly disagree |
41 (1.3%) |
4 (0.7%) |
45 (1.2%) |
|
| I dont know enough |
858 (27%) |
215 (36%) |
1,073 (28%) |
|
| Refused |
52 (1.6%) |
12 (1.9%) |
63 (1.6%) |
|
| Limit crim record: a burden? |
|
|
|
<0.001 |
| Strongly agree |
658 (20%) |
105 (17%) |
763 (20%) |
|
| Agree |
152 (4.7%) |
14 (2.4%) |
166 (4.3%) |
|
| Neither agree nor disagree |
361 (11%) |
17 (2.9%) |
378 (9.9%) |
|
| Disagree |
339 (10%) |
52 (8.6%) |
391 (10%) |
|
| Strongly disagree |
28 (0.9%) |
5 (0.8%) |
32 (0.8%) |
|
| I dont know enough |
1,652 (51%) |
404 (67%) |
2,055 (54%) |
|
| Refused |
46 (1.4%) |
4 (0.7%) |
50 (1.3%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy: Limit fees
Questions:
- In 2016, the City of Seattle passed an ordinance that limits move-in
fees and security deposits (effective January 15, 2017). How familiar
are you with this set of rules?
- In general, how effective or ineffective do you think the limit on
move-in fees/security deposits will be for increasing access to housing
for more people in Seattle?
- “Please indicate how strongly you agree or disagree with this
statement: Limiting move-in fees/security deposits places an
unreasonable burden on Seattle landlords.
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_limitfees_know,
at_limitfees_effect,
at_limitfees_burden,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on limiting fees (weighted)**")
| Characteristic |
Policy attitudes on limiting fees (weighted)
|
p-value |
| small |
big |
Overall |
| Limit fees: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
506 (16%) |
215 (36%) |
721 (19%) |
|
| Very familiar |
1,094 (34%) |
135 (22%) |
1,229 (32%) |
|
| Moderately familiar |
215 (6.7%) |
8 (1.3%) |
223 (5.8%) |
|
| Slightly familiar |
14 (0.4%) |
2 (0.4%) |
16 (0.4%) |
|
| Not familiar at all |
428 (13%) |
28 (4.7%) |
456 (12%) |
|
| Refused |
978 (30%) |
213 (35%) |
1,191 (31%) |
|
| Limit fees: effective? |
|
|
|
<0.001 |
| Very effective |
563 (17%) |
69 (11%) |
631 (16%) |
|
| Effective |
398 (12%) |
19 (3.2%) |
417 (11%) |
|
| Neither effective nor ineffective |
758 (23%) |
171 (29%) |
930 (24%) |
|
| Ineffective |
867 (27%) |
159 (26%) |
1,026 (27%) |
|
| Very ineffective |
19 (0.6%) |
4 (0.7%) |
24 (0.6%) |
|
| I dont know enough |
58 (1.8%) |
5 (0.9%) |
63 (1.6%) |
|
| Refused |
573 (18%) |
173 (29%) |
746 (19%) |
|
| Limit fees: a burden? |
|
|
|
<0.001 |
| Strongly agree |
885 (27%) |
167 (28%) |
1,052 (27%) |
|
| Agree |
431 (13%) |
38 (6.3%) |
469 (12%) |
|
| Neither agree nor disagree |
158 (4.9%) |
4 (0.6%) |
162 (4.2%) |
|
| Disagree |
605 (19%) |
95 (16%) |
700 (18%) |
|
| Strongly disagree |
14 (0.4%) |
1 (0.2%) |
15 (0.4%) |
|
| I dont know enough |
1,033 (32%) |
280 (47%) |
1,313 (34%) |
|
| Refused |
109 (3.4%) |
15 (2.5%) |
124 (3.2%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy: Payment plan
Questions:
- The 2016 ordinance limiting move-in fees/security deposits also
requires Seattle landlords to accept payment plans for move-in
fees/security deposits if a tenant requests this (effective January 15,
2017). How familiar are you with this set of rules?
- In general, how effective or ineffective do you think the
requirement mentioned above (allowing payment plans for move-in
fees/security deposits) will be for increasing access to housing for
more people in Seattle?
- Please indicate how strongly you agree or disagree with this
statement: Requiring landlords to accept payment plans for move-in
fees/security deposits places an unreasonable burden on Seattle
landlords.
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_payplan_know,
at_payplan_effect,
at_payplan_burden,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on payment plans (weighted)**")
| Characteristic |
Policy attitudes on payment plans (weighted)
|
p-value |
| small |
big |
Overall |
| Payment plan: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
538 (17%) |
227 (38%) |
765 (20%) |
|
| Very familiar |
944 (29%) |
120 (20%) |
1,064 (28%) |
|
| Moderately familiar |
479 (15%) |
21 (3.4%) |
500 (13%) |
|
| Slightly familiar |
20 (0.6%) |
2 (0.3%) |
22 (0.6%) |
|
| Not familiar at all |
421 (13%) |
25 (4.1%) |
446 (12%) |
|
| Refused |
833 (26%) |
206 (34%) |
1,039 (27%) |
|
| Payment plan: effective? |
|
|
|
<0.001 |
| Very effective |
959 (30%) |
153 (25%) |
1,112 (29%) |
|
| Effective |
299 (9.2%) |
11 (1.9%) |
311 (8.1%) |
|
| Neither effective nor ineffective |
577 (18%) |
123 (20%) |
699 (18%) |
|
| Ineffective |
832 (26%) |
152 (25%) |
983 (26%) |
|
| Very ineffective |
21 (0.7%) |
3 (0.5%) |
25 (0.6%) |
|
| I dont know enough |
107 (3.3%) |
16 (2.7%) |
123 (3.2%) |
|
| Refused |
440 (14%) |
143 (24%) |
582 (15%) |
|
| Payment plan: a burden? |
|
|
|
<0.001 |
| Strongly agree |
827 (26%) |
146 (24%) |
974 (25%) |
|
| Agree |
522 (16%) |
67 (11%) |
588 (15%) |
|
| Neither agree nor disagree |
142 (4.4%) |
2 (0.3%) |
144 (3.8%) |
|
| Disagree |
564 (17%) |
88 (15%) |
653 (17%) |
|
| Strongly disagree |
14 (0.4%) |
2 (0.3%) |
16 (0.4%) |
|
| I dont know enough |
1,012 (31%) |
275 (46%) |
1,287 (34%) |
|
| Refused |
154 (4.8%) |
20 (3.4%) |
174 (4.5%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy: First-in-time
Questions:
- In 2016, the City of Seattle passed an ordinance that requires
Seattle landlords to rent to the first qualified tenant who applies for
an available unit (also known as “First in Time,” effective July 1,
2017). How familiar are you with this regulation?
- In general, how effective or ineffective do you think First in Time
will be for increasing access to housing for more people in
Seattle?
- First in Time has reduced my ability to use my judgement in deciding
who to rent to.
- First in Time has reduced the likelihood that I will be able to rent
to applicants with few resources or who might not meet some of my
standard rental requirements.
- First in Time places an unreasonable burden on Seattle
landlords.
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_first_know,
at_first_effect,
at_first_ability_judge,
at_first_ability_rent,
at_first_burden,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on first-in-time (weighted)**")
| Characteristic |
Policy attitudes on first-in-time (weighted)
|
p-value |
| small |
big |
Overall |
| First in time: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
838 (26%) |
295 (49%) |
1,133 (30%) |
|
| Very familiar |
795 (25%) |
69 (11%) |
864 (23%) |
|
| Moderately familiar |
247 (7.6%) |
12 (1.9%) |
259 (6.8%) |
|
| Slightly familiar |
20 (0.6%) |
2 (0.3%) |
21 (0.6%) |
|
| Not familiar at all |
265 (8.2%) |
9 (1.6%) |
274 (7.2%) |
|
| Refused |
1,071 (33%) |
214 (36%) |
1,285 (34%) |
|
| First in time: effective? |
|
|
|
<0.001 |
| Very effective |
341 (11%) |
45 (7.5%) |
386 (10%) |
|
| Effective |
209 (6.5%) |
8 (1.3%) |
217 (5.7%) |
|
| Neither effective nor ineffective |
842 (26%) |
148 (25%) |
990 (26%) |
|
| Ineffective |
861 (27%) |
158 (26%) |
1,019 (27%) |
|
| Very ineffective |
20 (0.6%) |
3 (0.5%) |
23 (0.6%) |
|
| I dont know enough |
37 (1.1%) |
6 (1.0%) |
43 (1.1%) |
|
| Refused |
924 (29%) |
233 (39%) |
1,157 (30%) |
|
| First in time: judge tenants? |
|
|
|
<0.001 |
| Strongly agree |
801 (25%) |
111 (18%) |
912 (24%) |
|
| Agree |
116 (3.6%) |
33 (5.6%) |
149 (3.9%) |
|
| Neither agree nor disagree |
170 (5.3%) |
8 (1.3%) |
178 (4.6%) |
|
| Disagree |
363 (11%) |
82 (14%) |
445 (12%) |
|
| Strongly disagree |
23 (0.7%) |
2 (0.3%) |
25 (0.6%) |
|
| I dont know enough |
1,716 (53%) |
343 (57%) |
2,059 (54%) |
|
| Refused |
46 (1.4%) |
22 (3.7%) |
69 (1.8%) |
|
| First in time: ability to rent? |
|
|
|
<0.001 |
| Strongly agree |
811 (25%) |
137 (23%) |
948 (25%) |
|
| Agree |
207 (6.4%) |
37 (6.1%) |
244 (6.4%) |
|
| Neither agree nor disagree |
232 (7.2%) |
10 (1.7%) |
242 (6.3%) |
|
| Disagree |
810 (25%) |
127 (21%) |
937 (24%) |
|
| Strongly disagree |
36 (1.1%) |
6 (1.0%) |
42 (1.1%) |
|
| I dont know enough |
1,069 (33%) |
263 (44%) |
1,332 (35%) |
|
| Refused |
70 (2.2%) |
20 (3.3%) |
90 (2.4%) |
|
| First in time: a burden? |
|
|
|
<0.001 |
| Strongly agree |
806 (25%) |
101 (17%) |
907 (24%) |
|
| Agree |
144 (4.5%) |
37 (6.2%) |
182 (4.7%) |
|
| Neither agree nor disagree |
145 (4.5%) |
5 (0.8%) |
150 (3.9%) |
|
| Disagree |
360 (11%) |
60 (10.0%) |
420 (11%) |
|
| Strongly disagree |
17 (0.5%) |
3 (0.4%) |
19 (0.5%) |
|
| I dont know enough |
1,725 (53%) |
382 (64%) |
2,106 (55%) |
|
| Refused |
38 (1.2%) |
13 (2.2%) |
52 (1.3%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy: Alternative sources of income
Questions:
- The 2016 ordinance that includes First in Time also expands
protections for tenants using alternative sources of income and
subsidies to cover housing costs (effective September 19, 2016). How
familiar are you with this set of rules?
- In general, how effective or ineffective do you think the expanded
sourceof- income protections will be for increasing access to housing
for more people in Seattle?
- The expanded source-of-income regulation has reduced my ability to
use my judgement in deciding who to rent to.
- The expanded source-of-income regulation places an unreasonable
burden on Seattle landlords.
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_soi_know,
at_soi_effect,
at_soi_ability_judge,
at_soi_burden,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on sources of income (weighted)**")
| Characteristic |
Policy attitudes on sources of income (weighted)
|
p-value |
| small |
big |
Overall |
| Source of income protections: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
353 (11%) |
157 (26%) |
510 (13%) |
|
| Very familiar |
941 (29%) |
176 (29%) |
1,117 (29%) |
|
| Moderately familiar |
805 (25%) |
56 (9.3%) |
861 (22%) |
|
| Slightly familiar |
18 (0.6%) |
1 (0.1%) |
19 (0.5%) |
|
| Not familiar at all |
630 (19%) |
64 (11%) |
694 (18%) |
|
| Refused |
489 (15%) |
147 (24%) |
636 (17%) |
|
| Source of income protections: effective? |
|
|
|
<0.001 |
| Very effective |
675 (21%) |
121 (20%) |
797 (21%) |
|
| Effective |
817 (25%) |
70 (12%) |
888 (23%) |
|
| Neither effective nor ineffective |
425 (13%) |
104 (17%) |
529 (14%) |
|
| Ineffective |
945 (29%) |
204 (34%) |
1,149 (30%) |
|
| Very ineffective |
29 (0.9%) |
4 (0.6%) |
32 (0.8%) |
|
| I dont know enough |
47 (1.5%) |
16 (2.6%) |
63 (1.6%) |
|
| Refused |
297 (9.2%) |
81 (14%) |
378 (9.9%) |
|
| Source of income protections: judge tenant? |
|
|
|
<0.001 |
| Strongly agree |
662 (20%) |
128 (21%) |
790 (21%) |
|
| Agree |
251 (7.7%) |
45 (7.5%) |
296 (7.7%) |
|
| Neither agree nor disagree |
725 (22%) |
56 (9.3%) |
781 (20%) |
|
| Disagree |
779 (24%) |
175 (29%) |
954 (25%) |
|
| Strongly disagree |
33 (1.0%) |
4 (0.6%) |
37 (1.0%) |
|
| I dont know enough |
740 (23%) |
175 (29%) |
915 (24%) |
|
| Refused |
46 (1.4%) |
17 (2.9%) |
63 (1.6%) |
|
| Source of income protections: a burden? |
|
|
|
<0.001 |
| Strongly agree |
644 (20%) |
139 (23%) |
783 (20%) |
|
| Agree |
268 (8.3%) |
43 (7.1%) |
311 (8.1%) |
|
| Neither agree nor disagree |
678 (21%) |
49 (8.2%) |
727 (19%) |
|
| Disagree |
695 (21%) |
138 (23%) |
834 (22%) |
|
| Strongly disagree |
41 (1.3%) |
4 (0.7%) |
45 (1.2%) |
|
| I dont know enough |
858 (27%) |
215 (36%) |
1,073 (28%) |
|
| Refused |
52 (1.6%) |
12 (1.9%) |
63 (1.6%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Policy: Criminal record
Questions:
- In 2017, the City of Seattle passed an ordinance that adds
protections for tenants with criminal records and limits the extent to
which criminal records can be used as criteria for tenant
eligibility/selection (effective February 19, 2018).
- How familiar are you with this ordinance?
- In general, how effective or ineffective do you think the ordinance
mentioned above (regarding screening prospective tenants based on
criminal records) will be for increasing access to housing for more
people in Seattle?
- The ordinance governing screening tenant applications based on
criminal records has reduced or will reduce my ability to use my
judgement in deciding who to rent to.
- The ordinance governing screening tenant applications based on
criminal records places an unreasonable burden on Seattle
landlords.
- The ordinance governing screening tenant applications based on
criminal records is likely to jeopardize the safety of other
residents.
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_crim_know,
at_crim_effect,
at_crim_ability_judge,
at_crim_burden,
at_crim_safety,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on crim record (weighted)**")
| Characteristic |
Policy attitudes on crim record (weighted)
|
p-value |
| small |
big |
Overall |
| Limit crim record: knowledge |
|
|
|
<0.001 |
| Extremely familiar |
497 (15%) |
216 (36%) |
713 (19%) |
|
| Very familiar |
935 (29%) |
128 (21%) |
1,064 (28%) |
|
| Moderately familiar |
630 (19%) |
24 (4.0%) |
654 (17%) |
|
| Slightly familiar |
23 (0.7%) |
2 (0.4%) |
25 (0.7%) |
|
| Not familiar at all |
501 (16%) |
40 (6.7%) |
542 (14%) |
|
| Refused |
649 (20%) |
190 (32%) |
839 (22%) |
|
| Limit crim record: effective? |
|
|
|
<0.001 |
| Very effective |
724 (22%) |
122 (20%) |
845 (22%) |
|
| Effective |
525 (16%) |
34 (5.7%) |
559 (15%) |
|
| Neither effective nor ineffective |
549 (17%) |
122 (20%) |
671 (17%) |
|
| Ineffective |
874 (27%) |
172 (29%) |
1,045 (27%) |
|
| Very ineffective |
35 (1.1%) |
3 (0.5%) |
38 (1.0%) |
|
| I dont know enough |
60 (1.9%) |
15 (2.5%) |
75 (2.0%) |
|
| Refused |
469 (14%) |
133 (22%) |
602 (16%) |
|
| Limit crim record: ability to judge |
|
|
|
<0.001 |
| Strongly agree |
828 (26%) |
127 (21%) |
955 (25%) |
|
| Agree |
120 (3.7%) |
21 (3.5%) |
141 (3.7%) |
|
| Neither agree nor disagree |
365 (11%) |
20 (3.4%) |
386 (10%) |
|
| Disagree |
294 (9.1%) |
54 (9.0%) |
349 (9.1%) |
|
| Strongly disagree |
26 (0.8%) |
4 (0.7%) |
30 (0.8%) |
|
| I dont know enough |
1,566 (48%) |
369 (61%) |
1,935 (50%) |
|
| Refused |
36 (1.1%) |
5 (0.9%) |
41 (1.1%) |
|
| Limit crim record: a burden? |
|
|
|
<0.001 |
| Strongly agree |
658 (20%) |
105 (17%) |
763 (20%) |
|
| Agree |
152 (4.7%) |
14 (2.4%) |
166 (4.3%) |
|
| Neither agree nor disagree |
361 (11%) |
17 (2.9%) |
378 (9.9%) |
|
| Disagree |
339 (10%) |
52 (8.6%) |
391 (10%) |
|
| Strongly disagree |
28 (0.9%) |
5 (0.8%) |
32 (0.8%) |
|
| I dont know enough |
1,652 (51%) |
404 (67%) |
2,055 (54%) |
|
| Refused |
46 (1.4%) |
4 (0.7%) |
50 (1.3%) |
|
| Limit crim record: jeopardize safety |
|
|
|
<0.001 |
| Strongly agree |
759 (23%) |
141 (23%) |
899 (23%) |
|
| Agree |
179 (5.5%) |
15 (2.5%) |
194 (5.1%) |
|
| Neither agree nor disagree |
343 (11%) |
22 (3.7%) |
366 (9.5%) |
|
| Disagree |
656 (20%) |
70 (12%) |
726 (19%) |
|
| Strongly disagree |
29 (0.9%) |
5 (0.8%) |
34 (0.9%) |
|
| I dont know enough |
1,225 (38%) |
344 (57%) |
1,570 (41%) |
|
| Refused |
44 (1.4%) |
4 (0.6%) |
48 (1.2%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
POLICY ADAPTATION
Adopt more or strict requirements
- Have the rental regulations discussed above led you or your company
to adopt more strict rental requirements for your applicants?
- Which regulatory changes have led you or will lead you to adopt more
strict rental requirements for your applicants? (please check all that
apply)
- Limiting move-in fees/security deposits
- Allowing payment plans for move-in fees/security deposits
- First in Time
- Expanded source-of-income protections
- Limiting the use of criminal records in tenant screenings
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_adopt,
at_adopt1,
at_adopt2,
at_adopt3,
at_adopt4,
at_adopt5,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on adopting requirements (weighted)**")
| Characteristic |
Policy attitudes on adopting requirements (weighted)
|
p-value |
| small |
big |
Overall |
| Regulations make you adopt strict requirements |
|
|
|
<0.001 |
| Yes, already adopted |
711 (22%) |
110 (18%) |
821 (21%) |
|
| No, but plan to |
857 (26%) |
92 (15%) |
950 (25%) |
|
| No, no plans |
524 (16%) |
48 (7.9%) |
572 (15%) |
|
| Not sure |
48 (1.5%) |
7 (1.2%) |
55 (1.4%) |
|
| Refused |
1,095 (34%) |
344 (57%) |
1,439 (38%) |
|
| Adopt because of limiting fees |
|
|
|
0.16 |
| Limiting move-in fees/security deposits |
1,073 (98%) |
264 (99%) |
1,337 (98%) |
|
| Refused |
25 (2.3%) |
3 (1.1%) |
28 (2.1%) |
|
| Adopt becasue of payment plans |
|
|
|
0.11 |
| Allowing payment plans for move-in fees/ security deposits |
895 (97%) |
243 (99%) |
1,138 (98%) |
|
| Refused |
25 (2.7%) |
3 (1.2%) |
28 (2.4%) |
|
| Adopt because of first in time |
|
|
|
0.25 |
| First in Time |
1,706 (99%) |
368 (99%) |
2,074 (99%) |
|
| Refused |
25 (1.5%) |
3 (0.8%) |
28 (1.3%) |
|
| Adopt because of source of income |
|
|
|
0.17 |
| Expanded source-of-income protections |
804 (97%) |
195 (99%) |
999 (97%) |
|
| Refused |
25 (3.0%) |
3 (1.5%) |
28 (2.7%) |
|
| Adopt because of crim record |
|
|
|
0.18 |
| Limiting the use of criminal records in tenant screenings |
1,451 (98%) |
345 (99%) |
1,795 (98%) |
|
| Refused |
25 (1.7%) |
3 (0.8%) |
28 (1.5%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Intend to sell
- Have you or the owner of the units you have managed sold, or intend
to sell, any Seattle-based rental units because of the burden of the
recent rental regulations discussed above, or because of a fear of new
regulations?
- Please specify whether existing and/or possible new regulatory
changes have led or will lead you to sell some/all of your Seattle-based
rental units.
- Limiting move-in fees/security deposits
- Allowing payment plans for move-in fees/security deposits
- First in Time
- Expanded source-of-income protections
- Limiting the use of criminal records in tenant screenings
- Fear of new regulations (please describe) [NOT SHOWN]
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_sell,
at_sell1,
at_sell2,
at_sell3,
at_sell4,
at_sell5,
at_sell6,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Policy attitudes on intention to sell (weighted)**")
| Characteristic |
Policy attitudes on intention to sell (weighted)
|
p-value |
| small |
big |
Overall |
| Sell because of regulations |
|
|
|
<0.001 |
| Definitely yes |
597 (18%) |
66 (11%) |
663 (17%) |
|
| Probably yes |
478 (15%) |
159 (26%) |
637 (17%) |
|
| Unsure |
711 (22%) |
124 (21%) |
835 (22%) |
|
| Probably not |
710 (22%) |
137 (23%) |
847 (22%) |
|
| Definitely not |
19 (0.6%) |
0 (<0.1%) |
20 (0.5%) |
|
| Refused |
719 (22%) |
115 (19%) |
834 (22%) |
|
| Sell because of limiting fees |
|
|
|
0.93 |
| Limiting move-in fees/security deposits |
676 (99%) |
172 (99%) |
848 (99%) |
|
| Refused |
9 (1.4%) |
3 (1.4%) |
12 (1.4%) |
|
| Sell because of payment plans |
|
|
|
>0.99 |
| Allowing payment plans for move-in fees/ security deposits |
552 (98%) |
148 (98%) |
700 (98%) |
|
| Refused |
9 (1.7%) |
3 (1.7%) |
12 (1.7%) |
|
| Sell because of first in time |
|
|
|
0.83 |
| First in Time |
1,010 (99%) |
237 (99%) |
1,247 (99%) |
|
| Refused |
9 (0.9%) |
3 (1.1%) |
12 (0.9%) |
|
| Sell because of source of income |
|
|
|
0.89 |
| Expanded source-of-income protections |
514 (98%) |
127 (98%) |
641 (98%) |
|
| Refused |
9 (1.8%) |
3 (1.9%) |
12 (1.8%) |
|
| Sell because of crim record |
|
|
|
0.95 |
| Limiting the use of criminal records in tenant screenings |
956 (99%) |
248 (99%) |
1,205 (99%) |
|
| Refused |
9 (1.0%) |
3 (1.0%) |
12 (1.0%) |
|
| Sell because fear new regs. |
|
|
|
0.82 |
| Fear of new regulations (please describe) |
683 (99%) |
215 (99%) |
898 (99%) |
|
| Refused |
9 (1.3%) |
3 (1.2%) |
12 (1.3%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|
Landlord suggestions
- How strongly do you agree or disagree with this statement: The City
of Seattle should continue to pass ordinances to regulate the rental
housing market in Seattle?
- What should the City of Seattle’s ordinances target? (please check
all that apply)
- Increasing the overall supply of rental units
- Increasing the supply of low-cost/affordable housing
- Increasing access to affordable housing for protected classes
- Making it easier for landlords to end a lease
- Reducing financial risk to landlords providing affordable
housing
- Other (please specify) [NOT SHOWN]
- How strongly do you agree or disagree with this statement: Seattle
city officials take landlords’ perspectives into consideration when
making policy?
# WEIGHTED tables for landlord size and policy adaptation
svydesign(ids = ~ 1, data = coded_df, weights = coded_df$rrio_wt) %>%
tbl_svysummary(
by = ll_size,
percent = "col",
missing = "no",
include = c(at_city_continue,
at_target1,
at_target2,
at_target3,
at_target4,
at_target5,
at_target6,
at_city_consider,
temp_N, ll_size),
statistic = list(all_categorical() ~ "{n} ({p}%)")) %>%
add_p() %>%
bold_labels() %>%
modify_header(update = all_stat_cols() ~ "**{level}**") %>% # Remove the Ns from the header row
add_overall(col_label = "**Overall**", last = TRUE) %>%
modify_spanning_header(starts_with("stat_") ~ "**Opinion on city regulations (weighted)**")
| Characteristic |
Opinion on city regulations (weighted)
|
p-value |
| small |
big |
Overall |
| City should continue to regulate |
|
|
|
<0.001 |
| Strongly agree |
337 (10%) |
26 (4.3%) |
363 (9.5%) |
|
| Agree |
669 (21%) |
114 (19%) |
783 (20%) |
|
| Neither agree nor disagree |
158 (4.9%) |
14 (2.3%) |
172 (4.5%) |
|
| Disagree |
591 (18%) |
51 (8.5%) |
642 (17%) |
|
| Strongly disagree |
18 (0.5%) |
2 (0.3%) |
19 (0.5%) |
|
| I dont know enough |
101 (3.1%) |
15 (2.5%) |
117 (3.0%) |
|
| Refused |
1,361 (42%) |
379 (63%) |
1,740 (45%) |
|
| City target increase all supply |
|
|
|
0.68 |
| Increasing the overall supply of rental units |
212 (99%) |
18 (100%) |
230 (99%) |
|
| Refused |
2 (0.9%) |
0 (0%) |
2 (0.8%) |
|
| City target increase low income supply |
|
|
|
0.67 |
| Increasing the supply of low-cost/affordable housing |
368 (99%) |
33 (100%) |
401 (100%) |
|
| Refused |
2 (0.5%) |
0 (0%) |
2 (0.5%) |
|
| City target access to affordable housing |
|
|
|
0.72 |
| Increasing access to affordable housing for protected classes |
259 (99%) |
17 (100%) |
276 (99%) |
|
| Refused |
2 (0.7%) |
0 (0%) |
2 (0.7%) |
|
| City target ease for LL to end lease |
|
|
|
0.68 |
| Making it easier for landlords to end a lease |
107 (98%) |
9 (100%) |
116 (98%) |
|
| Refused |
2 (1.7%) |
0 (0%) |
2 (1.6%) |
|
| City target reducing risk for LL affordable housing |
|
|
|
0.69 |
| Reducing financial risk to landlords providing affordable housing |
255 (99%) |
20 (100%) |
275 (99%) |
|
| Refused |
2 (0.7%) |
0 (0%) |
2 (0.7%) |
|
| City target other |
|
|
|
0.58 |
| Other |
47 (96%) |
7 (100%) |
54 (97%) |
|
| Refused |
2 (3.9%) |
0 (0%) |
2 (3.4%) |
|
| City should consider LL perspective |
|
|
|
<0.001 |
| Strongly agree |
236 (7.3%) |
19 (3.2%) |
255 (6.6%) |
|
| Agree |
747 (23%) |
111 (19%) |
859 (22%) |
|
| Neither agree nor disagree |
263 (8.1%) |
19 (3.1%) |
282 (7.3%) |
|
| Disagree |
342 (11%) |
33 (5.6%) |
375 (9.8%) |
|
| Strongly disagree |
14 (0.4%) |
0 (<0.1%) |
15 (0.4%) |
|
| I dont know enough |
150 (4.6%) |
22 (3.6%) |
172 (4.5%) |
|
| Refused |
1,483 (46%) |
396 (66%) |
1,879 (49%) |
|
| temp_N |
3,235 (100%) |
601 (100%) |
3,836 (100%) |
|