The script we developed for our client makes possible to simulate occupancy and actions for any number of entities in any environment and conditions. Weekly, monthly and annual simulation output data is presented in a convenient format and fulfills the variety of business needs.
Over 50 Years
can be successfully simulated.
of real-life activity prediction achieved.
The project itself required writing a script that would show how exactly people with visitor and staff roles interact with each other in a predefined conditions and environment. All data on assets and conditions (furniture, equipment, weather, etc.), types of buildings and amenities (gym, shop, playground, etc.), time, date, number of people and their roles are provided in CSV files to simulate visitors’ and staff’ actions and routes within a specified placement. Output data can be used for setting a real-time occupancy strategy for shops, gyms and any other indoor and outdoor business amenity.
Our client required a fully-functional custom script that would turn their input parameters on number of people and their roles (visitors/staff), types of buildings, conditions and environment into a weekly, monthly and annual visitor capacity simulation that gives a clear picture on how people would act under a certain scenario. To make the script easy to work with for other developers the client asked us to write it on Python 2.7 and use native libraries only. The simulation includes a wide range of modelling parameters to cover as many real-life scenarios as possible.
The main challenges we have faced when working on the project were delays in communication with the client and a front-end specialist who was not the part of our development team. Front-end is responsible for the visualization of our generated output text data, so it was important for our back-end expert to timely receive information on the work done to make sure simulation functions the way it should and there is no need in bug fixing or making adjustments. Since there were difficulties with back-end/front-end development work synchronization, we provided partial visualization that would be enough to see whether visitors and staff entities act according to the input data requirements.
One of the main requirements of our client was to use the 2.7 version of Python programming language and its native libraries only. Thus, our back-end developer had to write nearly everything from scratch as he couldn’t bring libraries and modules from the side, no matter to what extent they are useful for the project. Even though our developer built the script with a limited set of functionalities, options and libraries the client received a fully-functional and optimized occupancy simulator. Creating the entire functionality instead of using ready-made solutions took more time, but it was a good opportunity to slightly come out of the comfort zone in development and prove that we provide our clients with great results even with outdated tools and technologies.
Our task was to generate weekly, monthly and annual output data on two entities - visitors and staff workers. To make simulation most detailed and give a clear location occupancy picture on different types of buildings and scenarios, we made the system fix data each second. Because of this decision, the volumes of output files were enormous and exceeded 7GB of weekly data, and could not be processed on the front-end side. To fix this problem without compromising the simulation visualization quality, we moved from fixing data on entities per second to fixing it per minute, yet preserved the opportunity to use per-second tracking when needed. In addition, the system tracked only activity of entities instead of tracking their inactivity as well to reduce the data volume.
Our script allows the client to create simulation models for any type of building, conditions and patterns of movement. Within a month, our back-end developer created the script that provides simulation modelling for occupancy of different types of buildings, which can be used for usability, construction, retail and the variety of business and safety purposes. The client received a functional system that includes data science in its primitive form, almost entirely automated data entry, and illustrative visitor capacity visualization in a convenient format.