PHPMem v2.0.1
Version
1.6.45
Uptime
15 days 12 hours 51 minutes 36 seconds
Memory
Total
512MB
Used
9,60MB (1.88%)
Free
502,40MB
Keys
Current
11 842
Total (since start)
35 066
Evictions
0
Reclaimed
731
Expired Unfetched
0
Evicted Unfetched
0
Connections
Current
14 / 1 024 max
Total
173 940
Rejected
0
llm:40bc33f939bc0b296d9b8963785bd00a7f6b87b5ff1aae33654cd8b4b5aa9441
Edit
**Overall, the data is clean, with one real inconsistency: the sleep-debt categories overlap on hours.** I found no nulls, duplicates, impossible values, mixed units or format variants.
**What checks out**
- **Completeness and keys:** All 8,500 rows have a distinct `user_id`, and every profiled column has 8,500 non-null values (step-0 profile).
- **Ranges are plausible and show no impossible values (step-0):**
- Age runs 18–65.
- Screen brightness is 10–100%.
- `blue_light_filter_active` is strictly 0/1.
- Caffeine after 5pm is 0–250 mg.
- Physical activity is 0–112 min.
- Alarm snoozes are 0–7.
- Fatigue is 1–10.
- Total sleep is 3.2–9.8 hours.
- Phone minutes at bedtime are 1–180.
- **Units look consistent:** Deep-sleep % (8.1–28) and REM % (9.6–27) are on the same percent scale. No row has deep + REM above 100 (`deep_rem_over100` = 0).
- **Categorical labels:** Counts for gender, chronotype, occupation, app and blue-light flag (step-1) show no spelling or case variants. The `user_id` check found no whitespace problems (`ws_ids` = 0).
**Issues and oddities**
1. **`sleep_debt_category` is not a clean function of `total_sleep_hours`.**
- Mild Deficit (6.75–7.74 h) and Optimal Recovery (7.75–9.8 h) split cleanly on hours.
- Severe Sleep Debt (3.2–5.38 h) and Moderate Debt (3.2–6.74 h) overlap heavily (step-3).
- Of the 4,462 Moderate rows, 207 sleep under 4 hours. 440 of the 647 Severe rows are also under 4 hours.
- Severe rows also have much longer sleep latency: average 72.7 min versus 42.4 for Moderate, and 104 of them exceed 90 min versus 13 for Moderate (step-2).
- The category was meant to be derived from hours alone. Either it also uses latency or another input, or labels are inconsistent. Don't re-derive or rely on it as an hours-based band until the rule is confirmed.
2. **Possible floor and ceiling clipping.** Total sleep hits exactly 3.2 as the minimum in both Severe and Moderate, which suggests a floor. Caffeine tops out at exactly 250 mg, and bedtime phone minutes run exactly 1–180. I didn't test whether values pile up at those limits, so treat this as a suspicion.
3. **Zero-inflated caffeine.** Summing the `zero_caf` counts in step-2 gives 4,950 of 8,500 rows (about 58%) with 0 mg after 5pm. That could be genuine non-consumers or a default fill for missing data, so be careful when modelling caffeine effects.
4. **Long-tail sleep latency.** The maximum is 123.3 min and the minimum is 6.0 min. The 99th percentile is 114 min for Severe and 82 min for Moderate (step-2). These are plausible but extreme, and they are concentrated in the Severe group.
5. **Small and imbalanced groups.** Non-Binary has 248 rows, and News/Reading has 596 against 2,198 for TikTok/Reels. Estimates for these groups will be noisy. This is a representativeness issue, not an error.
6. **Sensitive field.** `bedtime_phone_minutes` is flagged as person-identifying, so report it only in aggregate.
**Recommended next step:** Confirm how `sleep_debt_category` is generated, and check whether values pile up at 3.2 hours, 250 mg and 180 minutes. That would show whether those limits are caps or genuine measurements.