follow up first commit

This commit is contained in:
zakariasaputra committed 2026-07-29 14:57:14 +07:00
1 parent c666715e29
commit 3750799dab
48 files changed
+5257

No files matched your search

@@ -0,0 +1,34 @@
# Manual + IoT historical labels (for review)
**File:** `historical_weights_manual_iot_review.csv`
This file is the production consensus label source (`csv_path` in `configs/weight_cc2_cc3.yaml`).
## Sources
| Column | Source |
|--------|--------|
| `manual_avg_g` | `historical_weights_avg.csv` → Berat Aktual (g) |
| `iot_avg_g` | `data_cycle7.jpeg` → AVG IOT column (days 1–37) |
| Day 0 Manual 32 g | DOC / Age-0 Manual from sampling sheet |
## Proposed consensus rule (draft)
| Situation | Proposed target | Train weight | Flag |
|-----------|-----------------|--------------|------|
| Manual & IoT gap ≤ 5% | mean(Manual, IoT) | 1.0 | AGREE |
| Gap 5–10% | mean(Manual, IoT) | 0.5 | MODERATE_GAP |
| Gap > 10% | mean(Manual, IoT) | 0.25 | LARGE_GAP_DOWNWEIGHT |
| Manual only | Manual | 0.7 | MANUAL_ONLY |
| IoT only | IoT | 0.7 | IOT_ONLY |
| Day 0 DOC | Manual 32 | 0.0 | DOC_REFERENCE_ONLY |
## How to review
Fill these columns:
- `reviewer_decision`: `keep` / `exclude` / `prefer_manual` / `prefer_iot` / `custom`
- `reviewer_target_g`: only if `custom` or override
- `reviewer_notes`: free text
After review, we can freeze a clean training labels CSV from your decisions.
@@ -0,0 +1,49 @@
cycle_day,date,doc_date,doc_weight_g,cycle_id,manual_avg_g,manual_source,iot_avg_g,iot_source,iot_minus_manual_g,abs_gap_g,rel_gap_pct,proposed_target_g,proposed_target_method,proposed_train_weight,proposed_use_in_train,review_flag,review_note,reviewer_decision,reviewer_target_g,reviewer_notes
0,2026-05-22,2026-05-22,32.0,cycle7,32.0,DOC / Age-0 Manual,,missing,,,,32.0,doc_manual_only,0.0,False,DOC_REFERENCE_ONLY,DOC / age-0 reference; not used as vision training day,,,
1,2026-05-23,2026-05-22,32.0,cycle7,47.0,Manual,48.0,data_cycle7.jpeg AVG IOT,1.0,1.0,2.083333333333333,47.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.1%),,,
2,2026-05-24,2026-05-22,32.0,cycle7,60.0,Manual,58.0,data_cycle7.jpeg AVG IOT,-2.0,2.0,3.3333333333333335,59.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.3%),,,
3,2026-05-25,2026-05-22,32.0,cycle7,78.0,Manual,75.0,data_cycle7.jpeg AVG IOT,-3.0,3.0,3.8461538461538463,76.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.8%),,,
4,2026-05-26,2026-05-22,32.0,cycle7,96.0,Manual,93.0,data_cycle7.jpeg AVG IOT,-3.0,3.0,3.125,94.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.1%),,,
5,2026-05-27,2026-05-22,32.0,cycle7,115.0,Manual,118.0,data_cycle7.jpeg AVG IOT,3.0,3.0,2.5423728813559325,116.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.5%),,,
6,2026-05-28,2026-05-22,32.0,cycle7,131.0,Manual,137.0,data_cycle7.jpeg AVG IOT,6.0,6.0,4.37956204379562,134.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=4.4%),,,
7,2026-05-29,2026-05-22,32.0,cycle7,152.0,Manual,174.0,data_cycle7.jpeg AVG IOT,22.0,22.0,12.643678160919542,163.0,mean_manual_iot_large_gap_downweighted,0.25,True,LARGE_GAP_DOWNWEIGHT,Large Manual–IoT gap 12.6% (22.0 g); use mean at weight 0.25,,,
8,2026-05-30,2026-05-22,32.0,cycle7,176.0,Manual,198.0,data_cycle7.jpeg AVG IOT,22.0,22.0,11.11111111111111,187.0,mean_manual_iot_large_gap_downweighted,0.25,True,LARGE_GAP_DOWNWEIGHT,Large Manual–IoT gap 11.1% (22.0 g); use mean at weight 0.25,,,
9,2026-05-31,2026-05-22,32.0,cycle7,201.0,Manual,204.0,data_cycle7.jpeg AVG IOT,3.0,3.0,1.4705882352941175,202.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=1.5%),,,
10,2026-06-01,2026-05-22,32.0,cycle7,232.0,Manual,241.0,data_cycle7.jpeg AVG IOT,9.0,9.0,3.7344398340248963,236.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.7%),,,
11,2026-06-02,2026-05-22,32.0,cycle7,263.0,Manual,265.0,data_cycle7.jpeg AVG IOT,2.0,2.0,0.7547169811320755,264.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.8%),,,
12,2026-06-03,2026-05-22,32.0,cycle7,312.0,Manual,307.0,data_cycle7.jpeg AVG IOT,-5.0,5.0,1.6025641025641024,309.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=1.6%),,,
13,2026-06-04,2026-05-22,32.0,cycle7,367.0,Manual,357.0,data_cycle7.jpeg AVG IOT,-10.0,10.0,2.7247956403269753,362.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.7%),,,
14,2026-06-05,2026-05-22,32.0,cycle7,430.0,Manual,420.0,data_cycle7.jpeg AVG IOT,-10.0,10.0,2.3255813953488373,425.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.3%),,,
15,2026-06-06,2026-05-22,32.0,cycle7,492.0,Manual,473.0,data_cycle7.jpeg AVG IOT,-19.0,19.0,3.861788617886179,482.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.9%),,,
16,2026-06-07,2026-05-22,32.0,cycle7,551.0,Manual,536.0,data_cycle7.jpeg AVG IOT,-15.0,15.0,2.722323049001815,543.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.7%),,,
17,2026-06-08,2026-05-22,32.0,cycle7,610.0,Manual,614.0,data_cycle7.jpeg AVG IOT,4.0,4.0,0.6514657980456027,612.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.7%),,,
18,2026-06-09,2026-05-22,32.0,cycle7,669.0,Manual,679.0,data_cycle7.jpeg AVG IOT,10.0,10.0,1.4727540500736376,674.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=1.5%),,,
19,2026-06-10,2026-05-22,32.0,cycle7,678.0,Manual,734.0,data_cycle7.jpeg AVG IOT,56.0,56.0,7.629427792915531,706.0,mean_manual_iot_downweighted,0.5,True,MODERATE_GAP,Moderate Manual–IoT gap 7.6%; proposed half weight,,,
20,2026-06-11,2026-05-22,32.0,cycle7,763.0,Manual,743.0,data_cycle7.jpeg AVG IOT,-20.0,20.0,2.621231979030144,753.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.6%),,,
21,2026-06-12,2026-05-22,32.0,cycle7,873.0,Manual,869.0,data_cycle7.jpeg AVG IOT,-4.0,4.0,0.45819014891179843,871.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.5%),,,
22,2026-06-13,2026-05-22,32.0,cycle7,940.0,Manual,942.0,data_cycle7.jpeg AVG IOT,2.0,2.0,0.21231422505307856,941.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.2%),,,
23,2026-06-14,2026-05-22,32.0,cycle7,1010.0,Manual,1014.0,data_cycle7.jpeg AVG IOT,4.0,4.0,0.39447731755424065,1012.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.4%),,,
24,2026-06-15,2026-05-22,32.0,cycle7,1052.0,Manual,1075.0,data_cycle7.jpeg AVG IOT,23.0,23.0,2.1395348837209305,1063.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.1%),,,
25,2026-06-16,2026-05-22,32.0,cycle7,1118.0,Manual,1125.0,data_cycle7.jpeg AVG IOT,7.0,7.0,0.6222222222222222,1121.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.6%),,,
26,2026-06-17,2026-05-22,32.0,cycle7,1143.0,Manual,1225.0,data_cycle7.jpeg AVG IOT,82.0,82.0,6.693877551020408,1184.0,mean_manual_iot_downweighted,0.5,True,MODERATE_GAP,Moderate Manual–IoT gap 6.7%; proposed half weight,,,
27,2026-06-18,2026-05-22,32.0,cycle7,1192.5,Manual,1350.0,data_cycle7.jpeg AVG IOT,157.5,157.5,11.666666666666666,1271.25,mean_manual_iot_large_gap_downweighted,0.25,True,LARGE_GAP_DOWNWEIGHT,Large Manual–IoT gap 11.7% (157.5 g); use mean at weight 0.25,,,
28,2026-06-19,2026-05-22,32.0,cycle7,1297.5,Manual,1350.0,data_cycle7.jpeg AVG IOT,52.5,52.5,3.888888888888889,1323.75,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.9%),,,
29,2026-06-20,2026-05-22,32.0,cycle7,1360.0,Manual,1425.0,data_cycle7.jpeg AVG IOT,65.0,65.0,4.56140350877193,1392.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=4.6%),,,
30,2026-06-21,2026-05-22,32.0,cycle7,1422.5,Manual,1475.0,data_cycle7.jpeg AVG IOT,52.5,52.5,3.5593220338983054,1448.75,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.6%),,,
31,2026-06-22,2026-05-22,32.0,cycle7,1442.5,Manual,1525.0,data_cycle7.jpeg AVG IOT,82.5,82.5,5.409836065573771,1483.75,mean_manual_iot_downweighted,0.5,True,MODERATE_GAP,Moderate Manual–IoT gap 5.4%; proposed half weight,,,
32,2026-06-23,2026-05-22,32.0,cycle7,1525.0,Manual,1581.0,data_cycle7.jpeg AVG IOT,56.0,56.0,3.542061986084757,1553.0,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=3.5%),,,
33,2026-06-24,2026-05-22,32.0,cycle7,1647.5,Manual,1615.0,data_cycle7.jpeg AVG IOT,-32.5,32.5,1.9726858877086493,1631.25,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=2.0%),,,
34,2026-06-25,2026-05-22,32.0,cycle7,1697.5,Manual,1689.8,data_cycle7.jpeg AVG IOT,-7.7000000000000455,7.7000000000000455,0.4536082474226831,1693.65,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=0.5%),,,
35,2026-06-26,2026-05-22,32.0,cycle7,1720.0,Manual,1584.5,data_cycle7.jpeg AVG IOT,-135.5,135.5,7.877906976744187,1652.25,mean_manual_iot_downweighted,0.5,True,MODERATE_GAP,Moderate Manual–IoT gap 7.9%; proposed half weight,,,
36,2026-06-27,2026-05-22,32.0,cycle7,1350.0,Manual,1421.0,data_cycle7.jpeg AVG IOT,71.0,71.0,4.9964813511611545,1385.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=5.0%),,,
37,2026-06-28,2026-05-22,32.0,cycle7,1370.0,Manual,1395.0,data_cycle7.jpeg AVG IOT,25.0,25.0,1.7921146953405016,1382.5,mean_manual_iot,1.0,True,AGREE,Manual and IoT within 5% (gap=1.8%),,,
38,2026-06-29,2026-05-22,32.0,cycle7,1340.0,Manual,,missing,,,,1340.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
39,2026-06-30,2026-05-22,32.0,cycle7,1350.0,Manual,,missing,,,,1350.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
40,2026-07-01,2026-05-22,32.0,cycle7,1360.0,Manual,,missing,,,,1360.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
41,2026-07-02,2026-05-22,32.0,cycle7,1370.0,Manual,,missing,,,,1370.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
42,2026-07-03,2026-05-22,32.0,cycle7,1380.0,Manual,,missing,,,,1380.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
43,2026-07-04,2026-05-22,32.0,cycle7,1390.0,Manual,,missing,,,,1390.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
44,2026-07-05,2026-05-22,32.0,cycle7,1400.0,Manual,,missing,,,,1400.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
45,2026-07-06,2026-05-22,32.0,cycle7,1450.0,Manual,,missing,,,,1450.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
46,2026-07-07,2026-05-22,32.0,cycle7,1510.0,Manual,,missing,,,,1510.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
47,2026-07-08,2026-05-22,32.0,cycle7,1610.0,Manual,,missing,,,,1610.0,manual_only,0.7,True,MANUAL_ONLY,IoT missing; use Manual at reduced weight 0.7,,,
1 cycle_day date doc_date doc_weight_g cycle_id manual_avg_g manual_source iot_avg_g iot_source iot_minus_manual_g abs_gap_g rel_gap_pct proposed_target_g proposed_target_method proposed_train_weight proposed_use_in_train review_flag review_note reviewer_decision reviewer_target_g reviewer_notes
2 0 2026-05-22 2026-05-22 32.0 cycle7 32.0 DOC / Age-0 Manual missing 32.0 doc_manual_only 0.0 False DOC_REFERENCE_ONLY DOC / age-0 reference; not used as vision training day
3 1 2026-05-23 2026-05-22 32.0 cycle7 47.0 Manual 48.0 data_cycle7.jpeg AVG IOT 1.0 1.0 2.083333333333333 47.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.1%)
4 2 2026-05-24 2026-05-22 32.0 cycle7 60.0 Manual 58.0 data_cycle7.jpeg AVG IOT -2.0 2.0 3.3333333333333335 59.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.3%)
5 3 2026-05-25 2026-05-22 32.0 cycle7 78.0 Manual 75.0 data_cycle7.jpeg AVG IOT -3.0 3.0 3.8461538461538463 76.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.8%)
6 4 2026-05-26 2026-05-22 32.0 cycle7 96.0 Manual 93.0 data_cycle7.jpeg AVG IOT -3.0 3.0 3.125 94.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.1%)
7 5 2026-05-27 2026-05-22 32.0 cycle7 115.0 Manual 118.0 data_cycle7.jpeg AVG IOT 3.0 3.0 2.5423728813559325 116.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.5%)
8 6 2026-05-28 2026-05-22 32.0 cycle7 131.0 Manual 137.0 data_cycle7.jpeg AVG IOT 6.0 6.0 4.37956204379562 134.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=4.4%)
9 7 2026-05-29 2026-05-22 32.0 cycle7 152.0 Manual 174.0 data_cycle7.jpeg AVG IOT 22.0 22.0 12.643678160919542 163.0 mean_manual_iot_large_gap_downweighted 0.25 True LARGE_GAP_DOWNWEIGHT Large Manual–IoT gap 12.6% (22.0 g); use mean at weight 0.25
10 8 2026-05-30 2026-05-22 32.0 cycle7 176.0 Manual 198.0 data_cycle7.jpeg AVG IOT 22.0 22.0 11.11111111111111 187.0 mean_manual_iot_large_gap_downweighted 0.25 True LARGE_GAP_DOWNWEIGHT Large Manual–IoT gap 11.1% (22.0 g); use mean at weight 0.25
11 9 2026-05-31 2026-05-22 32.0 cycle7 201.0 Manual 204.0 data_cycle7.jpeg AVG IOT 3.0 3.0 1.4705882352941175 202.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=1.5%)
12 10 2026-06-01 2026-05-22 32.0 cycle7 232.0 Manual 241.0 data_cycle7.jpeg AVG IOT 9.0 9.0 3.7344398340248963 236.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.7%)
13 11 2026-06-02 2026-05-22 32.0 cycle7 263.0 Manual 265.0 data_cycle7.jpeg AVG IOT 2.0 2.0 0.7547169811320755 264.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.8%)
14 12 2026-06-03 2026-05-22 32.0 cycle7 312.0 Manual 307.0 data_cycle7.jpeg AVG IOT -5.0 5.0 1.6025641025641024 309.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=1.6%)
15 13 2026-06-04 2026-05-22 32.0 cycle7 367.0 Manual 357.0 data_cycle7.jpeg AVG IOT -10.0 10.0 2.7247956403269753 362.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.7%)
16 14 2026-06-05 2026-05-22 32.0 cycle7 430.0 Manual 420.0 data_cycle7.jpeg AVG IOT -10.0 10.0 2.3255813953488373 425.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.3%)
17 15 2026-06-06 2026-05-22 32.0 cycle7 492.0 Manual 473.0 data_cycle7.jpeg AVG IOT -19.0 19.0 3.861788617886179 482.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.9%)
18 16 2026-06-07 2026-05-22 32.0 cycle7 551.0 Manual 536.0 data_cycle7.jpeg AVG IOT -15.0 15.0 2.722323049001815 543.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.7%)
19 17 2026-06-08 2026-05-22 32.0 cycle7 610.0 Manual 614.0 data_cycle7.jpeg AVG IOT 4.0 4.0 0.6514657980456027 612.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.7%)
20 18 2026-06-09 2026-05-22 32.0 cycle7 669.0 Manual 679.0 data_cycle7.jpeg AVG IOT 10.0 10.0 1.4727540500736376 674.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=1.5%)
21 19 2026-06-10 2026-05-22 32.0 cycle7 678.0 Manual 734.0 data_cycle7.jpeg AVG IOT 56.0 56.0 7.629427792915531 706.0 mean_manual_iot_downweighted 0.5 True MODERATE_GAP Moderate Manual–IoT gap 7.6%; proposed half weight
22 20 2026-06-11 2026-05-22 32.0 cycle7 763.0 Manual 743.0 data_cycle7.jpeg AVG IOT -20.0 20.0 2.621231979030144 753.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.6%)
23 21 2026-06-12 2026-05-22 32.0 cycle7 873.0 Manual 869.0 data_cycle7.jpeg AVG IOT -4.0 4.0 0.45819014891179843 871.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.5%)
24 22 2026-06-13 2026-05-22 32.0 cycle7 940.0 Manual 942.0 data_cycle7.jpeg AVG IOT 2.0 2.0 0.21231422505307856 941.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.2%)
25 23 2026-06-14 2026-05-22 32.0 cycle7 1010.0 Manual 1014.0 data_cycle7.jpeg AVG IOT 4.0 4.0 0.39447731755424065 1012.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.4%)
26 24 2026-06-15 2026-05-22 32.0 cycle7 1052.0 Manual 1075.0 data_cycle7.jpeg AVG IOT 23.0 23.0 2.1395348837209305 1063.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.1%)
27 25 2026-06-16 2026-05-22 32.0 cycle7 1118.0 Manual 1125.0 data_cycle7.jpeg AVG IOT 7.0 7.0 0.6222222222222222 1121.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.6%)
28 26 2026-06-17 2026-05-22 32.0 cycle7 1143.0 Manual 1225.0 data_cycle7.jpeg AVG IOT 82.0 82.0 6.693877551020408 1184.0 mean_manual_iot_downweighted 0.5 True MODERATE_GAP Moderate Manual–IoT gap 6.7%; proposed half weight
29 27 2026-06-18 2026-05-22 32.0 cycle7 1192.5 Manual 1350.0 data_cycle7.jpeg AVG IOT 157.5 157.5 11.666666666666666 1271.25 mean_manual_iot_large_gap_downweighted 0.25 True LARGE_GAP_DOWNWEIGHT Large Manual–IoT gap 11.7% (157.5 g); use mean at weight 0.25
30 28 2026-06-19 2026-05-22 32.0 cycle7 1297.5 Manual 1350.0 data_cycle7.jpeg AVG IOT 52.5 52.5 3.888888888888889 1323.75 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.9%)
31 29 2026-06-20 2026-05-22 32.0 cycle7 1360.0 Manual 1425.0 data_cycle7.jpeg AVG IOT 65.0 65.0 4.56140350877193 1392.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=4.6%)
32 30 2026-06-21 2026-05-22 32.0 cycle7 1422.5 Manual 1475.0 data_cycle7.jpeg AVG IOT 52.5 52.5 3.5593220338983054 1448.75 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.6%)
33 31 2026-06-22 2026-05-22 32.0 cycle7 1442.5 Manual 1525.0 data_cycle7.jpeg AVG IOT 82.5 82.5 5.409836065573771 1483.75 mean_manual_iot_downweighted 0.5 True MODERATE_GAP Moderate Manual–IoT gap 5.4%; proposed half weight
34 32 2026-06-23 2026-05-22 32.0 cycle7 1525.0 Manual 1581.0 data_cycle7.jpeg AVG IOT 56.0 56.0 3.542061986084757 1553.0 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=3.5%)
35 33 2026-06-24 2026-05-22 32.0 cycle7 1647.5 Manual 1615.0 data_cycle7.jpeg AVG IOT -32.5 32.5 1.9726858877086493 1631.25 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=2.0%)
36 34 2026-06-25 2026-05-22 32.0 cycle7 1697.5 Manual 1689.8 data_cycle7.jpeg AVG IOT -7.7000000000000455 7.7000000000000455 0.4536082474226831 1693.65 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=0.5%)
37 35 2026-06-26 2026-05-22 32.0 cycle7 1720.0 Manual 1584.5 data_cycle7.jpeg AVG IOT -135.5 135.5 7.877906976744187 1652.25 mean_manual_iot_downweighted 0.5 True MODERATE_GAP Moderate Manual–IoT gap 7.9%; proposed half weight
38 36 2026-06-27 2026-05-22 32.0 cycle7 1350.0 Manual 1421.0 data_cycle7.jpeg AVG IOT 71.0 71.0 4.9964813511611545 1385.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=5.0%)
39 37 2026-06-28 2026-05-22 32.0 cycle7 1370.0 Manual 1395.0 data_cycle7.jpeg AVG IOT 25.0 25.0 1.7921146953405016 1382.5 mean_manual_iot 1.0 True AGREE Manual and IoT within 5% (gap=1.8%)
40 38 2026-06-29 2026-05-22 32.0 cycle7 1340.0 Manual missing 1340.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
41 39 2026-06-30 2026-05-22 32.0 cycle7 1350.0 Manual missing 1350.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
42 40 2026-07-01 2026-05-22 32.0 cycle7 1360.0 Manual missing 1360.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
43 41 2026-07-02 2026-05-22 32.0 cycle7 1370.0 Manual missing 1370.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
44 42 2026-07-03 2026-05-22 32.0 cycle7 1380.0 Manual missing 1380.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
45 43 2026-07-04 2026-05-22 32.0 cycle7 1390.0 Manual missing 1390.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
46 44 2026-07-05 2026-05-22 32.0 cycle7 1400.0 Manual missing 1400.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
47 45 2026-07-06 2026-05-22 32.0 cycle7 1450.0 Manual missing 1450.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
48 46 2026-07-07 2026-05-22 32.0 cycle7 1510.0 Manual missing 1510.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7
49 47 2026-07-08 2026-05-22 32.0 cycle7 1610.0 Manual missing 1610.0 manual_only 0.7 True MANUAL_ONLY IoT missing; use Manual at reduced weight 0.7