קלפי אחר קלפי

בליל הבחירות, תחזית המנדטים החיה שלי הוציאה מהכנסת מפלגה ערבית שכל סקרי המדגם נתנו לה שבעה מנדטים. זו לא הייתה טעות במודל.

מסות סטטיסטיקה בייסיאנית ישראל נתונים

ב-02:16 לפנות בוקר, שעון ישראל, bechirot.fyi/live התחיל להציג את ספירת הקולות בבחירות לכנסת ה-26. מעל הספירה הופיעה תחזית מנדטים: 120 המנדטים כפי שיתחלקו כשהכול ייספר. היא נתנה לליכוד 31, והשאירה את רע״ם, הרשימה הערבית המאוחדת, מתחת לאחוז החסימה, מחוץ לכנסת.

ארבע שעות קודם לכן, כל סקרי המדגם בטלוויזיה נתנו לרע״ם שבעה מנדטים.

יש שתי קריאות עצלות לפער כזה. האחת: סקרי המדגם טעו, כפי שהם טועים לפעמים. השנייה: התחזית טעתה, כפי שמודלים חדשים טועים בדרך כלל. שתיהן מדלגות על השאלה המועילה, שהיא על מה התחזית הסתכלה? והתשובה התבררה כך: כמעט על כלום, עם תווית של כמעט הכול.

הייתי בהונג קונג, שש שעות לפני ישראל, ושם סקרי המדגם יצאו בארבע לפנות בוקר. את האתר הפעיל סוכן קוד, Claude Code, לפי רשימת בדיקות שכתבנו מראש: אותו הרגל שכתבתי עליו בסדרה על ריסון סוכני קוד (באנגלית), הפעם על לילה אחד ולא על בסיס קוד. מה שבא להלן הוא מה שהוא מצא ומה שבנינו בשעות שאחר כך.

התחזית עברה חזרות על הקובץ הלא נכון

השיטה שמאחורי התחזית אינה אקזוטית. ועדת הבחירות המרכזית מפרסמת במהלך הספירה קובץ תוצאות, שורה לכל יישוב, שמתעדכן ככל שהקלפיות מדווחות. לכל יישוב שעוד לא נספר, התחזית חוזה את ההצבעה בו מתוך יישובים שהצביעו כמוהו בפעם הקודמת. היא עושה זאת ברגרסיה על כמה רכיבים עיקריים של התוצאות הקודמות של כל יישוב, ממיינת את היישובים לשני מחנות לפי האופן שבו הצביעו בעבר, ומתאימה את הכול לשינוי בשיעור ההצבעה שנראה ביישובים שכבר נספרו. היא נבדקה לאחור על ארבע בחירות קודמות, כשכל ספירה הורצה מחדש בכמה סדרים שונים, וטווח הטעות שלה נלקח מההרצות האלה.

כל זה עבר חזרות על הקובץ הסופי של הבחירות הקודמות, ב-2022. התחזית נכתבה כך שתשלים את היישובים שהקובץ מונה: הגנה סבירה, שנועדה למנוע מיישוב שאוחד מאז עם יישוב אחר להיספר פעמיים. היא הניחה שהקובץ מונה כל יישוב, בין שדיווח ובין שלא. רק הגרסה הסופית של קובץ 2022 נשמרה, כך שאיני יכול לבדוק היום אם זה היה נכון אי-פעם במהלך ספירה. הקוד פשוט הניח זאת.

קובץ 2026 מונה יישוב רק כשהוא מדווח. ב-02:14 היו בו 146 שורות. כלומר, “היישובים שהקובץ מונה” היו “היישובים שכבר נספרו”. התחזית השלימה בצייתנות כל יישוב שלא נספר ושהותר לה להשלים, כלומר אף לא אחד. אחר כך הציגה את 93,680 הקולות שקיבלה כ-“80% מהקולות הצפויים”. הנתון האמיתי היה פחות מ-2%.

מאחורי ההנחה הראשונה הסתתרה שנייה: שיישוב מופיע בקובץ כשהוא נספר במלואו. קובץ 2026 מדווח עליו ככל שהקלפיות שלו נכנסות. חיפה הופיעה בקובץ עם 12,907 קולות, חלק קטן מבעלי זכות הבחירה בה. התחזית התייחסה לכל יישוב ברשימה כאל יישוב שנספר במלואו. לכן היא קראה את הערים שנספרו למחצה כקריסה בשיעור ההצבעה, והקטינה את כל השאר בהתאם.

אף אחד מאלה אינו באג שאפשר למצוא בהתבוננות במודל. המודל היה תקין. העולם שבו הוא עבר חזרות לא היה העולם שאליו הוא נפרס, וההבדל היה בצורה של קובץ CSV. כתבתי בעבר (באנגלית) על מדידות שמחמיאות לדבר שבנית. זה בן הדוד של אותו כשל: חזרה שמחמיאה לך כי היא משחזרת את ההופעה הקודמת ולא את הבאה.

התיקון הראשון היה סירוב

תיקון שתי שגיאות הנתונים היה מהיר. יישוב שקיבל פחות מ-70% מהקולות שהיו לו בבחירות הקודמות נחשב לנספר חלקית: הקולות שלו הם רצפה, והשאר מושלם. רשימת היישובים בקובץ מגבילה את ההשלמה רק כשהקובץ מונה גם יישובים שעוד לא דיווחו.

עם שני התיקונים, סך הקולות בתחזית הגיע לכ-5.5 מיליון קולות כשרים, מספר סביר לשיעור הצבעה של 77.7%. היא עדיין נתנה לרע״ם אפס.

אז השתנתה השאלה המועילה, ממה לא בסדר בחשבון למה הדבר הזה יכול בכלל לדעת. המודל ממיין את היישובים לשני מחנות, שנלמדו מהצבעה בעבר. אחד מהם הוא, למעשה, היישובים עם רוב ערבי: נצרת, עכו, רהט, טייבה, סח׳נין. ב-02:14 דיווחו ארבעה מתוך 143 היישובים שבו, עם 1,523 קולות ביחד. רגרסיה שמתבקשת לחזות את הקולות של רע״ם ברהט מתוך מאה יישובים יהודיים קטנים וארבעה ערביים אינה מנבאת. היא מותחת את התמיכה במפלגה אל המקומות היחידים שאין לה עליהם שום ראיה.

לכן התיקון שבאמת היה חשוב היה שער: אין תחזית עד שבכל מחנה נספרו לפחות עשרה יישובים שלמים. עד אז העמוד מציג את המנדטים לפי הספירה, עם תווית שאומרת שזו הספירה עד כה, וזה כל מה שהנתונים יכולים לתמוך בו ביושר. הקוד המתוקן, כשהורץ על קובץ 02:14, הפיק בדיוק את התשובה שהיה צריך להפיק: כלום.

הדפוס שאני לומד שוב ושוב הוא שהדבר המועיל ביותר שאומד יכול לעשות בלילה קשה הוא לסרב. תחזית ששותקת כל עוד מגזר שלם מהבוחרים אינו נראה היא מכשיר טוב יותר מתחזית שמדברת בשם המגזר הזה באותו ביטחון שיש לה לגבי כל השאר.

מה עשו סקרי המדגם באחת בלילה

בזמן שהספירה זחלה, הערוצים המשיכו לעדכן את סקרי המדגם שלהם. חדשות 13 העלו את הליכוד מ-25 ל-27. ערוץ 14 הוריד את ישראל ביתנו אל מתחת לאחוז החסימה ונתן לגוש נתניהו 62. התגובה הראשונה שלי הייתה התגובה של כל קורא: איך הם כבר חוזים תוצאות סופיות?

הם לא חוזים מתוך הספירה כמו שהתחזית עושה. סקר מדגם בנוי מראיונות עם מצביעים שיוצאים ממדגם של קלפיות. כשאותן קלפיות נספרות, הסוקר רואה בכמה טעו הראיונות בקלפיות האלה: מסרבים, מצביעים ביישנים, מגזרים שהמראיינים דגמו פחות מדי. אחר כך הוא מתקן את הסקר כולו לפי הטעות הזו. שיעור ההצבעה הסופי נותן תיקון שני: הראיונות נעצרים לפני סגירת הקלפיות, ומי שמצביע מאוחר אינו מי שמצביע מוקדם. אחד הסוקרים תיקן את הסקר שלו אחרי נתון ההצבעה הסופי ואמר זאת בשידור.

זו שיטה ברמת הקלפי, והיא הצביעה על תכנון טוב יותר. הבעיה של תחזית היישובים מעולם לא הייתה הרגרסיה. הבעיה הייתה שהיישוב הוא היחידה הלא נכונה כשיישובים מדווחים בחלקים.

קלפי אחר קלפי

ועדת הבחירות המרכזית מפרסמת גם את הספירה לפי קלפי, וקובץ הקלפיות של 2022 עדיין ברשת. מספרי הקלפיות יציבים ברובם בין בחירות לבחירות. מתוך 908 הקלפיות שנספרו ב-02:38, 564 הותאמו לקלפי של 2022 באותו יישוב ובאותו מספר. מספרי בעלי זכות הבחירה בהן הסכימו: יחס חציוני של 1.01, ו-94% מהן בטווח של 20%.

כשהקלפיות מותאמות, הכלי הקלאסי הוא זה שמדעני המדינה קוראים לו רגרסיה אקולוגית, על שם גודמן. בכל קלפי שנספרה, הקולות של כל רשימה ב-2026 ממודלים כתערובת של קולות 2022 באותה קלפי לפי רשימה, ועוד מי שלא הצביע בה ב-2022:

yj(s)=∑kβjk xk(s), y_{j}(s) = \sum_k \beta_{jk} \, x_k(s),

כאשר xk(s)x_k(s) הוא מספר הקולות לרשימה kk בקלפי ss ב-2022, מותאם לשינוי במספר בעלי זכות הבחירה בה, ועם kk נוסף אחד עבור מי שלא הצביע ב-2022. כל βjk\beta_{jk} נקרא, בקירוב, כחלק מהמצביעים של רשימה kk ב-2022 שהצביעו הפעם לרשימה jj. המקדמים מותאמים בשיטת הריבועים הפחותים עם אילוץ אי-שליליות, כי זרימה שלילית של מצביעים אינה דבר שקיים. העמודה של מי שלא הצביע היא מה שמאפשר לשיטה לראות זינוק בשיעור ההצבעה ולא לטעות בו כמעבר בין מפלגות: אלה היו בחירות שבהן דווח על שיעור הצבעה של קרוב ל-80% בחברה הערבית.

השיטה של גודמן נשענת על הנחה חזקה אחת: שהזרימות זהות בכל מקום, כך שמצביע של הרשימה המשותפת מ-2022 ברהט נע כמו מצביע כזה בחיפה. המקדמים β\beta מותאמים פעם אחת, מכל הקלפיות שכבר נספרו, ומוחלים על כל קלפי שעוד לא נספרה.

אחר כך כל קלפי של 2022 שעוד לא נספרה נחזית מתוך התוצאה שלה עצמה ב-2022. קלפי של 2026 שנספרה ואין לה התאמה ב-2022 מוסיפה את הקולות שלה, ומפחיתה את בעלי זכות הבחירה שלה מהקלפיות שעוד לא נספרו ביישוב שלה, כך ששום דבר לא נספר פעמיים. ומכיוון שהשיטה עובדת קלפי אחר קלפי, עיר שנספרה למחצה אינה בעיה בכלל: הקלפיות שנספרו בה נספרו, והשאר נחזות.

על קובץ 02:38 היא נתנה:

רשימהמנדטיםטווח 90%
הליכוד2827–29
ישר! (איזנקוט)2120–22
הרשימה המשותפת1311–16
ביחד (בנט)1110–11
הדמוקרטים87–8
ישראל ביתנו87–8
עוצמה יהודית77–8
הציונות הדתית76–7
ש״ס76–7
יהדות התורה66–7
רע״ם44–5

הגושים הסתכמו בגוש נתניהו 55, גוש השינוי 48 והרשימות הערביות 17. ממוצע חמשת סקרי המדגם בטלוויזיה היה 53, 50 ו-17.

היא עלתה לעמוד החי, תחת כותרת שאומרת ניסיוני. העמוד מפרט שלוש הסתייגויות במפורש:

  • היא נבנתה בליל הבחירות ולא נבדקה מעולם על בחירות קודמות.
  • הטווחים שלה צרים מדי.
  • כל עוד נספרו מעט קלפיות עם רוב ערבי, אין לסמוך על החלוקה בין שתי הרשימות הערביות. זו הנחת הקביעות שנכשלת לעיני כול. ב-02:38 נספרו 9 מתוך 1,606 הקלפיות שהיה בהן רוב ערבי ב-2022, כמעט כולן בחיפה ובגליל, שם הרשימה המשותפת חזקה. הבסיס של רע״ם בנגב ובמשולש עוד לא דיווח, ולכן ה-4 של רע״ם כמעט בוודאות נמוך מדי וה-13 של הרשימה המשותפת גבוה מדי. הסכום שלהן תאם את סקרי המדגם.

הטווחים ראויים למשפט משלהם. הם באים מבוטסטרפ שדוגם מחדש את היישובים שכבר נספרו. בוטסטרפ יכול לומר רק עד כמה התשובה הייתה זזה אילו נדגם מדגם אחר מאותה אוכלוסייה. הקלפיות שנספרו עד 02:38 אינן מדגם מאותה אוכלוסייה כמו הקלפיות שנספרו עד 06:00: קיבוצים קטנים נספרים מהר, ערים והנגב נספרים לאט. אי-הוודאות הכנה היא זו של הבוטסטרפ ועוד הטעות שבהנחה שמה שלא נספר דומה למה שנספר, ורק בדיקה לאחור על סדרי ספירה אמיתיים יכולה למדוד את השנייה. לתחזית היישובים הייתה בדיקה כזו. לתחזית הקלפיות לא, כי קובץ הקלפיות של 2022 מכיל רק את הספירה הסופית, בלי תיעוד של איזו קלפי נכנסה מתי.

ארבעה מספרים בעמוד אחד

עד ארבע לפנות בוקר הציג העמוד החי ארבע תשובות שונות לשאלה “כמה מנדטים?”, וכדאי לדייק במה כל אחת מהן.

  • סקרי המדגם. ההערכות של חמישה ערוצים ב-22:00: כאן 11, חדשות 12, חדשות 13, ערוץ 14 ו-i24NEWS. כל אחת הועתקה ביד מהנתונים שהערוץ עצמו פרסם, כל אחת מסתכמת ב-120, ולכל אחת יש קישור למקור. אלה ראיונות, לא ספירה.
  • המנדטים אילו הספירה נעצרה עכשיו. שיטת בדר-עופר על הקולות שנספרו עד כה: אחוז החסימה של 3.25%, אחר כך החלוקה, עם ששת הסכמי העודפים שהוועדה פרסמה באוקטובר. בלי שום מידול. זו תשובה לשאלה שאיש אינו שואל, אבל היא היחידה מבין הארבע שהיא עובדה.
  • תחזית היישובים. כל יישוב שעוד לא נספר מושלם מתוך יישובים שהצביעו כמוהו בעבר, כמתואר למעלה. היא לא מציגה דבר עד שבכל מחנה נספרו עשרה יישובים שלמים. הטווח שלה הוא הטעות שעשתה בשלב כזה של הספירה כשארבע הבחירות האחרונות הורצו מחדש.
  • תחזית הקלפיות. כל קלפי שעוד לא נספרה מושלמת מתוך התוצאה שלה עצמה ב-2022, דרך הזרימות שנאמדו מהקלפיות שנספרו. הטווח שלה הוא הבוטסטרפ, והוא צר מדי.

הלילה, קובץ אחר קובץ

לאורך הלילה המשיכה הוועדה לפרסם גרסאות חדשות של קבצי התוצאות שלה. לכל קובץ יישובים היה לצדו קובץ קלפיות עם אותו סך קולות, שפורסם בהפרש של דקות. כל גרסה נשמרה, כך שאפשר להריץ כל אחת מהן מחדש. הטבלאות שלהלן הן ההרצות האלה: תחזית היישובים כפי שהקוד באתר עומד עכשיו, וסקריפט הקלפיות כפי שרץ בלילה. הן אינן צילומי מסך של העמוד. העמוד הציג את תחזית היישובים השבורה עד שהתיקון עלה לאוויר, קצת אחרי 03:26, ולוח הקלפיות עלה ב-03:45. השעה בכל שורה היא המוקדמת מבין שני הקבצים. שורות הקלפיות המוקדמות מעולם לא הופיעו בעמוד; הרצתי אותן אחר כך, כדי לראות מה השיטה הייתה אומרת.

הגושים הם החלוקה של העיתונים, שבה דווחו גם סקרי המדגם עצמם, ולא שיפוט שלי. גוש נתניהו הוא הליכוד, עוצמה יהודית, הציונות הדתית, ש״ס ויהדות התורה. גוש השינוי הוא ישר!, ביחד, הדמוקרטים וישראל ביתנו. הרשימות הערביות הן הרשימה המשותפת ורע״ם. החלק שנספר הוא הקולות שנספרו מתוך כ-5.5 מיליון הקולות הכשרים ששתי התחזיות צפו בסוף.

שעהנספרולפי הספירהיישוביםקלפיות
00:190.05%75 / 45 / 0—49 / 71 / 0
01:060.3%66 / 54 / 0—61 / 59 / 0
01:340.5%63 / 57 / 0—59 / 48 / 13
02:141.7%65 / 51 / 4—53 / 45 / 22
02:386%64 / 52 / 4—55 / 48 / 17
03:2511%65 / 50 / 554 / 51 / 1554 / 48 / 18
03:4617%63 / 50 / 753 / 51 / 1654 / 47 / 19
04:0422%63 / 49 / 853 / 51 / 1654 / 47 / 19
04:4829%59 / 46 / 1554 / 51 / 1554 / 47 / 19
05:1432%59 / 46 / 1554 / 50 / 1654 / 47 / 19
05:5838%57 / 47 / 1654 / 49 / 1754 / 47 / 19

מנדטים לגוש נתניהו / לגוש השינוי / לרשימות הערביות. נספרו: החלק שנספר מתוך 5,528,236 הקולות הכשרים שתחזית הקלפיות צופה בסוף הספירה. לפי הספירה: המנדטים אילו הספירה נעצרה שם. יישובים וקלפיות: שתי התחזיות. ממוצע חמשת סקרי המדגם: 53 / 50 / 17. קבצים עד 05:58, שעון ישראל.

ארבעה דברים בולטים.

הספירה לבדה היא המדריך הגרוע ביותר. בקובץ הראשון, 2,661 קולות מ-15 קלפיות, המנדטים לפי הספירה נתנו לגוש נתניהו 75 ולציונות הדתית 22. חמש שעות אחר כך היא עדיין נתנה לליכוד 29 ולרע״ם 4. הרשימות הערביות עמדו על אפס עד שתיים בלילה, ועל מחצית או פחות מהמשקל שכל אחת מהתחזיות נתנה להן עד קרוב לחמש. זה לא רעש. זה סדר הספירה: יישובים ערביים, וערים גדולות בכלל, נספרים מאוחר. גרפיקה של הספירה לבדה, שהיא מה שרוב הסיקור הציג במשך הלילה, אומרת בעיקר אילו מקומות נספרים מהר.

תחזית הקלפיות הייתה פרועה, עד שהפסיקה להיות. על 15 קלפיות היא נתנה לישראל ביתנו 19. על 128 היא נתנה לליכוד 29, קרוב, אבל 13 המנדטים שלה לרשימות הערביות נשענו על קלפי אחת עם רוב ערבי. ב-02:14, כשנספרו שלוש מתוך 1,606 הקלפיות עם רוב ערבי, היא נתנה לרשימה המשותפת 18 מנדטים: הזרימות של שלוש קלפיות, מוחלות על כל הציבור הערבי. זה בדיוק הכשל שההסתייגות בלוח מתארת, וזו הסיבה שהלוח נושא אזהרה על החלוקה בין הרשימות הערביות עד שנספר רבע מהקלפיות האלה. (אלה קלפיות, שהותאמו לעצמן מ-2022, ולכן הספירה הזו אינה אותו דבר כמו מחנה היישובים של תחזית היישובים.) לפי הכלל הזה, האזהרה עדיין הופיעה ב-05:14, כשנספרו 138 מתוך 1,606. מ-03:25, כשנספרו 27 קלפיות עם רוב ערבי, היא כמעט לא זזה עוד: הליכוד 27, ישר! 21, הרשימה המשותפת 11 או 12, רע״ם 7 או 8, וגושים של 54, 47 או 48, ו-18 או 19.

תחזית היישובים לא אמרה שום דבר מטופש, כי לא אמרה דבר עד שיכלה. השער שלה נפתח בקובץ 03:25, כשנספרו כ-11% לפי המדד הזה ו-12% לפי המדד שלה. מאז זזו הגושים שלה לכל היותר במנדט אחד בכל קובץ. זה הסירוב שמחזיר את עצמו.

היכן ששתיהן חלוקות, שם הראיות הדלות ביותר. ב-05:14, כשנספר כשליש:

רשימהסקרי המדגםלפי הספירהיישוביםקלפיות
הליכוד24⁠–⁠30292727 (26⁠–⁠27)
ישר!19⁠–⁠23202221 (20⁠–⁠21)
הרשימה המשותפת9⁠–⁠11111112 (11⁠–⁠12)
ביחד11⁠–⁠15111111 (10⁠–⁠11)
הדמוקרטים9⁠–⁠10798 (8⁠–⁠9)
ישראל ביתנו4⁠–⁠9887 (7⁠–⁠8)
עוצמה יהודית6⁠–⁠7777 (6⁠–⁠7)
הציונות הדתית6⁠–⁠7777 (7⁠–⁠8)
ש״ס6⁠–⁠9776 (6⁠–⁠7)
יהדות התורה6⁠–⁠7967 (6⁠–⁠7)
רע״ם7457 (7⁠–⁠8)

הקובץ של 05:14, 1,766,198 קולות כשרים שנספרו. סקרי המדגם: הטווח של החמישה. לפי הספירה: המנדטים אילו הספירה נעצרה שם. קלפיות: התחזית, ובסוגריים טווח ה־90% שלה, כשיש לה טווח. הטעות של תחזית היישובים, כשהורצה על בחירות קודמות בשלב כזה של הספירה, היא שני מנדטים לרשימה לכל כיוון.

הטעות של תחזית היישובים בבדיקה לאחור, בשלב כזה של הספירה, היא שני מנדטים לרשימה לכל כיוון, וכל מספר של תחזית הקלפיות נמצא בתוכה. המספר של תחזית היישובים נמצא מחוץ לטווח של תחזית הקלפיות פעמיים, בישר! וברע״ם, וזה אומר יותר על כמה צרים הטווחים האלה מאשר על כל אחד מהמספרים. מה שחשוב הוא שההבדלים הקטנים נוטים כולם לאותו כיוון, והם מצטברים בגוש שמכריע את הממשלה. תחזית היישובים נותנת לגוש השינוי 50 ולרשימות הערביות 16, תחזית הקלפיות 47 ו-19. רע״ם הוא הפער הבודד הגדול ביותר: 5 מול 7. כל סקרי המדגם אמרו 7. כאן תחזית הקלפיות מסכימה עם הסקרים ותחזית היישובים לא. זו אינה הכרעה לשום צד. סקרי המדגם הם ראיונות במדגם של קלפיות. וב-05:14 הקלפיות שנספרו החזיקו רק 6% מהקולות של רע״ם ב-2022: אף אחת מ-64 הקלפיות של רהט, אף אחת מ-29 של כפר קאסם או מ-42 של טמרה. שתי התחזיות השלימו את רע״ם כמעט כולו מתוך המפה שלה מ-2022. הן נבדלות באופן שבו הן נושאות את המפה הזו קדימה, והקבצים הבאים יגידו מי נשאה אותה טוב יותר.

גם הסכמה בין שתי שיטות היא ראיה חלשה יותר ממה שנשמע. שתיהן קוראות את אותם מקומות מוקדמים, שנספרים מהר, ולכן היכן שהן מסכימות ייתכן שהן חולקות טעות אחת.

איך זה הלך

הספירה עוד נמשכה כשכתבתי את זה. זה הקובץ האחרון שהטבלאות כוללות:

רשימהסקרי המדגםלפי הספירהיישוביםקלפיות
הליכוד24⁠–⁠30282727 (26⁠–⁠27)
ישר!19⁠–⁠23212121
הרשימה המשותפת9⁠–⁠11121212 (11⁠–⁠12)
ביחד11⁠–⁠15111111
הדמוקרטים9⁠–⁠10798
ישראל ביתנו4⁠–⁠9887 (7⁠–⁠8)
עוצמה יהודית6⁠–⁠7777 (6⁠–⁠7)
הציונות הדתית6⁠–⁠7777
ש״ס6⁠–⁠9776 (6⁠–⁠7)
יהדות התורה6⁠–⁠7867
רע״ם7457 (6⁠–⁠8)

הקובץ של 05:58, 2,122,846 קולות כשרים שנספרו. סקרי המדגם: הטווח של החמישה. לפי הספירה: המנדטים אילו הספירה נעצרה שם. קלפיות: התחזית, ובסוגריים טווח ה־90% שלה, כשיש לה טווח. הטעות של תחזית היישובים, כשהורצה על בחירות קודמות בשלב כזה של הספירה, היא שני מנדטים לרשימה לכל כיוון.

המבחן האמיתי הוא התוצאה הרשמית. כל גרסה של כל קובץ נשמרה, כך שאפשר לערוך את ההשוואה בכל אחת מהן: תחזית הקלפיות מול המנדטים הסופיים, ותחזית היישובים לצדה מהרגע שהשער שלה נפתח. שלוש שאלות יכריעו. באיזה חלק מהספירה הגיעה כל תחזית למרחק של מנדט אחד מהתוצאה הסופית בכל רשימה? האם החלוקה בין הרשימות הערביות התכנסה כשהנגב והמשולש דיווחו, ובאיזו מהירות? וכמה פעמים נפל מספר המנדטים הסופי מחוץ לטווח ה-90% של הבוטסטרפ? השאלה האחרונה מודדת בכמה הוא היה צר מדי.

מה הייתי שומר

שלושה דברים, ואף אחד מהם אינו נוגע לבחירות דווקא.

לעשות חזרות על הקובץ הבא, לא על הקודם. כל בדיקה לפני הלילה הורצה על קובץ 2022, כי זה הקובץ שהיה לנו. קובץ התוצאות הראשון של 2026 היה ברשת ב-19:20, שעות לפני סגירת הקלפיות: כותרות העמודות הנכונות, ואף שורה. ספירה שמתחילה בלי שורות אינה יכולה למנות כל יישוב מההתחלה, כך שההנחה השבורה הראשונה נראתה כבר אז. חזרה שמשווה את הצורה של המקור החדש לזו של הישן, ולא רק את התוכן, הייתה תופסת את שתיהן.

לאפשר לאומד לומר “עוד לא”, ולהפוך את זה לברירת המחדל. השער שעצר את תחזית היישובים עשה בלילה הזה יותר טוב מכל החשבון. הוא עלה כמה שורות קוד וקבוע אחד: עשרה יישובים שלמים בכל מחנה.

לשמור כל גרסה של כל דבר. כל הלילה, כל גרסה שונה של כל קובץ שהוועדה פרסמה נשמרה, בשם שנגזר מתוכנה ובלי שום דריסה, והועתקה לאחסון חיצוני כל עשר דקות. זה מה שמאפשר לכתוב ביושר את הפרק “איך זה הלך” שלמעלה. בלי הגרסאות הוא היה משוחזר מהזיכרון, המקור שאני הכי פחות סומך עליו בלילה כזה.