pokerforge-bots / reports /evaluation_report.json
Rushisagar221's picture
Upload PokerForge PPO bot artifacts
87a26b3 verified
{
"generated_at": "2026-04-21T22:24:37.558195",
"n_hands_per_matchup": 1000,
"seeds": [
42,
123,
999
],
"matchups": {
"easy_vs_medium": {
"per_seed": {
"seed_42": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.298,
"bot_b_win_rate": 0.702,
"bot_a_bb100": -67.505,
"bot_b_bb100": 67.505,
"bot_a_total_profit": -13501,
"bot_b_total_profit": 13501,
"bot_a_profit_per_hand": -13.501,
"bot_b_profit_per_hand": 13.501,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 67.505,
"avg_pot": 804.36,
"avg_actions": 7.378,
"showdown_rate": 0.539,
"bot_a_win_rate_ci_low": 0.26965132536431374,
"bot_a_win_rate_ci_high": 0.32634867463568623,
"bot_b_win_rate_ci_low": 0.6736513253643137,
"bot_b_win_rate_ci_high": 0.7303486746356862,
"p_value": 0.0,
"effect_size": 0.415885382254384,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5283185840707965,
"bot_a_decision_count": 4319,
"bot_a_fold_pct_decision": 0.10673767075711971,
"bot_a_check_pct_decision": 0.17272516786293124,
"bot_a_call_pct_decision": 0.5591572123176661,
"bot_a_raise_pct_decision": 0.16137994906228292,
"bot_a_aggression_pct": 0.22397172236503857,
"bot_a_aggression_factor": 0.2886128364389234,
"bot_a_vpip": 0.7275960170697012,
"bot_a_pfr": 0.08534850640113797,
"bot_a_three_bet_pct": 0.13163716814159293,
"bot_a_fold_to_raise_pct": 0.08943370165745856,
"bot_b_decision_count": 3059,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.011441647597254004,
"bot_b_call_pct_decision": 0.04184373978424322,
"bot_b_raise_pct_decision": 0.9467146126185028,
"bot_b_aggression_pct": 0.9576719576719577,
"bot_b_aggression_factor": 22.625,
"bot_b_vpip": 0.9978189749182116,
"bot_b_pfr": 0.9858233369683751,
"bot_b_three_bet_pct": 0.925,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "easy",
"display_bot_b_name": "medium"
},
"seed_123": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.292,
"bot_b_win_rate": 0.708,
"bot_a_bb100": 56.92,
"bot_b_bb100": -56.92,
"bot_a_total_profit": 11384,
"bot_b_total_profit": -11384,
"bot_a_profit_per_hand": 11.384,
"bot_b_profit_per_hand": -11.384,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_a",
"profit_leader_name": "bot_a",
"profit_leader_bb100": 56.92,
"avg_pot": 766.364,
"avg_actions": 7.055,
"showdown_rate": 0.498,
"bot_a_win_rate_ci_low": 0.26381849866313006,
"bot_a_win_rate_ci_high": 0.3201815013368699,
"bot_b_win_rate_ci_low": 0.67981849866313,
"bot_b_win_rate_ci_high": 0.7361815013368699,
"p_value": 0.0,
"effect_size": 0.42904219565338697,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5242287434161024,
"bot_a_decision_count": 4130,
"bot_a_fold_pct_decision": 0.12130750605326876,
"bot_a_check_pct_decision": 0.15593220338983052,
"bot_a_call_pct_decision": 0.5634382566585956,
"bot_a_raise_pct_decision": 0.15932203389830507,
"bot_a_aggression_pct": 0.2204355108877722,
"bot_a_aggression_factor": 0.28276751181779114,
"bot_a_vpip": 0.7033837293016558,
"bot_a_pfr": 0.0755939524838013,
"bot_a_three_bet_pct": 0.11512415349887133,
"bot_a_fold_to_raise_pct": 0.10605517735578646,
"bot_b_decision_count": 2925,
"bot_b_fold_pct_decision": 0.0003418803418803419,
"bot_b_check_pct_decision": 0.008547008547008548,
"bot_b_call_pct_decision": 0.036923076923076927,
"bot_b_raise_pct_decision": 0.9541880341880342,
"bot_b_aggression_pct": 0.9627457744049672,
"bot_b_aggression_factor": 25.84259259259259,
"bot_b_vpip": 0.9988851727982163,
"bot_b_pfr": 0.987736900780379,
"bot_b_three_bet_pct": 0.9333333333333333,
"bot_b_fold_to_raise_pct": 0.001519756838905775,
"display_bot_a_name": "easy",
"display_bot_b_name": "medium"
},
"seed_999": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.2735,
"bot_b_win_rate": 0.7265,
"bot_a_bb100": -27.21,
"bot_b_bb100": 27.21,
"bot_a_total_profit": -5442,
"bot_b_total_profit": 5442,
"bot_a_profit_per_hand": -5.442,
"bot_b_profit_per_hand": 5.442,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 27.21,
"avg_pot": 754.726,
"avg_actions": 6.983,
"showdown_rate": 0.493,
"bot_a_win_rate_ci_low": 0.2458718028745993,
"bot_a_win_rate_ci_high": 0.30112819712540073,
"bot_b_win_rate_ci_low": 0.6988718028745994,
"bot_b_win_rate_ci_high": 0.7541281971254007,
"p_value": 0.0,
"effect_size": 0.4701275486204144,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5336805555555556,
"bot_a_decision_count": 4100,
"bot_a_fold_pct_decision": 0.12365853658536585,
"bot_a_check_pct_decision": 0.1597560975609756,
"bot_a_call_pct_decision": 0.5607317073170732,
"bot_a_raise_pct_decision": 0.15585365853658537,
"bot_a_aggression_pct": 0.21749489448604492,
"bot_a_aggression_factor": 0.2779469334493258,
"bot_a_vpip": 0.6920263350402341,
"bot_a_pfr": 0.06583760058522312,
"bot_a_three_bet_pct": 0.10069444444444445,
"bot_a_fold_to_raise_pct": 0.10564399421128799,
"bot_b_decision_count": 2883,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.005549774540409296,
"bot_b_call_pct_decision": 0.035726673603884845,
"bot_b_raise_pct_decision": 0.9587235518557059,
"bot_b_aggression_pct": 0.9640739448901291,
"bot_b_aggression_factor": 26.83495145631068,
"bot_b_vpip": 0.9977064220183486,
"bot_b_pfr": 0.9908256880733946,
"bot_b_three_bet_pct": 0.9666666666666667,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "easy",
"display_bot_b_name": "medium"
}
},
"aggregated": {
"bot_b_win_rate_ci_high_mean": 0.740219457699319,
"bot_b_win_rate_ci_high_std": 0.010119131752889057,
"bot_b_raise_pct_decision_mean": 0.9532087328874143,
"bot_b_raise_pct_decision_std": 0.004951291325082525,
"bot_a_win_rate_mean": 0.28783333333333333,
"bot_a_win_rate_std": 0.010426994879744685,
"p_value_mean": 0.0,
"p_value_std": 0.0,
"avg_pot_mean": 775.15,
"avg_pot_std": 21.194006007988833,
"bot_a_check_pct_decision_mean": 0.16280448960457913,
"bot_a_check_pct_decision_std": 0.0071865816856757254,
"illegal_action_rate_mean": 0.0,
"illegal_action_rate_std": 0.0,
"bot_b_aggression_pct_mean": 0.9614972256556846,
"bot_b_aggression_pct_std": 0.0027586851421053053,
"bot_a_bb100_mean": -12.598333333333331,
"bot_a_bb100_std": 51.83641421712046,
"bot_a_profit_per_hand_mean": -2.5196666666666663,
"bot_a_profit_per_hand_std": 10.367282843424093,
"bot_a_call_pct_decision_mean": 0.561109058764445,
"bot_a_call_pct_decision_std": 0.0017679801560681642,
"bot_b_vpip_mean": 0.9981368565782588,
"bot_b_vpip_std": 0.0005311308141475059,
"bot_a_raise_pct_decision_mean": 0.1588518804990578,
"bot_a_raise_pct_decision_std": 0.002280461197173572,
"bot_b_pfr_mean": 0.9881286419407163,
"bot_b_pfr_std": 0.0020609019056389032,
"showdown_rate_mean": 0.51,
"showdown_rate_std": 0.020607442021431662,
"bot_a_vpip_mean": 0.7076686938038638,
"bot_a_vpip_std": 0.014833998348573789,
"avg_three_bet_frequency_mean": 0.5287426276808181,
"avg_three_bet_frequency_std": 0.0038703184982874497,
"bot_b_fold_to_raise_pct_mean": 0.0005065856129685917,
"bot_b_fold_to_raise_pct_std": 0.00071642024436327,
"effect_size_mean": 0.43835170884272845,
"effect_size_std": 0.023101997458905617,
"bot_b_win_rate_ci_low_mean": 0.6841138756340144,
"bot_b_win_rate_ci_low_std": 0.010734859693329605,
"bot_b_decision_count_mean": 2955.6666666666665,
"bot_b_decision_count_std": 75.05257416563997,
"bot_a_win_rate_ci_low_mean": 0.25978054230068104,
"bot_a_win_rate_ci_low_std": 0.01011913175288903,
"profit_leader_bb100_mean": 50.545,
"profit_leader_bb100_std": 17.05681144489399,
"timeout_rate_mean": 0.0,
"timeout_rate_std": 0.0,
"bot_b_three_bet_pct_mean": 0.9416666666666667,
"bot_b_three_bet_pct_std": 0.018002057495577376,
"bot_a_pfr_mean": 0.07559335315672079,
"bot_a_pfr_std": 0.00796529395602237,
"bot_a_total_profit_mean": -2519.6666666666665,
"bot_a_total_profit_std": 10367.282843424093,
"crash_rate_mean": 0.0,
"crash_rate_std": 0.0,
"avg_actions_mean": 7.1386666666666665,
"avg_actions_std": 0.17176793129749887,
"bot_b_check_pct_decision_mean": 0.00851281022822395,
"bot_b_check_pct_decision_std": 0.002405468654718372,
"bot_b_aggression_factor_mean": 25.10084801630109,
"bot_b_aggression_factor_std": 1.7969532693731907,
"zero_sum_delta_mean": 0.0,
"zero_sum_delta_std": 0.0,
"bot_a_fold_pct_decision_mean": 0.11723457113191811,
"bot_a_fold_pct_decision_std": 0.007484228940447385,
"bot_a_aggression_factor_mean": 0.28310909390201344,
"bot_a_aggression_factor_std": 0.0043610304887776894,
"bot_b_bb100_mean": 12.598333333333331,
"bot_b_bb100_std": 51.83641421712046,
"bot_a_win_rate_ci_high_mean": 0.3158861243659856,
"bot_a_win_rate_ci_high_std": 0.010734859693329529,
"bot_b_profit_per_hand_mean": 2.5196666666666663,
"bot_b_profit_per_hand_std": 10.367282843424093,
"bot_b_total_profit_mean": 2519.6666666666665,
"bot_b_total_profit_std": 10367.282843424093,
"bot_b_win_rate_mean": 0.7121666666666666,
"bot_b_win_rate_std": 0.010426994879744736,
"bot_a_three_bet_pct_mean": 0.11581858869496957,
"bot_a_three_bet_pct_std": 0.012641854231894506,
"bot_a_aggression_pct_mean": 0.22063404257961855,
"bot_a_aggression_pct_std": 0.0026478778884266134,
"bot_b_call_pct_decision_mean": 0.038164496770401665,
"bot_b_call_pct_decision_std": 0.002647069712181109,
"bot_a_fold_to_raise_pct_mean": 0.10037762440817767,
"bot_a_fold_to_raise_pct_std": 0.00774034244612215,
"bot_b_fold_pct_decision_mean": 0.00011396011396011396,
"bot_b_fold_pct_decision_std": 0.00016116393873197665,
"bot_a_decision_count_mean": 4183.0,
"bot_a_decision_count_std": 96.94328238717729,
"n_seeds": 3,
"n_hands_per_seed": 1000
},
"overall": {
"n_hands": 3000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.28783333333333333,
"bot_b_win_rate": 0.7121666666666666,
"bot_a_bb100": -12.598333333333333,
"bot_b_bb100": 12.598333333333333,
"bot_a_total_profit": -7559,
"bot_b_total_profit": 7559,
"bot_a_profit_per_hand": -2.5196666666666667,
"bot_b_profit_per_hand": 2.5196666666666667,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 12.598333333333333,
"avg_pot": 775.15,
"avg_actions": 7.1386666666666665,
"showdown_rate": 0.51,
"bot_a_win_rate_ci_low": 0.27163177425380625,
"bot_a_win_rate_ci_high": 0.3040348924128604,
"bot_b_win_rate_ci_low": 0.6959651075871395,
"bot_b_win_rate_ci_high": 0.7283682257461938,
"p_value": 0.0,
"effect_size": 0.4382255219333342,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5278668915443595,
"bot_a_decision_count": 12549,
"bot_a_fold_pct_decision": 0.11706112040800064,
"bot_a_check_pct_decision": 0.1629611921268627,
"bot_a_call_pct_decision": 0.5610805641883816,
"bot_a_raise_pct_decision": 0.15889712327675512,
"bot_a_aggression_pct": 0.2206972883231876,
"bot_a_aggression_factor": 0.2831984093168584,
"bot_a_vpip": 0.7078327727054301,
"bot_a_pfr": 0.07568476693897165,
"bot_a_three_bet_pct": 0.11605124340617935,
"bot_a_fold_to_raise_pct": 0.10022482546444207,
"bot_b_decision_count": 8867,
"bot_b_fold_pct_decision": 0.0001127777151234916,
"bot_b_check_pct_decision": 0.008571106349385361,
"bot_b_call_pct_decision": 0.03823164542686365,
"bot_b_raise_pct_decision": 0.9530844705086275,
"bot_b_aggression_pct": 0.9614334470989762,
"bot_b_aggression_factor": 24.92920353982301,
"bot_b_vpip": 0.998138495904691,
"bot_b_pfr": 0.9880863737900223,
"bot_b_three_bet_pct": 0.9396825396825397,
"bot_b_fold_to_raise_pct": 0.0005015045135406219
},
"summary": {
"matchup_key": "easy_vs_medium",
"matchup": "medium vs easy",
"winner": "medium",
"loser": "easy",
"winner_side": "bot_b",
"win_rate_mean": 0.7121666666666666,
"win_rate_std": 0.010426994879744736,
"bb100_mean": 12.598333333333331,
"bb100_std": 51.83641421712046,
"ci_low": 0.6959651075871395,
"ci_high": 0.7283682257461938,
"ci_95": "[69.6%, 72.8%]",
"p_value": 0.0,
"effect_size": 0.43822552193333375,
"significant": true,
"verdict": "medium > easy \u2713",
"showdown_rate": 0.51,
"avg_pot": 775.15,
"avg_actions": 7.1386666666666665,
"avg_three_bet_frequency": 0.5278668915443595,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9530844705086275,
"winner_pfr": 0.9880863737900223,
"winner_three_bet_pct": 0.9396825396825397
}
},
"easy_vs_hard": {
"per_seed": {
"seed_42": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.3025,
"bot_b_win_rate": 0.6975,
"bot_a_bb100": 22.509999999999998,
"bot_b_bb100": -22.509999999999998,
"bot_a_total_profit": 4502,
"bot_b_total_profit": -4502,
"bot_a_profit_per_hand": 4.502,
"bot_b_profit_per_hand": -4.502,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_a",
"profit_leader_name": "bot_a",
"profit_leader_bb100": 22.509999999999998,
"avg_pot": 979.646,
"avg_actions": 6.874,
"showdown_rate": 0.539,
"bot_a_win_rate_ci_low": 0.2740297771346974,
"bot_a_win_rate_ci_high": 0.3309702228653026,
"bot_b_win_rate_ci_low": 0.6690297771346974,
"bot_b_win_rate_ci_high": 0.7259702228653027,
"p_value": 0.0,
"effect_size": 0.40606785105740983,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5648854961832062,
"bot_a_decision_count": 4030,
"bot_a_fold_pct_decision": 0.11439205955334987,
"bot_a_check_pct_decision": 0.1620347394540943,
"bot_a_call_pct_decision": 0.5682382133995038,
"bot_a_raise_pct_decision": 0.15533498759305212,
"bot_a_aggression_pct": 0.21467764060356653,
"bot_a_aggression_factor": 0.27336244541484717,
"bot_a_vpip": 0.7311220889202541,
"bot_a_pfr": 0.08468595624558928,
"bot_a_three_bet_pct": 0.1297709923664122,
"bot_a_fold_to_raise_pct": 0.09515062454077884,
"bot_b_decision_count": 2844,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.04289732770745429,
"bot_b_raise_pct_decision": 0.9571026722925458,
"bot_b_aggression_pct": 0.9571026722925458,
"bot_b_aggression_factor": 22.311475409836067,
"bot_b_vpip": 1.0,
"bot_b_pfr": 1.0,
"bot_b_three_bet_pct": 1.0,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "easy",
"display_bot_b_name": "hard"
},
"seed_123": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.2955,
"bot_b_win_rate": 0.7045,
"bot_a_bb100": 72.715,
"bot_b_bb100": -72.715,
"bot_a_total_profit": 14543,
"bot_b_total_profit": -14543,
"bot_a_profit_per_hand": 14.543,
"bot_b_profit_per_hand": -14.543,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_a",
"profit_leader_name": "bot_a",
"profit_leader_bb100": 72.715,
"avg_pot": 942.372,
"avg_actions": 6.633,
"showdown_rate": 0.508,
"bot_a_win_rate_ci_low": 0.26722026648640407,
"bot_a_win_rate_ci_high": 0.3237797335135959,
"bot_b_win_rate_ci_low": 0.6762202664864041,
"bot_b_win_rate_ci_high": 0.7327797335135959,
"p_value": 0.0,
"effect_size": 0.42135794359568246,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5573496659242761,
"bot_a_decision_count": 3882,
"bot_a_fold_pct_decision": 0.1267387944358578,
"bot_a_check_pct_decision": 0.14760432766615147,
"bot_a_call_pct_decision": 0.5736733642452344,
"bot_a_raise_pct_decision": 0.1519835136527563,
"bot_a_aggression_pct": 0.20944266950656726,
"bot_a_aggression_factor": 0.26493039964077236,
"bot_a_vpip": 0.7052932761087267,
"bot_a_pfr": 0.07582260371959942,
"bot_a_three_bet_pct": 0.11469933184855234,
"bot_a_fold_to_raise_pct": 0.10867095797046573,
"bot_b_decision_count": 2751,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.039985459832788076,
"bot_b_raise_pct_decision": 0.9600145401672119,
"bot_b_aggression_pct": 0.9600145401672119,
"bot_b_aggression_factor": 24.009090909090908,
"bot_b_vpip": 1.0,
"bot_b_pfr": 1.0,
"bot_b_three_bet_pct": 1.0,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "easy",
"display_bot_b_name": "hard"
},
"seed_999": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.2635,
"bot_b_win_rate": 0.7365,
"bot_a_bb100": -175.17,
"bot_b_bb100": 175.17,
"bot_a_total_profit": -35034,
"bot_b_total_profit": 35034,
"bot_a_profit_per_hand": -35.034,
"bot_b_profit_per_hand": 35.034,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 175.17,
"avg_pot": 923.765,
"avg_actions": 6.568,
"showdown_rate": 0.497,
"bot_a_win_rate_ci_low": 0.23619559250963318,
"bot_a_win_rate_ci_high": 0.29080440749036685,
"bot_b_win_rate_ci_low": 0.7091955925096333,
"bot_b_win_rate_ci_high": 0.7638044074903668,
"p_value": 0.0,
"effect_size": 0.49269265820770025,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5509153318077803,
"bot_a_decision_count": 3860,
"bot_a_fold_pct_decision": 0.13031088082901554,
"bot_a_check_pct_decision": 0.1538860103626943,
"bot_a_call_pct_decision": 0.5686528497409327,
"bot_a_raise_pct_decision": 0.14715025906735751,
"bot_a_aggression_pct": 0.2055736518277235,
"bot_a_aggression_factor": 0.25876993166287016,
"bot_a_vpip": 0.6943231441048034,
"bot_a_pfr": 0.06695778748180495,
"bot_a_three_bet_pct": 0.10183066361556065,
"bot_a_fold_to_raise_pct": 0.11047180667433831,
"bot_b_decision_count": 2708,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.03729689807976366,
"bot_b_raise_pct_decision": 0.9627031019202363,
"bot_b_aggression_pct": 0.9627031019202363,
"bot_b_aggression_factor": 25.81188118811881,
"bot_b_vpip": 1.0,
"bot_b_pfr": 1.0,
"bot_b_three_bet_pct": 1.0,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "easy",
"display_bot_b_name": "hard"
}
},
"aggregated": {
"bot_b_win_rate_ci_high_mean": 0.7408514546230884,
"bot_b_win_rate_ci_high_std": 0.01646654978662158,
"bot_b_raise_pct_decision_mean": 0.9599401047933314,
"bot_b_raise_pct_decision_std": 0.002286971574279281,
"bot_a_win_rate_mean": 0.2871666666666667,
"bot_a_win_rate_std": 0.01697710877099578,
"p_value_mean": 0.0,
"p_value_std": 0.0,
"avg_pot_mean": 948.5943333333333,
"avg_pot_std": 23.233734300700675,
"bot_a_check_pct_decision_mean": 0.15450835916098002,
"bot_a_check_pct_decision_std": 0.005907604399554052,
"illegal_action_rate_mean": 0.0,
"illegal_action_rate_std": 0.0,
"bot_b_aggression_pct_mean": 0.9599401047933314,
"bot_b_aggression_pct_std": 0.002286971574279281,
"bot_a_bb100_mean": -26.64833333333333,
"bot_a_bb100_std": 107.00202368283611,
"bot_a_profit_per_hand_mean": -5.329666666666666,
"bot_a_profit_per_hand_std": 21.400404736567225,
"bot_a_call_pct_decision_mean": 0.5701881424618903,
"bot_a_call_pct_decision_std": 0.0024702306212485135,
"bot_b_vpip_mean": 1.0,
"bot_b_vpip_std": 0.0,
"bot_a_raise_pct_decision_mean": 0.1514895867710553,
"bot_a_raise_pct_decision_std": 0.003359604945345001,
"bot_b_pfr_mean": 1.0,
"bot_b_pfr_std": 0.0,
"showdown_rate_mean": 0.5146666666666667,
"showdown_rate_std": 0.017782638224465536,
"bot_a_vpip_mean": 0.7102461697112614,
"bot_a_vpip_std": 0.015425929494656446,
"avg_three_bet_frequency_mean": 0.5577168313050875,
"avg_three_bet_frequency_std": 0.005709201986369855,
"bot_b_fold_to_raise_pct_mean": 0.0,
"bot_b_fold_to_raise_pct_std": 0.0,
"effect_size_mean": 0.44003948428693085,
"effect_size_std": 0.03775106422698861,
"bot_b_win_rate_ci_low_mean": 0.6848152120435782,
"bot_b_win_rate_ci_low_std": 0.01748767181057273,
"bot_b_decision_count_mean": 2767.6666666666665,
"bot_b_decision_count_std": 56.7587487137935,
"bot_a_win_rate_ci_low_mean": 0.25914854537691157,
"bot_a_win_rate_ci_low_std": 0.016466549786621598,
"profit_leader_bb100_mean": 90.13166666666666,
"profit_leader_bb100_std": 63.52833545399687,
"timeout_rate_mean": 0.0,
"timeout_rate_std": 0.0,
"bot_b_three_bet_pct_mean": 1.0,
"bot_b_three_bet_pct_std": 0.0,
"bot_a_pfr_mean": 0.07582211581566455,
"bot_a_pfr_std": 0.0072374945990926216,
"bot_a_total_profit_mean": -5329.666666666667,
"bot_a_total_profit_std": 21400.404736567223,
"crash_rate_mean": 0.0,
"crash_rate_std": 0.0,
"avg_actions_mean": 6.691666666666666,
"avg_actions_std": 0.13163164091087248,
"bot_b_check_pct_decision_mean": 0.0,
"bot_b_check_pct_decision_std": 0.0,
"bot_b_aggression_factor_mean": 24.044149169015263,
"bot_b_aggression_factor_std": 1.429249678292891,
"zero_sum_delta_mean": 0.0,
"zero_sum_delta_std": 0.0,
"bot_a_fold_pct_decision_mean": 0.12381391160607441,
"bot_a_fold_pct_decision_std": 0.006819991318548621,
"bot_a_aggression_factor_mean": 0.26568759223949656,
"bot_a_aggression_factor_std": 0.005981380547113493,
"bot_b_bb100_mean": 26.64833333333333,
"bot_b_bb100_std": 107.00202368283611,
"bot_a_win_rate_ci_high_mean": 0.3151847879564218,
"bot_a_win_rate_ci_high_std": 0.01748767181057266,
"bot_b_profit_per_hand_mean": 5.329666666666666,
"bot_b_profit_per_hand_std": 21.400404736567225,
"bot_b_total_profit_mean": 5329.666666666667,
"bot_b_total_profit_std": 21400.404736567223,
"bot_b_win_rate_mean": 0.7128333333333333,
"bot_b_win_rate_std": 0.016977108770995807,
"bot_a_three_bet_pct_mean": 0.11543366261017507,
"bot_a_three_bet_pct_std": 0.011418403972739641,
"bot_a_aggression_pct_mean": 0.2098979873126191,
"bot_a_aggression_pct_std": 0.0037306066205600656,
"bot_b_call_pct_decision_mean": 0.04005989520666867,
"bot_b_call_pct_decision_std": 0.002286971574279298,
"bot_a_fold_to_raise_pct_mean": 0.10476446306186096,
"bot_a_fold_to_raise_pct_std": 0.006837649808018431,
"bot_b_fold_pct_decision_mean": 0.0,
"bot_b_fold_pct_decision_std": 0.0,
"bot_a_decision_count_mean": 3924.0,
"bot_a_decision_count_std": 75.48951362054645,
"n_seeds": 3,
"n_hands_per_seed": 1000
},
"overall": {
"n_hands": 3000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.2871666666666667,
"bot_b_win_rate": 0.7128333333333333,
"bot_a_bb100": -26.648333333333333,
"bot_b_bb100": 26.648333333333333,
"bot_a_total_profit": -15989,
"bot_b_total_profit": 15989,
"bot_a_profit_per_hand": -5.329666666666666,
"bot_b_profit_per_hand": 5.329666666666666,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 26.648333333333333,
"avg_pot": 948.5943333333333,
"avg_actions": 6.691666666666666,
"showdown_rate": 0.5146666666666667,
"bot_a_win_rate_ci_low": 0.27097630846094345,
"bot_a_win_rate_ci_high": 0.3033570248723899,
"bot_b_win_rate_ci_low": 0.6966429751276101,
"bot_b_win_rate_ci_high": 0.7290236915390566,
"p_value": 0.0,
"effect_size": 0.4396985039590031,
"significant": true,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.5578281889178133,
"bot_a_decision_count": 11772,
"bot_a_fold_pct_decision": 0.1236833163438668,
"bot_a_check_pct_decision": 0.1546041454298335,
"bot_a_call_pct_decision": 0.5701664967720014,
"bot_a_raise_pct_decision": 0.15154604145429834,
"bot_a_aggression_pct": 0.20998116760828625,
"bot_a_aggression_factor": 0.265792610250298,
"bot_a_vpip": 0.7104320840296013,
"bot_a_pfr": 0.07591310575316304,
"bot_a_three_bet_pct": 0.11565637783562663,
"bot_a_fold_to_raise_pct": 0.10464240903387705,
"bot_b_decision_count": 8303,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.0401059857882693,
"bot_b_raise_pct_decision": 0.9598940142117307,
"bot_b_aggression_pct": 0.9598940142117307,
"bot_b_aggression_factor": 23.933933933933933,
"bot_b_vpip": 1.0,
"bot_b_pfr": 1.0,
"bot_b_three_bet_pct": 1.0,
"bot_b_fold_to_raise_pct": 0.0
},
"summary": {
"matchup_key": "easy_vs_hard",
"matchup": "hard vs easy",
"winner": "hard",
"loser": "easy",
"winner_side": "bot_b",
"win_rate_mean": 0.7128333333333333,
"win_rate_std": 0.016977108770995807,
"bb100_mean": 26.64833333333333,
"bb100_std": 107.00202368283611,
"ci_low": 0.6966429751276101,
"ci_high": 0.7290236915390566,
"ci_95": "[69.7%, 72.9%]",
"p_value": 0.0,
"effect_size": 0.4396985039590027,
"significant": true,
"verdict": "hard > easy \u2713",
"showdown_rate": 0.5146666666666667,
"avg_pot": 948.5943333333333,
"avg_actions": 6.691666666666666,
"avg_three_bet_frequency": 0.5578281889178133,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9598940142117307,
"winner_pfr": 1.0,
"winner_three_bet_pct": 1.0
}
},
"medium_vs_hard": {
"per_seed": {
"seed_42": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.487,
"bot_b_win_rate": 0.513,
"bot_a_bb100": -126.4,
"bot_b_bb100": 126.4,
"bot_a_total_profit": -25280,
"bot_b_total_profit": 25280,
"bot_a_profit_per_hand": -25.28,
"bot_b_profit_per_hand": 25.28,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 126.4,
"avg_pot": 1660.89,
"avg_actions": 7.751,
"showdown_rate": 0.998,
"bot_a_win_rate_ci_low": 0.4560201554296991,
"bot_a_win_rate_ci_high": 0.5179798445703009,
"bot_b_win_rate_ci_low": 0.4820201554296991,
"bot_b_win_rate_ci_high": 0.5439798445703009,
"p_value": 0.41096752208833554,
"effect_size": 0.026002930224795495,
"significant": false,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.8217258822769083,
"bot_a_decision_count": 4160,
"bot_a_fold_pct_decision": 0.0004807692307692308,
"bot_a_check_pct_decision": 0.05480769230769231,
"bot_a_call_pct_decision": 0.3002403846153846,
"bot_a_raise_pct_decision": 0.6444711538461538,
"bot_a_aggression_pct": 0.6821882951653944,
"bot_a_aggression_factor": 2.1465172137710167,
"bot_a_vpip": 0.9994063520332442,
"bot_a_pfr": 0.757197981596913,
"bot_a_three_bet_pct": 0.7155803415824329,
"bot_a_fold_to_raise_pct": 0.0006031363088057901,
"bot_b_decision_count": 3591,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.07658033973823447,
"bot_b_raise_pct_decision": 0.9234196602617655,
"bot_b_aggression_pct": 0.9234196602617655,
"bot_b_aggression_factor": 12.058181818181819,
"bot_b_vpip": 1.0,
"bot_b_pfr": 0.939731411726171,
"bot_b_three_bet_pct": 0.9278714229713838,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "medium",
"display_bot_b_name": "hard"
},
"seed_123": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.5005,
"bot_b_win_rate": 0.4995,
"bot_a_bb100": 10.2,
"bot_b_bb100": -10.2,
"bot_a_total_profit": 2040,
"bot_b_total_profit": -2040,
"bot_a_profit_per_hand": 2.04,
"bot_b_profit_per_hand": -2.04,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_a",
"profit_leader_name": "bot_a",
"profit_leader_bb100": 10.2,
"avg_pot": 1658.885,
"avg_actions": 7.796,
"showdown_rate": 0.998,
"bot_a_win_rate_ci_low": 0.4695096944255142,
"bot_a_win_rate_ci_high": 0.5314903055744856,
"bot_b_win_rate_ci_low": 0.46850969442551427,
"bot_b_win_rate_ci_high": 0.5304903055744857,
"p_value": 0.9747728793699633,
"effect_size": 0.0010000001666663483,
"significant": false,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.8211937152689972,
"bot_a_decision_count": 4201,
"bot_a_fold_pct_decision": 0.00047607712449416806,
"bot_a_check_pct_decision": 0.05879552487502975,
"bot_a_call_pct_decision": 0.308736015234468,
"bot_a_raise_pct_decision": 0.6319923827660081,
"bot_a_aggression_pct": 0.6718117408906883,
"bot_a_aggression_factor": 2.047031611410948,
"bot_a_vpip": 0.9997022036926743,
"bot_a_pfr": 0.7507444907683145,
"bot_a_three_bet_pct": 0.7078376487053883,
"bot_a_fold_to_raise_pct": 0.0005988023952095808,
"bot_b_decision_count": 3595,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.07093184979137691,
"bot_b_raise_pct_decision": 0.9290681502086231,
"bot_b_aggression_pct": 0.9290681502086231,
"bot_b_aggression_factor": 13.098039215686274,
"bot_b_vpip": 1.0,
"bot_b_pfr": 0.9454184584849488,
"bot_b_three_bet_pct": 0.9345497818326061,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "medium",
"display_bot_b_name": "hard"
},
"seed_999": {
"n_hands": 1000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.479,
"bot_b_win_rate": 0.521,
"bot_a_bb100": -202.2,
"bot_b_bb100": 202.2,
"bot_a_total_profit": -40440,
"bot_b_total_profit": 40440,
"bot_a_profit_per_hand": -40.44,
"bot_b_profit_per_hand": 40.44,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 202.2,
"avg_pot": 1662.793,
"avg_actions": 7.764,
"showdown_rate": 0.997,
"bot_a_win_rate_ci_low": 0.44803702445823396,
"bot_a_win_rate_ci_high": 0.509962975541766,
"bot_b_win_rate_ci_low": 0.490037024458234,
"bot_b_win_rate_ci_high": 0.551962975541766,
"p_value": 0.18412637278497912,
"effect_size": 0.04201235781214696,
"significant": false,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.8209880420449713,
"bot_a_decision_count": 4158,
"bot_a_fold_pct_decision": 0.0007215007215007215,
"bot_a_check_pct_decision": 0.05555555555555555,
"bot_a_call_pct_decision": 0.303992303992304,
"bot_a_raise_pct_decision": 0.6397306397306397,
"bot_a_aggression_pct": 0.6778797145769623,
"bot_a_aggression_factor": 2.1044303797468356,
"bot_a_vpip": 0.9991068770467401,
"bot_a_pfr": 0.7609407561774337,
"bot_a_three_bet_pct": 0.7198321091290661,
"bot_a_fold_to_raise_pct": 0.000900360144057623,
"bot_b_decision_count": 3606,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.07598447032723239,
"bot_b_raise_pct_decision": 0.9240155296727676,
"bot_b_aggression_pct": 0.9240155296727676,
"bot_b_aggression_factor": 12.16058394160584,
"bot_b_vpip": 1.0,
"bot_b_pfr": 0.9349247874427731,
"bot_b_three_bet_pct": 0.9221439749608764,
"bot_b_fold_to_raise_pct": 0.0,
"display_bot_a_name": "medium",
"display_bot_b_name": "hard"
}
},
"aggregated": {
"bot_b_win_rate_ci_high_mean": 0.5421443752288508,
"bot_b_win_rate_ci_high_std": 0.008861737965677205,
"bot_b_raise_pct_decision_mean": 0.925501113381052,
"bot_b_raise_pct_decision_std": 0.002533979595508235,
"bot_a_win_rate_mean": 0.4888333333333333,
"bot_a_win_rate_std": 0.008872554436137426,
"p_value_mean": 0.5232889247477593,
"p_value_std": 0.33240792982448053,
"avg_pot_mean": 1660.856,
"avg_pot_std": 1.5956154507482505,
"bot_a_check_pct_decision_mean": 0.05638625757942587,
"bot_a_check_pct_decision_std": 0.0017307515777114425,
"illegal_action_rate_mean": 0.0,
"illegal_action_rate_std": 0.0,
"bot_b_aggression_pct_mean": 0.925501113381052,
"bot_b_aggression_pct_std": 0.002533979595508235,
"bot_a_bb100_mean": -106.13333333333333,
"bot_a_bb100_std": 87.88816125559168,
"bot_a_profit_per_hand_mean": -21.226666666666667,
"bot_a_profit_per_hand_std": 17.577632251118338,
"bot_a_call_pct_decision_mean": 0.30432290128071887,
"bot_a_call_pct_decision_std": 0.003476195797065827,
"bot_b_vpip_mean": 1.0,
"bot_b_vpip_std": 0.0,
"bot_a_raise_pct_decision_mean": 0.6387313921142672,
"bot_a_raise_pct_decision_std": 0.005143202878025189,
"bot_b_pfr_mean": 0.940024885884631,
"bot_b_pfr_std": 0.004289046381703978,
"showdown_rate_mean": 0.9976666666666667,
"showdown_rate_std": 0.0004714045207910321,
"bot_a_vpip_mean": 0.9994051442575529,
"bot_a_vpip_std": 0.00024304258595481744,
"avg_three_bet_frequency_mean": 0.8213025465302923,
"avg_three_bet_frequency_std": 0.00031089680446789975,
"bot_b_fold_to_raise_pct_mean": 0.0,
"bot_b_fold_to_raise_pct_std": 0.0,
"effect_size_mean": 0.0230050960678696,
"effect_size_std": 0.01687688018433357,
"bot_b_win_rate_ci_low_mean": 0.4801889581044825,
"bot_b_win_rate_ci_low_std": 0.00888337200681962,
"bot_b_decision_count_mean": 3597.3333333333335,
"bot_b_decision_count_std": 6.342099196813483,
"bot_a_win_rate_ci_low_mean": 0.4578556247711491,
"bot_a_win_rate_ci_low_std": 0.0088617379656772,
"profit_leader_bb100_mean": 112.93333333333334,
"profit_leader_bb100_std": 78.95996172463329,
"timeout_rate_mean": 0.0,
"timeout_rate_std": 0.0,
"bot_b_three_bet_pct_mean": 0.9281883932549554,
"bot_b_three_bet_pct_std": 0.005069606405180075,
"bot_a_pfr_mean": 0.7562944095142204,
"bot_a_pfr_std": 0.004211356784914361,
"bot_a_total_profit_mean": -21226.666666666668,
"bot_a_total_profit_std": 17577.63225111834,
"crash_rate_mean": 0.0,
"crash_rate_std": 0.0,
"avg_actions_mean": 7.770333333333333,
"avg_actions_std": 0.018909139471577092,
"bot_b_check_pct_decision_mean": 0.0,
"bot_b_check_pct_decision_std": 0.0,
"bot_b_aggression_factor_mean": 12.438934991824643,
"bot_b_aggression_factor_std": 0.4679282937620667,
"zero_sum_delta_mean": 0.0,
"zero_sum_delta_std": 0.0,
"bot_a_fold_pct_decision_mean": 0.0005594490255880401,
"bot_a_fold_pct_decision_std": 0.00011460386286816059,
"bot_a_aggression_factor_mean": 2.0993264016429336,
"bot_a_aggression_factor_std": 0.04077486328283029,
"bot_b_bb100_mean": 106.13333333333333,
"bot_b_bb100_std": 87.88816125559168,
"bot_a_win_rate_ci_high_mean": 0.5198110418955175,
"bot_a_win_rate_ci_high_std": 0.008883372006819592,
"bot_b_profit_per_hand_mean": 21.226666666666667,
"bot_b_profit_per_hand_std": 17.577632251118338,
"bot_b_total_profit_mean": 21226.666666666668,
"bot_b_total_profit_std": 17577.63225111834,
"bot_b_win_rate_mean": 0.5111666666666667,
"bot_b_win_rate_std": 0.00887255443613745,
"bot_a_three_bet_pct_mean": 0.7144166998056292,
"bot_a_three_bet_pct_std": 0.00496536785158532,
"bot_a_aggression_pct_mean": 0.6772932502110149,
"bot_a_aggression_pct_std": 0.004256459796072686,
"bot_b_call_pct_decision_mean": 0.07449888661894792,
"bot_b_call_pct_decision_std": 0.0025339795955082057,
"bot_a_fold_to_raise_pct_mean": 0.000700766282690998,
"bot_a_fold_to_raise_pct_std": 0.0001411452628162313,
"bot_b_fold_pct_decision_mean": 0.0,
"bot_b_fold_pct_decision_std": 0.0,
"bot_a_decision_count_mean": 4173.0,
"bot_a_decision_count_std": 19.8158185969358,
"n_seeds": 3,
"n_hands_per_seed": 1000
},
"overall": {
"n_hands": 3000,
"bot_a_name": "bot_a",
"bot_b_name": "bot_b",
"bot_a_win_rate": 0.48883333333333334,
"bot_b_win_rate": 0.5111666666666667,
"bot_a_bb100": -106.13333333333333,
"bot_b_bb100": 106.13333333333333,
"bot_a_total_profit": -63680,
"bot_b_total_profit": 63680,
"bot_a_profit_per_hand": -21.226666666666667,
"bot_b_profit_per_hand": 21.226666666666667,
"zero_sum_delta": 0,
"zero_sum_ok": true,
"profit_leader_side": "bot_b",
"profit_leader_name": "bot_b",
"profit_leader_bb100": 106.13333333333333,
"avg_pot": 1660.856,
"avg_actions": 7.770333333333333,
"showdown_rate": 0.9976666666666667,
"bot_a_win_rate_ci_low": 0.4709455258114278,
"bot_a_win_rate_ci_high": 0.5067211408552389,
"bot_b_win_rate_ci_low": 0.4932788591447611,
"bot_b_win_rate_ci_high": 0.5290544741885722,
"p_value": 0.2212364015336319,
"effect_size": 0.022335190311890907,
"significant": false,
"illegal_action_rate": 0.0,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"avg_three_bet_frequency": 0.8212891170135748,
"bot_a_decision_count": 12519,
"bot_a_fold_pct_decision": 0.0005591500918603722,
"bot_a_check_pct_decision": 0.056394280693346115,
"bot_a_call_pct_decision": 0.30433740714114543,
"bot_a_raise_pct_decision": 0.638709162073648,
"bot_a_aggression_pct": 0.6772827375910554,
"bot_a_aggression_factor": 2.0986876640419947,
"bot_a_vpip": 0.9994051160023796,
"bot_a_pfr": 0.7562958556414833,
"bot_a_three_bet_pct": 0.7144188213370604,
"bot_a_fold_to_raise_pct": 0.0007008410092110533,
"bot_b_decision_count": 10792,
"bot_b_fold_pct_decision": 0.0,
"bot_b_check_pct_decision": 0.0,
"bot_b_call_pct_decision": 0.07449962935507784,
"bot_b_raise_pct_decision": 0.9255003706449222,
"bot_b_aggression_pct": 0.9255003706449222,
"bot_b_aggression_factor": 12.422885572139304,
"bot_b_vpip": 1.0,
"bot_b_pfr": 0.9400043792423911,
"bot_b_three_bet_pct": 0.9281594126900892,
"bot_b_fold_to_raise_pct": 0.0
},
"summary": {
"matchup_key": "medium_vs_hard",
"matchup": "hard vs medium",
"winner": "hard",
"loser": "medium",
"winner_side": "bot_b",
"win_rate_mean": 0.5111666666666667,
"win_rate_std": 0.00887255443613745,
"bb100_mean": 106.13333333333333,
"bb100_std": 87.88816125559168,
"ci_low": 0.4932788591447611,
"ci_high": 0.5290544741885722,
"ci_95": "[49.3%, 52.9%]",
"p_value": 0.2212364015336319,
"effect_size": 0.022335190311890463,
"significant": false,
"verdict": "hard > medium ?",
"showdown_rate": 0.9976666666666667,
"avg_pot": 1660.856,
"avg_actions": 7.770333333333333,
"avg_three_bet_frequency": 0.8212891170135748,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9255003706449222,
"winner_pfr": 0.9400043792423911,
"winner_three_bet_pct": 0.9281594126900892
}
}
},
"summary_table": [
{
"matchup_key": "easy_vs_medium",
"matchup": "medium vs easy",
"winner": "medium",
"loser": "easy",
"winner_side": "bot_b",
"win_rate_mean": 0.7121666666666666,
"win_rate_std": 0.010426994879744736,
"bb100_mean": 12.598333333333331,
"bb100_std": 51.83641421712046,
"ci_low": 0.6959651075871395,
"ci_high": 0.7283682257461938,
"ci_95": "[69.6%, 72.8%]",
"p_value": 0.0,
"effect_size": 0.43822552193333375,
"significant": true,
"verdict": "medium > easy \u2713",
"showdown_rate": 0.51,
"avg_pot": 775.15,
"avg_actions": 7.1386666666666665,
"avg_three_bet_frequency": 0.5278668915443595,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9530844705086275,
"winner_pfr": 0.9880863737900223,
"winner_three_bet_pct": 0.9396825396825397
},
{
"matchup_key": "easy_vs_hard",
"matchup": "hard vs easy",
"winner": "hard",
"loser": "easy",
"winner_side": "bot_b",
"win_rate_mean": 0.7128333333333333,
"win_rate_std": 0.016977108770995807,
"bb100_mean": 26.64833333333333,
"bb100_std": 107.00202368283611,
"ci_low": 0.6966429751276101,
"ci_high": 0.7290236915390566,
"ci_95": "[69.7%, 72.9%]",
"p_value": 0.0,
"effect_size": 0.4396985039590027,
"significant": true,
"verdict": "hard > easy \u2713",
"showdown_rate": 0.5146666666666667,
"avg_pot": 948.5943333333333,
"avg_actions": 6.691666666666666,
"avg_three_bet_frequency": 0.5578281889178133,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9598940142117307,
"winner_pfr": 1.0,
"winner_three_bet_pct": 1.0
},
{
"matchup_key": "medium_vs_hard",
"matchup": "hard vs medium",
"winner": "hard",
"loser": "medium",
"winner_side": "bot_b",
"win_rate_mean": 0.5111666666666667,
"win_rate_std": 0.00887255443613745,
"bb100_mean": 106.13333333333333,
"bb100_std": 87.88816125559168,
"ci_low": 0.4932788591447611,
"ci_high": 0.5290544741885722,
"ci_95": "[49.3%, 52.9%]",
"p_value": 0.2212364015336319,
"effect_size": 0.022335190311890463,
"significant": false,
"verdict": "hard > medium ?",
"showdown_rate": 0.9976666666666667,
"avg_pot": 1660.856,
"avg_actions": 7.770333333333333,
"avg_three_bet_frequency": 0.8212891170135748,
"timeout_rate": 0.0,
"crash_rate": 0.0,
"illegal_action_rate": 0.0,
"winner_raise_pct": 0.9255003706449222,
"winner_pfr": 0.9400043792423911,
"winner_three_bet_pct": 0.9281594126900892
}
],
"behavior_summary": {
"easy": {
"decision_count": 24321,
"fold_pct_decision": 0.12026643641297644,
"check_pct_decision": 0.1589161629867193,
"call_pct_decision": 0.565478393158176,
"raise_pct_decision": 0.1553390074421282,
"aggression_pct": 0.21550396440590952,
"aggression_factor": 0.2747037010106886,
"vpip": 0.7091366303436715,
"pfr": 0.07579930547239852,
"three_bet_pct": 0.11585251731237133,
"fold_to_raise_pct": 0.10236891784909567
},
"medium": {
"decision_count": 21386,
"fold_pct_decision": 0.00037407649864397267,
"check_pct_decision": 0.03656597774244833,
"call_pct_decision": 0.19400542410923033,
"raise_pct_decision": 0.7690545216496774,
"aggression_pct": 0.7985531171101184,
"aggression_factor": 3.9640877319836103,
"vpip": 0.9991387409959286,
"pfr": 0.8050422799874726,
"three_bet_pct": 0.7223907426131895,
"fold_to_raise_pct": 0.0006676681689200467
},
"hard": {
"decision_count": 19095,
"fold_pct_decision": 0.0,
"check_pct_decision": 0.0,
"call_pct_decision": 0.05954438334642577,
"raise_pct_decision": 0.9404556166535742,
"aggression_pct": 0.9404556166535742,
"aggression_factor": 15.79419525065963,
"vpip": 1.0,
"pfr": 0.9536496659054385,
"three_bet_pct": 0.9310344827586207,
"fold_to_raise_pct": 0.0
}
},
"hierarchy_validation": {
"winner_order_ok": true,
"significance_ok": false,
"hard_vs_medium_target_ok": false,
"behavior_order_ok": true,
"confirmed": false
},
"checkpoint_metadata": {
"model_status": {
"medium_loaded": true,
"hard_loaded": true,
"warning": "",
"medium_path": "/home/rushi/poker/backend/data/models/medium/ppo_medium_final.zip",
"hard_path": "/home/rushi/poker/backend/data/models/hard/ppo_hard_final.zip"
},
"checkpoint_paths": {
"medium_final": "/home/rushi/poker/backend/data/models/medium/ppo_medium_final.zip",
"hard_final": "/home/rushi/poker/backend/data/models/hard/ppo_hard_final.zip",
"hard_best": "/home/rushi/poker/backend/data/models/hard/best/best_model.zip",
"medium_best": "/home/rushi/poker/backend/data/models/medium/best/best_model.zip"
}
}
}