Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Several low risk encounters shown despite low infection rate #1361

Closed
2 tasks done
danielvonmitschke opened this issue Oct 17, 2020 · 21 comments
Closed
2 tasks done

Several low risk encounters shown despite low infection rate #1361

danielvonmitschke opened this issue Oct 17, 2020 · 21 comments
Assignees
Labels
bug Something isn't working mirrored-to-jira This item is also tracked internally in JIRA

Comments

@danielvonmitschke
Copy link

danielvonmitschke commented Oct 17, 2020

Avoid duplicates

  • Bug is not mentioned in the FAQ
  • Bug is not already reported in another issue

But could be a duplicate of or in relation to #1234

Describe the bug

I think there might be something wrong with the current implementation of the en framework.
Starting about 5-6 weeks ago I always have 1 to 5 low risk encounters shown in my app.
At first I thought, that I met someone or a group that might have been a type of infection cluster and the encounters are caused by this. But new low risk encounters keep popping up and almost never go down to zero.
You could say this to be normal if living in a hot spot with a very high infection rate and engaging in a lot of social interactions.
But none of this is the case.
I live in Munich and though we are slightly over the 50/100.000 level we only have about 1.500 concurrent infections.
Munich has a population of about 1.5 million.
Also I think you could assume that only 20% of these infected individuals actually use the app AND enter their positive test result.
So what are the odds to meet or pass by one of the infected persons (0,02% of the population) in such a big city?
Especially as the only places I go to are my office (with 5 other people) and the local super market (small to medium sized).
My office is about 1km from my home and I go there by bike on a quite deserted road (so almost never passing by anybody on my way to the office). There are no other places I go to.
And it's not only me. Some friends and relatives also are wondering all the time where their low risk encounters could be coming from.

Also I never ever had any matched keys in the log files (though #1106 assumes this only to be a logging issue).

I don't know if this is really a bug, but it feels kind of something not working properly (especially in relation to the zero matched keys count).

Expected behaviour

Not so many low risk encounters (and especially not so often additional/new ones).

Steps to reproduce the issue

Move to Munich ;)

Technical details

  • iOS Version: started with iOS 13.7 and currently on iOS 14.01
  • Device: iPhone XS

Possible Fix

--

Additional context

CoViD statistics for Munich:
https://www.muenchen.de/rathaus/Stadtinfos/Coronavirus-Fallzahlen.html


Internal Tracking ID: EXPOSUREAPP-3326

@danielvonmitschke danielvonmitschke added the bug Something isn't working label Oct 17, 2020
@Ein-Tim
Copy link
Contributor

Ein-Tim commented Oct 17, 2020

Hey @danielvonmitschke

You already found my Issue #1234, just btw I also live in Munich, so I've done your step to repoduce (;

Starting about 5-6 weeks ago I always have 1 to 5 low risk encounters shown in my app.

I know this behaviour, since the last 3 weeks my App always showed min 1, max 4 "Encounters with Low-Risk".
Even my second phone (as I described it in #1234) showed them

I am very, very sure that all your Encounters happened. The ENF, which uses BLE, records everything which is in the reach of your phone.
So even an bypassing cyclist, someone sitting in another car behind you or whatever is recorded and will get shown to you, even if the contact was very very short and the signal was very weak.
So if you ask me: I'm sure that these encounters happened

P.S.: The EN Log will be fixed with iOS 14.1 👍

@jwildeboer
Copy link

Hi! I also live in Munich and so far on both my devices my counts are zero. Maybe I'm just a bit more lonely ;)

Point is - you can live in Munich and have zero encounters. image

@heinezen heinezen changed the title The case of the low risk encounters Several low risk encounters shown despite low infection rate Oct 20, 2020
@heinezen heinezen added the mirrored-to-jira This item is also tracked internally in JIRA label Oct 20, 2020
@heinezen
Copy link
Member

Hey @danielvonmitschke ,

Thanks for reporting the problem. I have created a ticket in the internal Jira (ticket ID: EXPOSUREAPP-3326) and forwarded your feedback to the developers. They will now look at your issue and decide what to do. Any updates for solutions will be posted in this thread.

Regards,
CH


Corona-Warn-App Open Source Team

@danielvonmitschke
Copy link
Author

@Ein-Tim

I am very, very sure that all your Encounters happened. The ENF, which uses BLE, records everything which is in the reach of your phone.
So even an bypassing cyclist, someone sitting in another car behind you or whatever is recorded and will get shown to you, even if the contact was very very short and the signal was very weak.
So if you ask me: I'm sure that these encounters happened

I understand the concept behind this and that there can be a low risk encounter by just passing by someone.
If this results in low risk encounters some times, I wouldn't wonder about it. But it happens quite too often in my view.
Especially as I haven't been to any crowded places like the inner city where you are passing probably about 100 people just by walking quickly through Marienplatz. Actually I may be passing by just about 5-10 People a day.
So given the low infection rate, what are the odds?

@danielvonmitschke
Copy link
Author

@jwildeboer

Hi! I also live in Munich and so far on both my devices my counts are zero. Maybe I'm just a bit more lonely ;)
Point is - you can live in Munich and have zero encounters.

As I consider myself quite lonely too this kind of proves and disproves my point :)

@Ein-Tim
Copy link
Contributor

Ein-Tim commented Oct 21, 2020

@danielvonmitschke

So given the low infection rate, what are the odds?

I don't really know if we should talk about a low infection rate in Munich (7 days Incidence per 100.000 residents: 72,8 as of 20.10.20), but I understand your concerns...
Could you update to iOS 14.1, this should solve the Issue withe the 0s in the EN-Log so we can see if the ENF also writes Encounters in the Log? Thanks!

Edit: CWA has to download new keys so that there is a new Entry in the Log, and in this Entry there the correct number of Matched Keys should be shown

@danielvonmitschke
Copy link
Author

I don't really know if we should talk about a low infection rate in Munich (7 days Incidence per 100.000 residents: 72,8 as of 20.10.20), but I understand your concerns...

That's why I wrote "and though we are slightly over the 50/100.000 level we only have about 1.500 concurrent infections" :-)

Could you update to iOS 14.1, this should solve the Issue withe the 0s in the EN-Log so we can see if the ENF also writes Encounters in the Log? Thanks!

Did this 20min ago but probably will have to wait for the sync tonight.

@Ein-Tim
Copy link
Contributor

Ein-Tim commented Oct 21, 2020

Did this 20min ago but probably will have to wait for the sync tonight.

Nice (:, could you report back then, a working Log would be helpful 🙂

@jajoho
Copy link

jajoho commented Oct 21, 2020

@Ein-Tim I’ve just updated to iOS 14.1. The log does show one match

688ECA7E-9BA4-4D78-B9DB-F7BA356B3BC2
08D2DCE1-22D3-482E-9590-1196876BCBAB

@Ein-Tim
Copy link
Contributor

Ein-Tim commented Oct 21, 2020

@jajoho
Thanks for reporting, this is nice so I think #1106 is solved and can be closed.
I will still wait for @danielvonmitschke, because if his phone also shows the Matches in the Log we know that if there would be an Issue, it would be on Apples side, because CWA only shows the Matches given to it by the ENF.

@daimpi
Copy link

daimpi commented Oct 21, 2020

@danielvonmitschke

So given the low infection rate, what are the odds?

This is tricky: we can't assume uniform distribution of infections, rather we would expect high heterogeneity e.g. a high amount of spatial clustering in addition to temporal clustering: each infected person uploads up to 14 diagnosis keys (for the past 14 days) and places where infected ppl went have a higher chance to have been visited by other ppl who later turn out to be infected as well.
How exactly one would model this mathematically and what size of confidence intervals we could expect from this I dunno tbh. @hoehleatsu might know more on this topic.

And for a "simple sanity check" whether too many ppl get notified we would need the CWA status from at least a representative sample of ppl from e.g. Munich together with the number of DK uploads for that region afaik.

@mhoehle
Copy link

mhoehle commented Oct 21, 2020

As @daimpi writes neither the use of the CWA nor the distribution of COVID-19 cases is likely to be uniform in the population. As an example: See the age distribution of cases for Berlin. In other words: the likelihood of cases as well as CWA users might be higher for your contacts than in the average population. So hard to do any solid math here without reliable data. :-)

As an idea (will only work on Android though): Try to use Ramble to collect all Bluetooh beacons for a selected time window. It's possible to filter out those, which are CWA pings. This should give you an idea of how many contacts you have per day and the number might be surprisingly high, e.g., around the office, because it's ALL beacons which are stored by the app (independent of distance and duration), not just the high risk ones.

Notice also that if you met one person on several days, then this might induce several (low) risk encounters, because the app cannot distinguish if the diagnosis keys of persons between days (@daimpi please correct me, if I'm wrong here). So your 4 exposures could in reality just be one person, which you met on several days in the past.

@daimpi
Copy link

daimpi commented Oct 21, 2020

@hoehleatsu

As an idea (will only work on Android though): Try to use Ramble to collect all Bluetooh beacons for a selected time window. It's possible to filter out those, which are CWA pings. This should give you an idea of how many contacts you have per day and the number might be surprisingly high, e.g., around the office, because it's ALL beacons which are stored by the app (independent of distance and duration), not just the high risk ones.

That's a good idea, this is exactly what corona-warn-companion uses in RaMBLE mode 🙂.
Just one thing to remember: what you will see in this case are rolling proximity identifiers (RPIs). Those change every 10-15 min which means that you cannot reliably map from number of RPIs to number of CWA contacts in general: #678 (comment)
Also: each device produces 144 unique RPIs per day but even if your phone recorded all of them for one day and this person later turns out to have been positive, you'd still only see one Encounter in CWA and EN log. I've written about this in a bit more detail here.

Notice also that if you met one person on several days, then this might induce several (low) risk encounters, because the app cannot distinguish if the diagnosis keys of persons between days (@daimpi please correct me, if I'm wrong here).

You're absolutely correct: Temporary Exposure Keys (TEKs) have a validity of 24 h each (from 0 to 0 UTC each day) after which they will get replaced by a new TEK and without further information it is not possible to know whether they came from different ppl or the same person on different days i.e. meeting person A on day x and Person B on day x+1 looks identical to meeting person A on day x & x+1.

@danielvonmitschke
Copy link
Author

Nice (:, could you report back then, a working Log would be helpful 🙂

I can confirm that the log match count is correct with iOS 14.1.

@danielvonmitschke
Copy link
Author

@daimpi @hoehleatsu
Thank you for the insights.
Still not completely convinced but at least the fact about expiring exposure keys makes a lot of sense.
But I still think some of these very short (no risk at all) exposure should be filtered out as described proposed here.
This at least would remove a lot of confusion (and probably a lot of the low risk encounters).

@daimpi
Copy link

daimpi commented Oct 23, 2020

@danielvonmitschke glad we could help 🙂.

Regarding

But I still think some of these very short (no risk at all) exposure should be filtered out as described proposed here.
This at least would remove a lot of confusion (and probably a lot of the low risk encounters).

You might want to check out corona-warn-app/cwa-wishlist#181 and my response there.

@danielvonmitschke
Copy link
Author

@daimpi
I already read this thread and your reply and it makes total sense.
But I was referring to "time" instead of "distance".
From my understanding it's very hard (if not even impossible) to get infected by just passing by someone infected (if not getting coughed right in the face in exactly that moment).
So if we only have one or two single signals (I assume "time" is measured by the count of signals the phone has received) this encounter might be regarded as irrelevant.

@daimpi
Copy link

daimpi commented Oct 23, 2020

Time is probably measured by the timestamp at the beginning of a sighting vs. end of sighting:

Regarding the 2nd point (the "less than 10 min" statement): after reading a bit more, it seems that listening windows are not necessarily 5 min apart, but rather that there also exist closer scan intervals of only 2.5 min apart.
Given this and @mh-'s statement on Gitter, that timestamps of the scan windows are used, I think this point has indeed become moot.

(link)

If you just pass someone it's anyway not super likely that ENF will record their RPI as the listening windows are usually 2-5 min apart.

@danielvonmitschke
Copy link
Author

If you just pass someone it's anyway not super likely that ENF will record their RPI as the listening windows are usually 2-5 min apart.

That kind of contradicts all above theories about where these low risk encounters could be coming from :-)

@daimpi
Copy link

daimpi commented Oct 23, 2020

That kind of contradicts all above theories about where these low risk encounters could be coming from :-)

Depends on how many ppl you pass 😉. As stated above: it's hard to do the math without proper data.

@heinezen
Copy link
Member

I think the situation here was resolved, so we will close.


Corona-Warn-App Open Source Team

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working mirrored-to-jira This item is also tracked internally in JIRA
Projects
None yet
Development

No branches or pull requests

8 participants