{
    "site": "saihuay",
    "page_type": "lucky_number_analysis",
    "canonical_url": "https://www.saihuay.com/lucky_data.php?lotto=hanoi_morning",
    "generated_at": "2026-05-07T23:04:29+00:00",
    "market_slug": "hanoi_morning",
    "market_name_th": "Hanoi Morning",
    "market_display_name": "Hanoi Morning",
    "analysis_limit": 120,
    "prediction_basis": 59,
    "latest_row": {
        "draw_date": "2026-05-07",
        "top_3": "919",
        "bottom_2": "46",
        "first_prize": "",
        "draw_result": "24919"
    },
    "next_draw": {
        "display": "May 8, 2026",
        "note": "Daily draws",
        "cutoff": "Results around 08:30"
    },
    "trend_scores": {
        "top_3": 22.9,
        "bottom_2": 24.9
    },
    "top_3_analysis": {
        "valid_rows": 59,
        "positions": [
            {
                "label": "Hundreds",
                "top_digit": "0",
                "top_percent": 22.9,
                "top_digits": [
                    {
                        "digit": "0",
                        "percent": 22.9
                    },
                    {
                        "digit": "9",
                        "percent": 15.8
                    },
                    {
                        "digit": "6",
                        "percent": 13
                    },
                    {
                        "digit": "1",
                        "percent": 11.7
                    },
                    {
                        "digit": "4",
                        "percent": 10.2
                    }
                ]
            },
            {
                "label": "Tens",
                "top_digit": "5",
                "top_percent": 24.4,
                "top_digits": [
                    {
                        "digit": "5",
                        "percent": 24.4
                    },
                    {
                        "digit": "2",
                        "percent": 15.8
                    },
                    {
                        "digit": "0",
                        "percent": 12.9
                    },
                    {
                        "digit": "8",
                        "percent": 11.7
                    },
                    {
                        "digit": "1",
                        "percent": 9.9
                    }
                ]
            },
            {
                "label": "Units",
                "top_digit": "9",
                "top_percent": 21.4,
                "top_digits": [
                    {
                        "digit": "9",
                        "percent": 21.4
                    },
                    {
                        "digit": "4",
                        "percent": 17.5
                    },
                    {
                        "digit": "1",
                        "percent": 14.7
                    },
                    {
                        "digit": "7",
                        "percent": 13.3
                    },
                    {
                        "digit": "8",
                        "percent": 11.2
                    }
                ]
            }
        ],
        "window_highlights": [
            {
                "label": "Short term",
                "size": 20,
                "digits": "059",
                "average_percent": 26.8
            },
            {
                "label": "Mid term",
                "size": 60,
                "digits": "059",
                "average_percent": 19
            },
            {
                "label": "Overall",
                "size": 120,
                "digits": "059",
                "average_percent": 19
            }
        ],
        "candidates": [
            {
                "digits": "059",
                "trend_percent": 100
            },
            {
                "digits": "054",
                "trend_percent": 81.8
            },
            {
                "digits": "959",
                "trend_percent": 69
            },
            {
                "digits": "051",
                "trend_percent": 68.7
            },
            {
                "digits": "029",
                "trend_percent": 64.8
            },
            {
                "digits": "057",
                "trend_percent": 62.1
            }
        ]
    },
    "bottom_2_analysis": {
        "valid_rows": 59,
        "positions": [
            {
                "label": "Bottom Tens",
                "top_digit": "7",
                "top_percent": 25.6,
                "top_digits": [
                    {
                        "digit": "7",
                        "percent": 25.6
                    },
                    {
                        "digit": "5",
                        "percent": 14.1
                    },
                    {
                        "digit": "6",
                        "percent": 13.3
                    },
                    {
                        "digit": "3",
                        "percent": 12.5
                    },
                    {
                        "digit": "4",
                        "percent": 12.4
                    }
                ]
            },
            {
                "label": "Bottom Units",
                "top_digit": "0",
                "top_percent": 24.2,
                "top_digits": [
                    {
                        "digit": "0",
                        "percent": 24.2
                    },
                    {
                        "digit": "6",
                        "percent": 17
                    },
                    {
                        "digit": "9",
                        "percent": 14.4
                    },
                    {
                        "digit": "4",
                        "percent": 10.4
                    },
                    {
                        "digit": "3",
                        "percent": 9.7
                    }
                ]
            }
        ],
        "window_highlights": [
            {
                "label": "Short term",
                "size": 20,
                "digits": "70",
                "average_percent": 25.4
            },
            {
                "label": "Mid term",
                "size": 60,
                "digits": "70",
                "average_percent": 24.5
            },
            {
                "label": "Overall",
                "size": 120,
                "digits": "70",
                "average_percent": 24.5
            }
        ],
        "candidates": [
            {
                "digits": "70",
                "trend_percent": 100
            },
            {
                "digits": "76",
                "trend_percent": 70.2
            },
            {
                "digits": "79",
                "trend_percent": 59.5
            },
            {
                "digits": "50",
                "trend_percent": 55.1
            },
            {
                "digits": "60",
                "trend_percent": 52
            },
            {
                "digits": "30",
                "trend_percent": 48.8
            }
        ]
    },
    "hot_digits": [
        {
            "digit": "9",
            "count": 0,
            "percent": 12
        },
        {
            "digit": "0",
            "count": 0,
            "percent": 11.6
        },
        {
            "digit": "6",
            "count": 0,
            "percent": 11.1
        },
        {
            "digit": "1",
            "count": 0,
            "percent": 11
        },
        {
            "digit": "5",
            "count": 0,
            "percent": 10.9
        },
        {
            "digit": "4",
            "count": 0,
            "percent": 10.5
        }
    ],
    "related_urls": {
        "latest_results_url": "https://www.saihuay.com/result.php",
        "historical_url": "https://www.saihuay.com/historical.php?lotto=hanoi_morning",
        "lucky_url": "https://www.saihuay.com/lucky_data.php?lotto=hanoi_morning"
    },
    "disclaimer": "Statistical analysis based on historical data; not a guaranteed prediction.",
    "error_message": ""
}