Preliminary Survey :

N <- 100
M = 900
Mbar <- M/N

f <- c(3/6, 2/6, 1/2, 1/2, 2/2, 1/2,  1/2, 0/2, 6/8, 0/2, 0/2, 8/8, 7/8, 4/4, 4/4, 4/4, 2/4, 1/6, 1/10, 2/4, 6/10, 6/10, 4/8, 8/12)


mi <- c(6, 6, 2, 2, 2, 2, 2, 2, 8, 2, 2, 8, 8, 4, 4, 4, 4,6,10,4,10, 10,8,12)
ai <- c(3, 2, 1, 1, 2, 1, 1, 0, 6, 0, 0, 8, 7, 4,4,4,2,1,1,2,6,6,4,8) 
mbar <- mean(mi)

phat_per <- ai/mi
phat <- mean(phat_per)

# est variance  :
sp2 <- sum((ai - phat*mi)^2)/(length(mi)-1)
B <- .1 # off by 5 pct : bound-of-err
D <- ((B^2)*mbar^2)/4
n_est <- (N*sp2)/(N*D + sp2)
n_est <- ceiling(n_est) #round to nxt whole 

Drawing Sample :

set.seed(123)
samp <- sample(1:100, 30)

samp |> as.data.frame() # True Order 
##    samp
## 1    31
## 2    79
## 3    51
## 4    14
## 5    67
## 6    42
## 7    50
## 8    43
## 9    97
## 10   25
## 11   90
## 12   69
## 13   57
## 14    9
## 15   72
## 16   26
## 17    7
## 18   95
## 19   87
## 20   36
## 21   78
## 22   93
## 23   76
## 24   15
## 25   32
## 26   84
## 27   82
## 28   41
## 29   23
## 30   27
# samp |> as.data.frame() |> dplyr::arrange(samp)

df <- samp |> 
  as.data.frame() |>
  dplyr::arrange(samp) |> 
  dplyr::mutate(
    day = rep(c("Mon", "Tue", "Wed", "Thu", "Fri"), each = 6)
  )
mi <- 
  c(10, 10, 10, 8, 8,8,4,8,8,4,4,2,2,2,8,12,12,12,14,14,10,10,2,10,2,2,2,10,10,2)

df <- cbind(df, mi)

c <- 
  c(4,4,6,4,4,4,2,1,4,2,1,1,1,0,7,6,4,8,7,6,4,6,1,4,1,1,1,4,5,1)

df <- cbind(df, c)
p <- mean(c/mi) # amt chairs used 
phat <- 1-p # amt not used 
library(dplyr)
df <- df |> mutate(ai=mi-c)
df <- df |> dplyr::mutate(p=ai/mi)
df <- df |> select(-c) |> select(day, samp, ai, mi, p)
df
##    day samp ai mi         p
## 1  Mon    7  6 10 0.6000000
## 2  Mon    9  6 10 0.6000000
## 3  Mon   14  4 10 0.4000000
## 4  Mon   15  4  8 0.5000000
## 5  Mon   23  4  8 0.5000000
## 6  Mon   25  4  8 0.5000000
## 7  Tue   26  2  4 0.5000000
## 8  Tue   27  7  8 0.8750000
## 9  Tue   31  4  8 0.5000000
## 10 Tue   32  2  4 0.5000000
## 11 Tue   36  3  4 0.7500000
## 12 Tue   41  1  2 0.5000000
## 13 Wed   42  1  2 0.5000000
## 14 Wed   43  2  2 1.0000000
## 15 Wed   50  1  8 0.1250000
## 16 Wed   51  6 12 0.5000000
## 17 Wed   57  8 12 0.6666667
## 18 Wed   67  4 12 0.3333333
## 19 Thu   69  7 14 0.5000000
## 20 Thu   72  8 14 0.5714286
## 21 Thu   76  6 10 0.6000000
## 22 Thu   78  4 10 0.4000000
## 23 Thu   79  1  2 0.5000000
## 24 Thu   82  6 10 0.6000000
## 25 Fri   84  1  2 0.5000000
## 26 Fri   87  1  2 0.5000000
## 27 Fri   90  1  2 0.5000000
## 28 Fri   93  6 10 0.6000000
## 29 Fri   95  5 10 0.5000000
## 30 Fri   97  1  2 0.5000000