保留正文与补采附件。源页面当前未重新核验;具体限制见交付清单。
We value your privacy
We use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic. By clicking "Accept All", you consent to our use of cookies.
Customise Reject All Accept All
Customise Consent Preferences
We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.
The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... Show more
NecessaryAlways Active
Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.
Cookie BCTempID
Duration 10 minutes
Description No description available.
Cookie __cf_bm
Duration 1 hour
Description This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
Cookie AWSALBCORS
Duration 7 days
Description Amazon Web Services set this cookie for load balancing.
Cookie _cfuvid
Duration session
Description Cloudflare sets this cookie to track users across sessions to optimize user experience by maintaining session consistency and providing personalized services
Cookie li_gc
Duration 6 months
Description Linkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.
Cookie __hssrc
Duration session
Description This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
Cookie __hssc
Duration 1 hour
Description HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
Cookie wpEmojiSettingsSupports
Duration session
Description WordPress sets this cookie when a user interacts with emojis on a WordPress site. It helps determine if the user's browser can display emojis properly.
Cookie BCSessionID
Duration 1 year 1 month 4 days
Description Blueconic sets this cookie as a unique identifier for the BlueConic profile.
Cookie _octo
Duration 1 year
Description No description available.
Cookie logged_in
Duration 1 year
Description No description available.
Cookie __Secure-YEC
Duration past
Description YouTube sets this cookie to stores the user's video player preferences using embedded YouTube video
Cookie __eoi
Duration 6 months
Description Description is currently not available.
Cookie AWSALBTGCORS
Duration 7 days
Description No description available.
Cookie login-status-p
Duration past
Description Description is currently not available.
Cookie AWSALBTG
Duration 7 days
Description No description available.
Cookie csrf_token
Duration session
Description No description available.
Cookie token_v2
Duration 1 day
Description Description is currently not available.
Cookie D
Duration 1 year
Description Description is currently not available.
Cookie PHPSESSID
Duration session
Description This cookie is native to PHP applications. The cookie stores and identifies a user's unique session ID to manage user sessions on the website. The cookie is a session cookie and will be deleted when all the browser windows are closed.
Cookie VISITOR_PRIVACY_METADATA
Duration 6 months
Description YouTube sets this cookie to store the user's cookie consent state for the current domain.
Cookie cookietest
Duration session
Description The cookietest cookie is typically used to determine whether the user's browser accepts cookies, essential for website functionality and user experience.
Cookie __Host-airtable-session
Duration 1 year
Description This cookie is used to enable us to integrate the services of Airtable.
Cookie __Host-airtable-session.sig
Duration 1 year
Description This cookie is used to enable us to integrate the services of Airtable.
Cookie m
Duration 1 year 1 month 4 days
Description Stripe sets this cookie for fraud prevention purposes. It identifies the device used to access the website, allowing the website to be formatted accordingly.
Cookie BIGipServer*
Duration session
Description Marketo sets this cookie to collect information about the user's online activity and build a profile about their interests to provide advertisements relevant to the user.
Cookie __cfruid
Duration session
Description Cloudflare sets this cookie to identify trusted web traffic.
Cookie _GRECAPTCHA
Duration 6 months
Description Google Recaptcha service sets this cookie to identify bots to protect the website against malicious spam attacks.
Cookie __Secure-YNID
Duration 6 months
Description Google cookie used to protect user security and prevent fraud, especially during the login process.
Cookie cookieyes-consent
Duration 1 year
Description CookieYes sets this cookie to remember users' consent preferences so that their preferences are respected on subsequent visits to this site. It does not collect or store any personal information about the site visitors.
Functional Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.
Cookie lidc
Duration 1 day
Description LinkedIn sets the lidc cookie to facilitate data center selection.
Cookie brw
Duration 1 year
Description No description available.
Cookie brwConsent
Duration 5 minutes
Description Description is currently not available.
Cookie WMF-Uniq
Duration 1 year
Description Description is currently not available.
Cookie loom_anon_comment
Duration 1 year
Description No description available.
Cookie loom_referral_video
Duration session
Description Description is currently not available.
Cookie VISITOR_INFO1_LIVE
Duration 6 months
Description A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
Cookie yt-remote-connected-devices
Duration Never Expires
Description YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
Cookie ytidb::LAST_RESULT_ENTRY_KEY
Duration Never Expires
Description The cookie ytidb::LAST_RESULT_ENTRY_KEY is used by YouTube to store the last search result entry that was clicked by the user. This information is used to improve the user experience by providing more relevant search results in the future.
Cookie yt-remote-device-id
Duration Never Expires
Description YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
Cookie yt-remote-session-name
Duration session
Description The yt-remote-session-name cookie is used by YouTube to store the user's video player preferences using embedded YouTube video.
Cookie yt-remote-fast-check-period
Duration session
Description The yt-remote-fast-check-period cookie is used by YouTube to store the user's video player preferences for embedded YouTube videos.
Cookie yt-remote-session-app
Duration session
Description The yt-remote-session-app cookie is used by YouTube to store user preferences and information about the interface of the embedded YouTube video player.
Cookie yt-remote-cast-available
Duration session
Description The yt-remote-cast-available cookie is used to store the user's preferences regarding whether casting is available on their YouTube video player.
Cookie yt-remote-cast-installed
Duration session
Description The yt-remote-cast-installed cookie is used to store the user's video player preferences using embedded YouTube video.
Cookie cp_session
Duration 3 months
Description Codepen sets this cookie for Help systems found in the website.
Cookie loid
Duration 1 year 1 month 4 days
Description This cookie is set by the Reddit. The cookie enables the sharing of content from the website onto the social media platform.
Analytics Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.
Cookie __hstc
Duration 6 months
Description Hubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
Cookie hubspotutk
Duration 6 months
Description HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
Cookie _ga
Duration 1 year 1 month 4 days
Description Google Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.
Cookie ga*
Duration 1 year 1 month 4 days
Description Google Analytics sets this cookie to store and count page views.
Cookie __Host-psifi.analyticsTrace
Duration 6 hours
Description Description is currently not available.
Cookie __Host-psifi.analyticsTraceV2
Duration 6 hours
Description Description is currently not available.
Cookie _gh_sess
Duration session
Description GitHub sets this cookie for temporary application and framework state between pages like what step the user is on in a multiple step form.
Cookie YSC
Duration session
Description YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
Cookie ajs_anonymous_id
Duration 1 year
Description This cookie is set by Segment to count the number of people who visit a certain site by tracking if they have visited before.
Cookie vuid
Duration 1 year 1 month 4 days
Description Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos on the website.
Performance Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Cookie AWSALB
Duration 7 days
Description AWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target.
Cookie acq
Duration past
Description Description is currently not available.
Cookie acq.sig
Duration past
Description Description is currently not available.
Cookie ptc
Duration 2 years
Description No description available.
Advertisement Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.
Cookie muc_ads
Duration 1 year 1 month 4 days
Description Twitter sets this cookie to collect user behaviour and interaction data to optimize the website.
Cookie guest_id_marketing
Duration 1 year 1 month 4 days
Description Twitter sets this cookie to identify and track the website visitor.
Cookie guest_id_ads
Duration 1 year 1 month 4 days
Description Twitter sets this cookie to identify and track the website visitor.
Cookie personalization_id
Duration 1 year 1 month 4 days
Description Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.
Cookie guest_id
Duration 1 year 1 month 4 days
Description Twitter sets this cookie to identify and track the website visitor. It registers if a user is signed in to the Twitter platform and collects information about ad preferences.
Cookie bcookie
Duration 1 year
Description LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.
Cookie __Secure-ROLLOUT_TOKEN
Duration 6 months
Description YouTube sets this cookie to manage feature rollout and experimentation. It helps Google control which new features or interface changes are shown to users as part of testing and staged rollouts, ensuring consistent experience for a given user during an experiment.
Cookie yt.innertube::nextId
Duration Never Expires
Description YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
Cookie yt.innertube::requests
Duration Never Expires
Description YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
Cookie session_tracker
Duration session
Description This cookie is set by the Reddit. This cookie is used to identify trusted web traffic. It also helps in adverstising on the website.
Cookie edgebucket
Duration session
Description Reddit sets this cookie to save the information about a log-on Reddit user, for the purpose of advertisement recommendations and updating the content.
Cookie did
Duration 1 year
Description Arbor sets this cookie to show targeted ads to site visitors.This cookie expires after 2 months or 1 year.
Uncategorised Other uncategorised cookies are those that are being analysed and have not been classified into a category as yet. No cookies to display. Reject All Save My Preferences Accept All Toggle SearchToggle Mobile Navigation Publish AI, ML & data-science insights to a global community of data professionals. Sign inSubmit an Article LatestEditor's PicksNewsletterShipAI
Write For TDS LinkedInXToggle Search Data analysis
Data Storytelling Series, Chapter 1
Ivo Bernardo
August 4, 202616 min read
Referee Home Leniency through Time - Image by Author
The internet loves a good argument, and it’s awfully tempting to jump on a bandwagon before checking the facts. But since one of my roles in the world is being a data scientist, I have a habit of wanting to run the numbers before I form an opinion.
Lately, I’ve turned this into a routine: whenever a debate sparks up over something we can measure, I track down the data to get the facts straight. I finally reached my limit with the wild guessing people rely on to make their points, so I decided to use my skills to let the numbers do the talking instead. And since I’m already going down these rabbit holes just to shut up my friends, I figured it would be cool to start sharing my findings with you.
This weekend, with the World Cup barely cold and half the planet still arguing about it — the US included, now that they’ve apparently discovered soccer exists (it’s football , if you’re reading this from the right side of the Atlantic) — I got into a long argument with a friend.
His theory: big teams are favoured because the referees fold under pressure and respect those clubs more. My theory: that’s his perception because of a strong home bias — refs may feel under pressure due to home crowds.
As you may know, most football fans are not exactly rational about referees. Two people supporting different clubs can watch the exact same tackle and see two completely different fouls. But my friend’s argument left me with a question. Do big teams really get favored by referees? Are there other factors creating this perception? Or is no one favored at all?
Normally, I’d be just as biased as anyone else. But since I recently stopped following football after some club elections left me totally disillusioned about my club, I think I finally have the emotional maturity and detachment to investigate this purely through the data.
Gather around, folks. Let’s find out if referees fold under pressure.
···
Learn this step by step with the interactive Data Analyst roadmap.
Data from Football Data - Image by Author
Everything here comes from football-data.co.uk, which is a small miracle of a website: free, tidy, and maintained by people who clearly love data (Joseph Buchdahl is a legend in the sports analytics space). It has results, odds, fouls, cards - the whole grammar of a football match, going back decades.
There’s one catch with this data for our purpose. Fouls and bookings only show up consistently from the 2017/18 season for a chunk of the leagues, so for those competitions we start the clock there and throw out anything earlier.
Small sample from our data
Now, the temptation (and this is exactly where most bar-stool arguments fall apart) is to just count yellow cards/fouls as the referee punishment. Big team gets fewer cards at home, case closed, referees are bought.
Except cards on their own tell you almost nothing, because they depend on how much you foul in the first place. A team that dominates the ball and camps in the opponent’s half commits fewer fouls, and fewer fouls means fewer chances to get booked.
So the real unit of this whole study isn’t cards. It’s cards per foul — the referee’s conversion rate. Of all the fouls you commit, how many actually get punished? And even that number must be looked with caution.
Two pairs of columns carry the referee intervention in our dataset:
A referee’s whistle doesn’t happen in a vacuum, though, so before I blame the crowd I have to strip out everything else that could explain the pattern. Maybe the big teams get the calls because they’re simply better, not because they’re home — so I take the betting odds, strip out the bookmaker’s margin, and use them to measure how lopsided each match was on paper. Maybe the away team just fouls more because it spends ninety minutes defending so we’ll use shots and possession to account for territory. And maybe it’s game state: chasing a 0–1 at half-time changes how recklessly you tackle, so the half-time score goes in too. We’ll take this into account in our analysis. My bet (and the argument I had with my friend) is that home bias (clubs that play at home) has a much larger impact on the ref than “bigger clubs”. On the data, I’ll also use two important angles to see that:
The rest is bookkeeping: which league, which season, which two clubs, plus the raw results and shot counts kept around in case we need them. ···
Home and Away Fouls per Game
With the data in hand, the first thing worth looking at is which leagues foul the most.
No surprise to me: the portuguese Primeira Liga is one of the most foul-heavy top flight in the dataset at 29.4 fouls a game, second only to Italy’s Serie B across all fourteen divisions. And Portugal is top of the lot for fouls committed by the home team.
The pattern is geographic. Italy, Portugal and Spain fill the top five, while the Eredivisie, the Premier League and the Championship sit at the bottom on 21 to 22. Southern European games get stopped far more often than northern ones.
Fouls per Game - Image by Author
The next thing that jumps out is that home and away teams foul ratio has a gap that changes between every league.
Fouls per Game per League (Home Team vs. Away Team) - Image by Author
In Spain, Portugal and Turkey the home side actually fouls more. Everywhere else the away side edges it, but the possible explanation is that home teams spend more of the match attacking, so they get fewer opportunities to foul in the first place. The difference is there, though. But that spread between leagues may be about playing culture, not about a referee benefitting home teams.
Note: I’ve excluded COVID-era matches from all of this. They come back later, when empty stadiums turn into the most useful thing in the whole dataset.
So referees call slightly more fouls against the away team. But calling a foul and punishing it are two different things. Cards are the punishment, so do away sides collect more of them?
Yellow Cards per Match (Home vs. Away) - Image by Author
Now this is interesting. In every single league, the home team is booked less. And the gap is remarkably steady: between 0.15 and 0.34 extra yellows per game for the away side, with most leagues sitting near 0.30.
Plenty of confounders are still in the way. We don’t know where on the pitch those fouls happened, or what kind they were. Away teams might, by playing style, commit more dangerous fouls simply because more of the game is happening in their own half.
I have a suspicion, and one obvious thing to rule out before I go anywhere near the crowd. If home teams spend the match camped in the opposition half, then the fouls committed against them happen in more dangerous places, and dangerous fouls deserve cards. That alone could explain everything, with no referee bias required.
To test it, I need to know who was actually on top during each match.
···
football-data website records no possession figures, but it does record three things that gesture at the same idea: shots, shots on target, and corners. Turn each into a share of the match total (for example, the home team’s shots divided by all shots taken) and average the three. The result runs from 0 to 1, where 0.5 is a perfectly balanced game and anything above it means a team spent the afternoon camped in the other half.
Across more than 50.000 matches the home side averages 0.548 and the away side 0.452. Home advantage turns up in the run of play before a referee blows anything.
The teams at the top of that index are who you’d expect: Teams like Celtic and Rangers, Bayern, all three of Portugal’s big clubs, Manchester City, PSV and Ajax, Barcelona.
Most dominant clubs according to our index
Corners and shot share usually agree, which makes them a solid proxy for which team dominated. It isn’t possession, and it isn’t time spent in the opponent’s half, but it captures domination well.
Correlation between Shots and Corners - Image by Author
The index isn’t flawless, though. Atlético Madrid are the obvious case: cynical, low-risk football that wins about a quarter of a point per game more than their territory says it should. They do dominate the shot count, third-best in La Liga, but the index still understates them, because efficiency in front of goal is invisible to it.
Territorial Dominance Index vs. Points per Game - Image by Author
Some clubs, Atlético Madrid or PSG before Luis Enrique, dominate games by taking their chances rather than by controlling territory. The index can’t see that.
Still, it correlates at 0.93 with points per game, which tells me it’s capturing something real about who controlled a match.
So now we can ask the question properly. Does home protection depend on territorial dominance? Again, if a home side spends the afternoon camped in the opposition half, does the gap between the fouls it commits and the cards it collects look different from a home side that’s being overrun?
That’s the test that separates two very different stories. If the home advantage only appears when the home team is on top, then this was never about the venue at all. It’s home teams simply being good more often and spending more time in opposition’s field (therefore, fouls from the away team are more deserving of a punishment). If the gap between cards and fouls survives even when the home side is being battered, something else is going on.
···
One cool finding: As the home team takes control of a game, the fouls dry up. A match where the home side is heavily outplayed produces about 26 fouls; one where it’s heavily on top produces closer to 25. Domination means fewer interruptions, and a more open game.
Fouls Commited per Match according to Home Team Dominance - Image by Author
Fouls move, then. But now let’s look at the card gap.
Yellow Cards per Match according to Home Team Dominance - Image by Author
Incredible. The card gap refuses to go anywhere. In every single band, the home side is booked less per foul it commits, and it isn’t a marginal thing. When the home team is heavily outplayed, pinned back and out-shot for ninety minutes, it’s still punished 7% less often than an away team having exactly as bad an afternoon.
If anything, the gap grows the more the home side dominates, from around 6% when it’s second best to nearly 11% when it’s on top. Dominating your opponent buys you extra leniency. But it surely isn’t where the leniency comes from, because the home team gets it either way.
If we apply a confidence interval on the distribution of this data, home bias always shows up in cards per foul, in every scenario:
Home Advantage in Cards Per Foul - Image by Author
There’s one more way to check this, and it’s the cleanest one football gives us for free. In almost every league, two teams play each other twice a season, once at each ground. Same two squads, same two styles, same manager in the vast majority of cases — the exceptions being sides that sacked their coach in between and other factors that affect some games.
But line the two fixtures up and flip home for away, and there’s little left to explain a difference except the venue itself. The home advantage holds there too:
Softer Whistle for Home Teams per League - Image by Author
···
Finally, let us do one last statistical test to isolate team strength. Does the home card-foul advantage survive once we control for team strength, or does it collapse into noise? The model takes one match at a time and asks whether the cards were shared out the way the fouls were: markup
home cards ~ Binomial(total cards in the match, p)
If cards simply followed fouls, a side committing 45% of a match’s fouls would collect 45% of its bookings. That proportionality is the model’s starting assumption, and what I measure is how far reality departs from it. Then I remove the controls one at a time, so that when a gap does show up I can see how much of it each factor accounts for, and how much is left over when they’ve all had their turn.
Two teams in one match still aren’t in identical positions, so the model makes four adjustments: for who dominated the play, who led at half time, who was the better side on the pre-match odds, and who won the corner count.
Binomial model per factor
Overall, home teams collect 11.3% fewer cards per foul than the side they’re playing. Home teams really are the better side more often, they really do dominate more of the play, they really are ahead at the break more often. The coefficients show each of those buys a softer whistle in its own right, so each of them could be doing the work.
Take out team strength (measured by pre-match odds) and the gap falls from 11.3% to 7.1%. Take out territory (possession play) and it goes to 6.4%. Half-time state and corners barely move it at all.
Which leaves 6.3% that none of those factors can account for. Two teams, same match, same referee, equally matched on the odds, equally dominant on the pitch, equally placed on the scoreboard — and the one wearing the home shirt is still punished 6.3% less for the fouls it commits.
The answer from this model are in line with the former conclusions: home teams are punished 6.3% less often per foul than their opponents in the same match, with a 95% confidence interval running from 5.0% to 7.6%. Across 54,000 matches, the chance of that being a fluke is roughly one in fifty billion billion.
···
Unless every referee in Europe is on the take, something else has to explain this. And the most obvious candidate is the thing clubs sell tickets for in the first place: the crowd.
Forty thousand people reacting to the same tackle at the same moment is a lot of pressure to be standing in the middle of. Cards are one of the few tools a referee has to keep control of a game, which makes them exactly the decision you’d expect that pressure to bend.
The problem is that you can’t randomise a crowd. You can’t ask half of Europe to play in front of 40,000 people and the other half in front of nobody, then compare the bookings.
Except that in 2020, a virus did it for us.
For a season and a half (due to Covid), matches across the continent were played in empty stadiums. If the crowd is what bends the whistle, then the home advantage should have walked out of the ground with the fans. And, surprise, surprise:
Home Whistle Advantage through time - Image by Author
In 2018/19, the last full season with crowds, the home advantage ran at 11.1%, (before the controls strip it back to 6.3%), so it’s the bigger number from earlier. It fell to 7.6% as 2019/20 was interrupted, then to 4.0% across the empty 2020/21. In 2021/22, with the turnstiles open again, it came back to 12.2%. Higher than before it left.
Crowds aren’t only working on the officials, and the next section separates that out, but this is the biggest single thing they move.
Football itself was different behind closed doors. Home teams lost whatever it is a crowd gives them and played worse for it, so maybe the cards simply followed the football, fewer home attacks, fewer away defenders scrambling to stop them, fewer bookings.
That’s testable. Take every measure of home advantage in the data and ask how much of it survived in an empty stadium. Shots, shots on target, corners and goals are what the players did. Cards per foul are what the referee gave.
Changes in different factors during Covid - Image by Author
On the pitch, home teams kept roughly half of what they had. They lost 38% of their edge in goals, 47% in shots, 48% in shots on target and 54% in corners. Diminished, but still recognisably home teams.
Their card advantage lost 101% of it.
···
Now, for my friend’s argument.
The dataset comes with bookmakers’ odds, which means I can measure how lopsided each match was expected to be before kick-off. Split every game by that and a pattern emerges on the cards per foul:
Expectation to win vs. Referee Leniency - Image by Author
When the home side is a heavy favourite, it’s booked 4.1 fewer times per 100 fouls than its opponent. When the away side is the heavy favourite, that flips: the home team is now booked 1.02 times more. Being expected to win buys you leniency, and the bigger the gap, the more it buys. On this chart, my friend is right.
Except that “heavy favourite” and “big club” aren’t the same thing, and neither is the same as “gets protected.” A side expected to win 4–0 plays a completely different match from one hanging on for a point. It has the ball more, defends less, and commits the kind of fouls that don’t need a card — the factors that justify the leniency that we’ve seen before.
So my friend was half right in a way that doesn’t help him. Favourites do get a softer whistle. But it isn’t respect for the badge, it’s probably because of the style of football they play.
···
So, let’s see some of the conclusion from this blog post:
The home bias isn’t the badge on the shirt. It’s the twenty or forty thousand people behind the goal, and referees, being human, hear them. ··· Which question do you want me to address next? Some caveats worth mentioning about the analysis:
[1] J. Buchdahl, Football-Data.co.uk (2026), https://www.football-data.co.uk
All articles on Towards Data Science are available to registered users. Create a free account today to access this article and thousands more. Register for freeSign in to your account
Written By
See all from Ivo Bernardo Deep DivesData ScienceFootball AnalyticsSoccer AnalyticsSports Analytics Share This Article
Towards Data Science is a community publication. Submit your insights to reach our global audience and earn through the TDS Author Payment Program. Write for TDS
Data Science Starting an exploratory data analysis can be daunting. How do you know what to look at? How do you know when you're done? What if you miss... Loren Hinkson June 19, 20246 min read
Machine Learning Part 4 - Towards Mamba State Space Models for Images, Videos and Time Series Sascha Kirch September 16, 202422 min read
Data analysis Dimensions are one of the two main object types in dimensional modelling. But what are the different types of dimensions? And how can you use them? Salvatore Cagliari August 21, 20268 min read
Programming A guide to building a front-end data application Thomas Reid June 23, 202511 min read
Data Science Learn how and why you should use the Lux library for your next Data Science project Ismael Araujo March 30, 20214 min read
Data analysis Have you ever wondered what happens when you apply a filter in a DAX expression? Salvatore Cagliari February 26, 202612 min read
Data Science Who is a data engineer? What does he need to know? What are his responsibilities and what are the challenges in the job? Einav Baraban July 25, 20216 min read
Data analysis Sometimes we have a slow Report, and we need to figure out why. I will show you how to collect performance data and what these metrics mean. Salvatore Cagliari April 22, 20259 min read
Artificial Intelligence Explore the shift from static reports to intelligent apps with our first ebook TDS Brand Studio July 1, 20252 min read
Your home for data science and AI. The world's leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals. Subscribe to Our NewsletterWrite For TDS•About•Advertise•Privacy Policy•Terms of Use © Insight Media Group, LLC 2026•The New Stack•roadmap.sh•Creator Network
Close