OpenStreetMap

Ich habe ein paar statistische Auswertungen rund um StreetComplete gemacht, und in diesem Post beschreibe ich was ich Ausgewertet habe und was die Ergebnisse sind.

(Dieser Post ist mehr oder weniger die Text-Version von diesem YouTube-Video.)

Zunächst einmal: Wie habe ich diese Daten ausgewertet, bzw. woher habe ich all die Infos, über die ich hier rede? Grundlage war das Skript StreetCompleteNumbers, dass ich vor einiger Zeit geschrieben habe. Es ist ein Python-Skript, mit dem man die Anzahl der gelösten Quests für einen Nutzer herausfinden kann. Das Skript gibt es auch auf GitHub. Dieses Skript kann man sehr einfach verwenden:

from StreetCompleteNumbers import StreetCompleteNumbers

StreetCompleteNumbers("wielandb")

Dann galt es nur noch herauszufinden, wer denn die Nutzer sind, deren StreetComplete-Zahlen wir herunterladen wollen. Dabei habe ich versucht eine Methode zu entwickeln, die eine möglichst kleine Anzahl an Anfragen an die OpenStreetMap-Server stellt. Also einfach für jeden Nutzer der mir unterkommt die gesamte Changeset-History runterladen sollte vermieden werden. Ich nutzte die täglichen replication-Diffs seit Oktober 2021 (also seit vor einem halben Jahr). Ich lud jede diff-Datei herunter, und sah mir jedes Changeset, dass in ihm vorkommt, an. Sollte ein Changeset den Changeset-Tag StreetComplete:QuestType enthalten, löse ich für diesen Nutzer ein herunterladen und abspeichern seiner Zahlen aus. Außerdem merkt sich das Programm, für welche Nutzer es schon StreetComplete-Zahlen abgespeichert hat, damit sie nicht zweimal für den selben Nutzer heruntergeladen werden.

Dadurch hatte ich am Ende die StreetComplete-Zahlen für 5284 Nutzer, was meine Datenbasis darstellte. Und so sind wir auch direkt bei der ersten Limitierung dieser Auswertung angelangt. In dieser Statistik tauchen nur Nutzer auf, die zwischen Oktober 2021 und März 2022 mindestens eine StreetComplete-Quest gelöst haben.

Bevor wir jetzt zu den Statistiken kommen, sei noch gesagt, dass ich in dieser Auswertung keine Nutzer beim Namen nennen möchte, weswegen wir gleich nur die Länder der Top-Nutzer sehen werden. So, kommen wir jetzt aber zu den Statistiken:

Wie viele ★ haben die Top-Nutzer?

Die unten stehende Statistik zeigt die Liste an Top-Nutzern in meinem Datensatz zusammen mit ihren Sternen und dem Land, aus dem sie kommen. Hier sei gesagt, dass ich das “Land aus dem sie kommen” “manuell” ermittelt habe. Also ich habe mir die OSM-Profile der betreffenden Nutzer angesehen und einfach nachgesehen wo ihre letzten Changesets so gemacht wurden. Es könnte also absolut sein, dass ich einfach einen ungünstigen Zeitpunkt erwischt habe und die betreffende Person einfach gerade woanders im Urlaub war.

Eine Statistik

Wie viele Nutzer haben deaktivierte Quests aktiviert?

Dafür habe ich selbst eine Liste mit den standardmäßig deaktivierten Quests erstellt und für jeden Nutzer in meiner Datenbasis überprüft, ob er für mindestens eine dieser Quests mindestens eine Lösung hat. Die Auswertung zeigte, ein Drittel der Nutzer hat nicht eine einzige standardmäßig deaktivierte Quest gelöst. Das muss in der Theorie nicht heißen, dass diese Nutzer keine dieser Quests aktiviert haben, aber da viele Quests deaktiviert sind, weil sie so spammy sind, haben wir hier denke ich eine gute Abschätzung.

Wie viele Quests wurden insgesamt gelöst?

Die Daten, die mir zur Verfügung stehen, weisen darauf hin, dass über 14 Millionen Quests mit StreetComplete gelöst wurden. (Genau gesagt waren es zum Zeitpunkt der Erhebung 13.975.938 Quests, weswegen die Prozentzahlen in der unteren Tabelle auch von diesem Wert ausgehen.)

Wie verteilen sich die gelösten Quests auf die Farben?

Bei StreetComplete hat jede Quest eine Farbe, die sie einer groben Kategorie zuordnet. Die Kategorien sind die Folgenden:

  • Blau steht für Gehwege und Fußgänger
  • Gelb steht für Straßen und Autos
  • Hellgrau (Beige?) steht für Gebäude
  • Dunkelgrau steht für man_made, also so ungefähr “Infrastruktur”
  • Orange steht für Geschäfte
  • Pink steht für Fahrräder
  • Grün steht für öffentliche Einrichtungen wie Bänke und Mülleimer
  • Braun steht für Natur

Die Farben als Bild

Hier ist die Verteilung als Grafik:

Die Farbenstatistik

Und hier als Tabelle:

Einzelne Farbe Gesamt Prozent  
Hellbraun 91112 13975938 0,65%
Grau 109326 13975938 0,78%
Orange 307434 13975938 2,20%
Grün 391304 13975938 2,80%
Pink 585953 13975938 4,19%
Gelb 2963361 13975938 21,20%
Blau 4697256 13975938 33,61%
Hellgrau 4830192 13975938 34,56%

Welche Quests werden am häufigsten/seltensten gelöst?

Hier ist eine Grafik, die die 3 am häufigsten gelösten Quests zeigt, sowie die Quests, die insgesamt von allen Nutzern unter 100 mal gelöst wurden:

Eine Statistik

Ich denke, die Quests mit den extrem wenigen Lösungen lassen sich alle relativ einfach erklären:

  • “Kann man an dieser Tankstelle selbst Tanken?” wird in Deutschland - was bei OSM und StreetComplete sehr stark vertreten ist - nicht angezeigt
  • “Gibt es an diesem Gipfel ein Gipfelbuch?” ist wahrscheinlich deswegen nicht so oft beantwortet worden, weil es zum einen nicht so viele Gipfel gibt. Zum anderen ist mit StreetComplete durch eine Stadt zu rennen das eine, aber mit StreetComplete auf Berggipfel zu klettern schon was anderes :D
  • Die Barrieren-Quests, Klimaanlagen-Quest und physische-Höhe-Quest sind alle relativ neu und wahrscheinlich deshalb noch kaum beantwortet. Bei der Klimaanlagen-Quest kommt hinzu, dass sie standardmäßig deaktiviert ist, und die physische-Höhe-Quest ist meiner Meinung nach auf dem letzten Platz, da man für sie das AR-Vermessungstool nutzen muss, was nicht alle Handys haben

Diese Grafik zeigt ein paar mehr der Quests:

Eine Statistik

Und hier ist die ganze Liste mit Quests aufsteigend nach der Anzahl ihrer Lösungen:

Quest-ID Anzahl gelöst Alle gelösten Quests Anteil dieser Quest an allen Lösungen
AddMaxPhysicalHeight 19 13975938 0,0001%
AddAirConditioning 52 13975938 0,0004%
AddBarrierOnRoad 60 13975938 0,0004%
AddSummitRegister 65 13975938 0,0005%
AddBarrierOnPath 76 13975938 0,0005%
AddFuelSelfService 93 13975938 0,0007%
AddAcceptsCash 122 13975938 0,0009%
AddPoliceType 126 13975938 0,0009%
AddCyclewayWidth 149 13975938 0,0011%
AddTrafficCalmingType 214 13975938 0,0015%
AddWheelchairAccessToiletsPart 376 13975938 0,0027%
CheckOpeningHoursSigned 380 13975938 0,0027%
AddFerryAccessPedestrian 389 13975938 0,0028%
AddFerryAccessMotorVehicle 454 13975938 0,0032%
AddStileType 502 13975938 0,0036%
AddBarrierType 631 13975938 0,0045%
AddCameraType 717 13975938 0,0051%
AddBikeParkingFee 756 13975938 0,0054%
AddWheelchairAccessOutside 756 13975938 0,0054%
AddStreetParking 771 13975938 0,0055%
AddLevel 802 13975938 0,0057%
AddBikeParkingAccess 938 13975938 0,0067%
AddChargingStationOperator 992 13975938 0,0071%
AddReligionToPlaceOfWorship 1027 13975938 0,0073%
AddRoadWidth 1032 13975938 0,0074%
AddMotorcycleParkingCapacity 1060 13975938 0,0076%
AddIsBuildingUnderground 1102 13975938 0,0079%
AddSelfServiceLaundry 1169 13975938 0,0084%
AddClothingBinOperator 1313 13975938 0,0094%
AddBusStopRef 1335 13975938 0,0096%
SpecifyShopType 1354 13975938 0,0097%
AddIsDefibrillatorIndoor 1388 13975938 0,0099%
AddSuspectedOneway 1501 13975938 0,0107%
AddAtmOperator 1502 13975938 0,0107%
AddInternetAccess 1515 13975938 0,0108%
AddDrinkingWater 1673 13975938 0,0120%
AddChargingStationCapacity 1910 13975938 0,0137%
AddPostboxRef 1919 13975938 0,0137%
AddInformationToTourism 2113 13975938 0,0151%
AddPostboxRoyalCypher 2151 13975938 0,0154%
AddBabyChangingTable 2202 13975938 0,0158%
AddReligionToWaysideShrine 2240 13975938 0,0160%
AddOrchardProduce 2315 13975938 0,0166%
AddGeneralFee 2448 13975938 0,0175%
AddCarWashType 2455 13975938 0,0176%
AddToiletAvailability 2519 13975938 0,0180%
AddMotorcycleParkingCover 2638 13975938 0,0189%
AddBicycleBarrierType 2994 13975938 0,0214%
DetermineRecyclingGlass 3040 13975938 0,0218%
CheckShopType 3736 13975938 0,0267%
AddWheelchairAccessPublicTransport 3834 13975938 0,0274%
AddOneway 4034 13975938 0,0289%
AddHalal 4192 13975938 0,0300%
AddVegan 4536 13975938 0,0325%
AddKosher 5104 13975938 0,0365%
AddFireHydrantDiameter 5136 13975938 0,0367%
AddWheelchairAccessToilets 5293 13975938 0,0379%
AddSport 5531 13975938 0,0396%
AddBoardType 5706 13975938 0,0408%
AddPicnicTableCover 6012 13975938 0,0430%
AddBusStopName 6301 13975938 0,0451%
AddRecyclingType 7075 13975938 0,0506%
AddToiletsFee 7367 13975938 0,0527%
MarkCompletedBuildingConstruction 7492 13975938 0,0536%
AddFireHydrantPosition 9948 13975938 0,0712%
AddRecyclingContainerMaterials 11610 13975938 0,0831%
AddVegetarian 11861 13975938 0,0849%
AddFireHydrantType 11906 13975938 0,0852%
AddBridgeStructure 12060 13975938 0,0863%
AddCrossing 16934 13975938 0,1212%
AddPostboxCollectionTimes 17080 13975938 0,1222%
AddBollardType 18123 13975938 0,1297%
AddPitchLit 19606 13975938 0,1403%
AddRailwayCrossingBarrier 20071 13975938 0,1436%
AddBikeParkingType 20437 13975938 0,1462%
AddPitchSurface 22116 13975938 0,1582%
AddMaxWeight 22556 13975938 0,1614%
AddCyclewaySegregation 25751 13975938 0,1843%
AddBikeParkingCapacity 26817 13975938 0,1919%
AddProhibitedForPedestrians 27273 13975938 0,1951%
AddCyclewayPartSurface 28265 13975938 0,2022%
AddShoulder 28278 13975938 0,2023%
AddFootwayPartSurface 28794 13975938 0,2060%
AddBikeParkingCover 31671 13975938 0,2266%
AddPathSmoothness 33433 13975938 0,2392%
AddPlaygroundAccess 35503 13975938 0,2540%
MarkCompletedHighwayConstruction 40526 13975938 0,2900%
AddStepCount 41660 13975938 0,2981%
AddTracktype 41834 13975938 0,2993%
AddKerbHeight 42755 13975938 0,3059%
AddMaxHeight 43728 13975938 0,3129%
AddRoadSmoothness 44434 13975938 0,3179%
AddTactilePavingKerb 44713 13975938 0,3199%
AddPlaceName 46825 13975938 0,3350%
AddStepsIncline 49162 13975938 0,3518%
AddPowerPolesMaterial 62784 13975938 0,4492%
AddWheelchairAccessBusiness 63226 13975938 0,4524%
AddTrafficSignalsVibration 63457 13975938 0,4540%
AddTrafficSignalsSound 69883 13975938 0,5000%
AddBusStopLit 70486 13975938 0,5043%
AddHandrail 72727 13975938 0,5204%
AddTrafficSignalsButton 75446 13975938 0,5398%
AddStepsRamp 77822 13975938 0,5568%
AddBinStatusOnBusStop 82291 13975938 0,5888%
AddForestLeafType 88295 13975938 0,6318%
AddRoadName 93765 13975938 0,6709%
AddBenchStatusOnBusStop 94389 13975938 0,6754%
AddBenchBackrest 98525 13975938 0,7050%
AddParkingFee 100644 13975938 0,7201%
AddBusStopShelter 107404 13975938 0,7685%
AddParkingType 108408 13975938 0,7757%
AddTactilePavingBusStop 119748 13975938 0,8568%
CheckExistence 124524 13975938 0,8910%
AddParkingAccess 141111 13975938 1,0097%
AddCrossingType 145072 13975938 1,0380%
AddOpeningHours 160341 13975938 1,1473%
AddCrossingIsland 170003 13975938 1,2164%
AddMaxSpeed 190915 13975938 1,3660%
AddAddressStreet 268936 13975938 1,9243%
AddTactilePavingCrosswalk 283199 13975938 2,0263%
AddLanes 325145 13975938 2,3265%
AddSidewalk 427435 13975938 3,0584%
AddHousenumber 441068 13975938 3,1559%
AddCycleway 448175 13975938 3,2068%
AddRoofShape 850171 13975938 6,0831%
AddPathSurface 999441 13975938 7,1512%
AddBuildingLevels 1379383 13975938 9,8697%
AddWayLit 1541163 13975938 11,0273%
AddRoadSurface 1726590 13975938 12,3540%
AddBuildingType 1889532 13975938 13,5199%

Was können wir aus dieser Statistik mitnehmen?

Wir sehen sehr gut, dass StreetComplete von seinem Nutzen und von seinen Nutzern her ziemich undiversifiziert ist. Wenige Leute sind für den Großteil aller gelösten Quests verantwortlich. Hauptsächlich wird StreetComplete genutzt, um Details zu Häusern, Straßen und Wegen hinzuzufügen. Das scheint aber nicht sonderlich verwunderlich, da eine Stadt nunmal zum großteil aus Häusern, Straßen und Wegen besteht. In dieser Hinsicht ist es also nicht schlimm, dass auch ein Großteil der gelösten Quests auf diese Objekttypen entfällt. Was die Nutzer angeht, sieht es etwas anders aus: Von den über 5000 Nutzern die ich untersuchte sind 100 für 30% aller geösten Quests verantwortlich. Und während ich in der Videoversion dieses Posts zu dem Schluss komme, dass das ein Hinweis auf die nicht so gut aussehende diversifizierung in OpenStreetMap ist, habe ich seit dem noch etwas nachgedacht und komme zu einem anderen Ergebnis. Man muss die Power-User viel mehr rausrechnen, als die anderen Nutzer an ihnen auszurichten. Also der Durchschnittsnutzer macht nicht verhältnismäßig wenig, sondern die Power-User machen verhältnismäßig viel. Betrachtet man es so hat StreetComplete eine gute Nutzerbasis, die relativ gleichmäßig zu OpenStreetMap beiträgt.

Comment from Strubbl on 13 May 2022 at 11:00

Danke, schöne Auswertung


Login to leave a comment