Background: the Dutch government publishes certain Covid-related metrics via a dashboard (https://coronadashboard.government.nl/) and I have a few questions about the underlying data science.
NUMBER OF POSITIVES
It's shown either as-is or as ratio per 100K inhabitants. Since population of the country hasn't changed significantly within 1 year, they both just reflect the number of positive cases:

OBJECTION
: if people get themselves tested more (eg going abroad on holiday during July/August, and are required by the destination countries to get tested), even if the same proportion of tests are positive, then because we have more tests, we'll have more positives, so by measuring # positives and not adjusting to # tests, we're subject to various biases towards # tested
.
PERCENTAGE OF TESTS WHICH ARE POSITIVE
This one is the ratio # positives / # tests
. Surprisingly, the trends are very similar, which seems to invalidate (at least partially) the objection formulated earlier:

Q1: Is there an explanation why the trends in [# positives] and [# positives / # tested] align so well?
My hypothesis: if you've been in contact with a positive case, it makes you more likely to be positive, and if you know you were in contact, it makes you more likely to get yourself tested, hence why the trends of # positives
and # positives / # tested
follow each other. Are there other explanations?
COMPARING BOTH
I downloaded the source data and compared both metrics:
import pandas as pd
import plotly.express as px
# Loading the source data
df_src = pd.read_csv('./COVID-19_uitgevoerde_testen.csv',sep=';')
# Keeping only coluns we're interested in and renaming
df = df_src[['Date_of_statistics','Tested_with_result','Tested_positive']]
df = df.rename(columns = {'Date_of_statistics': 'date', 'Tested_with_result': 'tested', 'Tested_positive': 'positive'})
# Grouping by test
df = df.groupby(['date']).sum().reset_index()
# Rolling 7-day mean
df['tested'] = df['tested'].rolling(7).mean()
df['positive'] = df['positive'].rolling(7).mean()
# Removing first 6 days for which we have no data due to 7-day rolling
df = df.iloc[6:]
# Calculating percentage of tests which came back positive
df['positive_rate'] = df['positive']/df['tested']
# Normalizing # positives and % positives as their peak so we can compare them
df['% positives (normalized)'] = df['positive_rate'] / df['positive_rate'].max() * 100
df['# positives (normalized)'] = df['positive'] / df['positive'].max() * 100
# Visualizing both # positives and % positive on the same chart
compare = df[['date','% positives (normalized)','# positives (normalized)']].melt(id_vars=['date'],var_name='metric')
compare.head()
fig = px.line(compare, x="date", y="value", color='metric')
fig.show()
Here is what I get:
As we can see the trends follow each other closely, the correlation coefficient on that dataset is actually 0.88
which confirms what we're seeing
Q2: Despite the very strong correlation, [# positives / # tested] seems a more robust metric than [# positives] as it removes biases towards # tested, so is there any reason why we would want to report on [# positives] at all?