One advertiser suggested that, in some cases, video viewing statistics had been overestimated by up to 80%.
Facebook's analytics are an important tool for advertisers, who use them to work out how much of their video content is being watched.
The social network said the error had been fixed and had not changed how much advertisers paid the site.
The error affected a Facebook metric called "average duration of video viewed", which was supposed to tell publishers for how long, on average, people had watched a video.
However, the metric did not include viewers who had watched for less than three seconds in the count.
Discounting the shorter views - including people who had ignored a video in their news feed - inflated the average viewing times for each video.
In a statement, Facebook said: "We recently discovered an error in the way we calculate one of our video metrics.
"This error has been fixed, it did not impact billing, and we have notified our partners both through our product dashboards and via sales and publisher outreach," it added.
The video-watching metric has now been renamed to more accurately reflect what it measures, the company said.
The metric is now called "average watch time" and Facebook started using this to gather statistics on video consumption late last month.
The statement also said the video-viewing metric was one among many that ad firms use to work out if their content is being watched.
The Wall Street Journal quoted ad-buying firm Publicis as saying that Facebook's misreporting was "unacceptable".
Publicis said it showed the need for third-party verification of statistics gathered by Facebook.
The social network has previously been criticised for counting a video as being "viewed" after three seconds.
Facebook has overestimated how much video people have watched for the last two years, the firm has admitted.