Aprenda
Filters guide5 min de leitura·Atualizado em 24 de julho de 2026

Head-to-head and scheduling filters

Derbies, tired legs, midweek cup ties: the situational filters turn opponent history and the calendar into rules you can backtest, as long as you remember that the market reads the schedule too.

Rivalries, fatigue, and the calendar

A derby on Sunday, a cup tie on Wednesday, a long away trip in between. Any sharp bettor looks at that week and asks two questions the usual filters cannot answer. Who is the opponent, and how have these two sides historically handled each other? When did each team last play, and how many matches has it crammed into the past fortnight? Most filters on Bet2Invest describe a team in isolation: its price, its form, its scoring. The filters in this article describe a situation, and the platform lets you write that situation into a strategy as rules you can backtest.

Two warnings before the details. Most of this family sits in the Pro filter tier. And situational angles are exactly what bookmakers price most carefully: Pinnacle's traders can read a match calendar too. Everything below is a hypothesis to test, never a truth to bank on.

The head-to-head filters

h2h_result_rate looks at the last 5, 10 or 20 direct meetings between the two teams in the upcoming matchup and measures how often one of them achieved a chosen result: win, draw, loss, or their "non" counterparts such as non-loss. You set the rate range, "won at least 70% of the last 10 meetings" for instance. An optional minimum sample size lets you skip pairings where the teams have barely met, which happens more often than you would think.

h2h_result_streak is the streak version: the team is on a run of consecutive results across direct meetings, unbeaten in the last four encounters, say. Streak length runs from 1 to 20, and the head-to-head history itself is capped at 20 meetings.

Both filters only ever look at matches between these two specific opponents. That is their power, and their trap.

Why H2H windows stop at 20

Notice the windows: 5, 10, 20. Form filters go up to 50 or 70 matches; head-to-head stops at 20. That is not stinginess, it is arithmetic. Two teams in the same league typically meet twice a season, so a 10-meeting window can easily span five years. Five years of transfers, sackings, relegations and tactical rebuilds. The team that lost the first match in that window may share nothing with tonight's squad except the shirt.

So what is head-to-head data actually good for? Style matchups, mostly. Some pairings have a persistent texture: a pressing side that keeps struggling against a deep block, a big server who is simply awkward for one particular returner, a matchup that produces high-scoring games year after year. When a head-to-head pattern survives roster churn, it is usually because the styles collide the same way every time. Treat H2H as a hint that such a texture exists, then ask whether anything in the current squads still justifies it. What H2H is not is a stronger version of form. Five ancient meetings tell you far less about tonight than five matches from last month.

The most expensive filters on the platform

Digging through paired histories is heavy work for the backtest engine, and both head-to-head filters carry the platform's top resource cost: 5 points each, against 1 for day_of_week or 2 for match_density. Your plan caps total resource points across your strategies, so a strategy built around H2H conditions spends its budget fast. Use them where the opponent-specific angle genuinely is the idea, not as a decorative extra condition. Resource points and strategy slots explains how the budget works.

Rest, congestion, and the calendar

Four filters cover the scheduling side.

rest_days requires that a team has had at least a minimum number of days of rest, from 1 to 120, since its last match. Short rest means tired legs and, in squad sports, rotation: the eleven that starts three days after a long away trip is rarely the first-choice eleven. Long rest cuts the other way: freshness, but sometimes rust.

match_density counts matches rather than days: at most a set number of matches (0 to 30) in the last 7, 14 or 30 days. It catches the congestion a single rest gap misses. A team can have three full days of rest tonight and still be playing its seventh match in three weeks.

day_of_week keeps only matches starting on the weekdays you select. Midweek football is a different product from weekend football: cup ties, continental nights, rotated squads. One caveat: weekdays are evaluated in UTC, so a late-evening kick-off in the Americas can register as the following day.

year restricts matches to a chosen era, from 2006 onward (the platform's data floor). Its honest job is backtest hygiene. If a league changed format in 2019, or you simply do not trust pre-2020 data to describe today's game, a year floor keeps dead regimes out of your sample. Note that day_of_week and year sit in the Explorer tier; you do not need Pro for those two.

Angles worth testing, and the catch

Classic hypotheses this family can express: fade teams playing their third match in a week (match_density), back well-rested sides (rest_days), isolate midweek cup contexts (day_of_week), or check whether a lopsided head-to-head record persists (h2h_result_rate).

Every one of them runs into the same wall: the market knows the schedule. Calendars are public months in advance, and fatigue is among the first things priced into a line, so a raw "fade tired teams" rule usually just buys fair prices. The angle only pays where the market's adjustment is wrong, too small or too large. That is why these filters work best combined with a price condition such as odds_range: not "bet against every congested team", but "bet against congested teams only when the price still clears my bar". Backtest the combination, check the sample size, and be suspicious of anything that only worked in one season.

Where to go next

Continue aprendendo

Ver todos os artigos
The filter palette: an overview
Filters guide6 min de leitura

The filter palette: an overview

A map of all 24 filters: what each one tests, how they combine, which plan tier unlocks them, and how to pick the few that actually belong in your strategy.

Odds and market filters
Filters guide6 min de leitura

Odds and market filters

A deep dive into Odds range and Favorite side: what each one tests, how Odds range adapts to all four markets, and why the price window you choose shapes everything else about your strategy.

Form and scoring filters: the team-history family
Filters guide6 min de leitura

Form and scoring filters: the team-history family

Five Pro-tier filters that read a team's recent results and goals. How streaks, rates and averages work, and why raw form only pays when you combine it.