Allocation Run
Upload the exported survey result Excel file or run the bundled dummy data.
Step Progress
Progress updates as each allocation step reports its result.
Final Room Allocation
Each row summarizes one room and lists its four student places.
Run an allocation to render room rows.
Select a room to inspect the students' raw survey result rows.
Room Scores
Lower room score means lower average pair penalty.
How allocation works
- Survey answers are converted into comparable scores for chronotype, environment, hygiene, social behavior, and conflict handling.
- Students are only compared with same-sex students, then pair penalties are calculated. Lower penalties mean the pair is more compatible.
- The allocator forms four-person rooms by starting with chronotype-sensitive students and choosing the lowest-penalty same-sex candidates.
- Room score is the average pair penalty inside that room. Lower is better; a partial leftover room is still shown if the count is not divisible by four.
- If room swap is enabled, the dashboard tries same-sex one-for-one swaps to make room scores more even across the final allocation.
User Score Preview
Scores calculated from each SurveyResponse method.
Pair Penalty Preview
Highest same-sex pair penalties, capped for readability.
How scores become room allocations
Compatibility is calculated from survey answers, then applied in a controlled same-sex allocation process.
Input
Survey answers
Q1-Q27, participation, sex and height
Compatibility score modules
Chronotype
Wake and sleep timing, regularity, early and late tolerance
Environment
Temperature, light, noise and smoking tolerance
Hygiene
Shower, laundry and cleaning habits plus tolerance
Social
Sociability, visitors and conflict handling
Repeated Q27 priorities increase the weight of their selected module.
Compare
Same-sex pair penalty
Weighted average of the four module penalties. Lower is more compatible.
Allocation process
- Separate male and female cohorts Only students in the same cohort are compared and placed together.
- Reserve extra-long-bed rooms Eligible students are ordered by height. One priority bed per room.
- Allocate participation A and B Survey participants use compatibility scores. Opt-outs are randomly placed within cohort.
- Form rooms, then optionally swap Greedy four-person rooms can be refined with same-sex one-for-one swaps.
- Final room allocation Room score, bed status and any missing extra-long-bed need are reported.
Score and allocation formula reference
These formulas match the calculation used by the allocator. Lower penalties and room scores are better.
avg(x) is the arithmetic mean. N(x; low, high) = (x - low) / (high - low). |x| is absolute difference.
Derived student scores
- Wake score
max(class-day wake, free-day wake)- Sleep score
max(class-day sleep, free-day sleep)- Wake / sleep consistency
6 - |class-day score - free-day score|- Early / late tolerance
avg(acceptable class-day, acceptable free-day)- Temperature deviation
avg(summer deviation, winter deviation)- Noise tolerance
avg(sleep noise, study noise, noise-rule tolerance)- Hygiene / hygiene tolerance
avg(shower, laundry, cleaning)for own habits and acceptable roommate levels.- Conflict score
WAvg(N(earlyTol;1,6)wC, N(lateTol;1,6)wC, N(light;1,5)wE, N(noise;1,5)wE, N(smoke;1,5)wE, N(hygTol;1,5)wH, N(visitor;1,5)wS, N(resolution;0,3))
Compatibility-module penalties
- Chronotype
PC avg(|wakea-wakeb|/5, |sleepa-sleepb|/5, |wakeConsa-wakeConsb|/5, |sleepConsa-sleepConsb|/5, earlyGap, lateGap)- Environment
PE avg(|tempa-tempb|/5, |lighta-lightb|/4, |noisea-noiseb|/4, |smokea-smokeb|/4)- Hygiene
PH avg(|hygienea-hygieneb|/4, max(0, hygTolb-hygienea)/4, max(0, hygTola-hygieneb)/4)- Social
PS avg(|sociala-socialb|/4, max(0, sociala-socialTolb)/4, max(0, socialb-socialTola)/4, 1-avg(conflicta, conflictb))- Activity gap
gap = N(activity difference + 1; 1, 6) × (1 - N(roommate tolerance; 1, 6)). This is used for early and late activity.
Priority, pair penalty and room score
- Student module weight
wm - For v2:
max(1, 4[first=m] + 3[second=m] + 2[third=m]). Repeated Q27 choices accumulate. Legacy rank data uses5-rank. - Pair module weight
Wm (wa,m + wb,m) / 2- Pair penalty
(PCWC + PEWE + PHWH + PSWS) / (WC + WE + WH + WS)- Room score for n students
sum(all within-room pair penalties) / C(n, 2). A room with fewer than two students has score0.- Overall allocation score
avg(all room scores)