A BI Developer intern’s life at Hiflylabs

Reading time: 5 min

Why did Norbert Polcz, member of the data warehousing team and a BI Developer intern, choose Hiflylabs? What data warehouse-related tasks make his work motivating? What career path does he see at the company?

Hiflylabs: Why did you decide to apply for this job at the company?

Norbert Polcz: I found Hiflylabs on a job portal, I looked at the website, based on the information I read there, it was encouraging that the company deals with a relatively large number of things, so there is not just one direction for me. I hadn’t worked in the IT field before Hifly, so it was also sympathetic that they did not expect high practical knowledge. It wasn’t a completely conscious decision, I was lucky, I would say in retrospect that my expectations and abilities matched.

HL: What motivates you in your work?

NP: The truth is that the company itself maintains the initial motivation, as I can turn to anyone for help at any time. It was interesting that when I was hired, we had a conversation with the CEO, Tamás Fehér, who was very direct. I think this kind of attitude is rare, I remember, he also said, that I can find him at any time. That was a positive impression. A direct relationship with higher leaders and my mentor keeps me motivated. I can turn to the latter at any time and it helps a lot in my professional development. It is also important to me that if I have ideas, if possible, we try to find opportunities to implement them together, and I can learn new things and new tools regularly. I think the main values ​​of the company are trust, a family atmosphere, and a vision that they want the best for everyone.

HL: What projects are you currently working on?

NP: I do data warehouse and data infrastructure developments most of my time, but I have made a dashboard or PPT for a client several times, so I also had the opportunity to present our completed solution myself. In addition to writing code, we will soon be generating documents that are currently “handwritten,” following rapidly changing technologies and tools. So I may have other responsibilities in a few months. I enjoy learning from all of these.

HL: What is a Hiflylabs job interview like?

NP: Compared to the ones I’ve been to before, I found that they were also curious about my personality here, as it was important that I would fit into a corporate culture that was “home” to different personalities. Most places expected some work experience, but at Hiflylabs I felt they would give me a chance and be happy to invest in a person if the organization-individual found each other and the aforementioned desire for knowledge was present. That was really sympathetic. For me, Hiflylabs is a vibrant and open organization.

HL: Were there any positive signs in the interview that made you feel like a collaboration was about to begin?

NP: We found the common voice right away, I couldn’t describe what I was feeling, but there was something in the air. Despite how excited I was, I was only anxious at the beginning and calmed down very quickly, resulting in a direct conversation. The leader of the data warehousing team and the HR colleague created a pleasant atmosphere. In the meantime, I got another job offer, so two days after the interview, which was a short waiting time, I called them and I asked for a decision. In the interview, they were also curious if I was happy to learn. They played with open cards, they said they were planning for the long term and that was understandable because if you hire someone to then study for months, it pays off if they spend a few years in the company.

HL: Who do you think can be more successful in your profession: a person who likes monotony or variety/change?

NP: I think that at Hiflylabs, both paths could work, yet I would rather vote for a change-lover: if you want to work here, don’t expect to have a precise definition of your responsibilities that you will be dealing with every day later on, as the company supports acquiring a wide range of knowledge and important skills. In my experience, it’s a huge benefit to be proactive because it makes it easier for you to get new and colorful tasks that can later become part of your job. Moreover, I will go further, if they see your motivation, the desire to learn and the diligence, you can gain the trust that will greatly enrich the internship experience. I knew they had confidence in me almost immediately, from hiring, as I visited the office for the first 2-3 months to deepen my knowledge.

HL: How did you experience being an intern through the challenges posed by the pandemic?

NP: I just submitted my thesis to the BGE Bachelor of Business Informatics, I have been working in the home office since March. This makes it easier to concentrate both on my studies at the university and work, as I save 2 hours of commuting time a day from Gödöllő since I don’t have to travel. On the second day of HO, my team leader called to see if I had everything I needed for work, such as a chair or desk. So I got a monitor that was delivered to my house very soon. I didn’t even feel my job was in danger. I only had to get used to communication, that there was no face-to-face meeting and we could negotiate a little less often. I collected my questions for two days because I couldn’t ask everything at once. If it happens sooner, I might have a harder time catching up because by then I had already done a development or two live and got better into it.

HL: How flexible is the company in terms of studies?

NP: The expectation is that if I can, I shall say in time because that is how they can or we can plan. I find that everything is negotiable. For example, if I need a week because of my exams, they won’t even bother me until I get back to work again.

HL: What useful skills have you acquired so far through work?

NP: My communication has improved a lot because I have realized that the more accurately I define a problem, the less misunderstanding there will be from the clients’ side. I am also constantly trying to pay attention to who and in what detail I am talking to about a given topic. I experienced how real-time development works and acquired a confident SQL and version control (git / GitHub) knowledge. I got to know the data warehouse and other data concepts more deeply, thanks to which I became so enthusiastic that I started to deal with it in my free time.

HL: What career path can you see for yourself at the company?

NP: At the moment, I couldn’t determine what I wanted. I am open to data developments, but I’m curious and would even like to participate in mobile development in the future. I feel like I have the opportunity for both.

Authors:
Norbert Polcz – BD Developer intern
Patrícia Hanis – Marketing assistant

Do you know when your medicine will arrive? (Case study)

Reading time: 5 min

One of the key elements of logistics solutions has always been adaptation to the given situation, but nowadays this is more important than ever.

The worldwide spread of the coronavirus has posed entirely new logistical challenges to the economy. Changes in border locks, distance, transportation options, and in general, the sending and receiving of shipments have significantly transformed the lives of wholesalers and shipping companies.

This post is about our recently launched ETA application for one of our pharmaceutical wholesale partners.

One of the constant key issues in delivery processes is knowing the exact time of arrival of the package / shipment. This can be annoying as an individual. If the arrival time of a package is not known or is just too wide, that can turn normal daily living upside-down. In the best case, you just have to step out from an online meeting or reschedule other programs, in the worst case, take time off, or reorganize delivery. i, However, in business, knowing the exact delivery time is a much more serious issue. Determining the exact arrival times not only has serious financial implications but also greatly affects the image and long-term competitiveness of the company.

Key features of Hiflylabs ETA application

The delivery forecasting application we developed is a real-time, adaptive, machine-learning-based forecasting system. The application essentially calculates arrival times with high accuracy, taking into account traffic data, driver and vehicle data as well as previous delivery times. The system also includes a mobile and web monitoring interface by which shipments can be tracked.

After a few months of operation, enough information is available to empirically measure the accuracy of the system. 57 percent of issued delivery time forecasts are accurate within 10 minutes and 93 percent are accurate within half an hour.

Importance of delivery times in the pharmaceutical trade

It is important for a pharmacy to know in two respects when the medicine shipment will arrive. On the one hand, in case of a stock shortage, the customers of the pharmacy must be informed when the product will be available again, i.e. when they can come back for it. For a pharmacy customer, timing can be important, e.g. due to health issues or organizational reasons regarding daily life. On the other hand, the incoming shipment also has to be picked up by someone, i.e. the organization of the pharmacy process is also significantly influenced by the exact knowledge of the arrival times. If the forecast is more accurate, both pharmacies and pharmacy customers may be more satisfied.

The delivery company has a basic business interest in accurate forecasting, as this is one of the key qualification factors for its service. Besides, the exact knowledge of the delivery time is, of course, important information for the delivery company, as it can also help optimize operation.

Developer challenges and analyst decisions

Although the above logistical problem seems to be common, in practice many custom solutions worth using to provide a customized and cost-effective solution. Here are some of them.

I. “Tour sequence”

Although there is a well-established system of which pharmacies the wholesaler visits, in practice, of course, the order in which pharmacies are replenished can be quite varied, the so-called supplier “tour sequence”. Orders received for wholesale can by no means be called steady. Medicine turnover normally fluctuates quite turbulently, even at the national level, and at the pharmacy level, the fluctuations are even greater, and the coronavirus epidemic has transformed traffic more than usual. Thus, on a given day, orders for a given pharmacy can vary a lot from one day to the next, and a change in the size of the order also affects how many times the given pharmacy has been refilled in one day. In addition, the order in which a driver visits pharmacies often changes. If the pharmacies visited change, he will also change the order if he deems it needed, and other traffic reasons may also affect the tour order. In addition, it is also possible that two drivers follow the same route in a different order.

During the project, the identification of the tour sequence proved to be a very complex forecasting task in itself. We first built a complex prediction procedure that returns the most probable order for specific pharmacies. This was accurate enough to allow us to continue working with it, but it also became clear that the vast majority of erroneous predictions stem from the poorly predicted tour order. Finally, during the project, in order to find the optimal solution, a tour order was defined and regulated on the customer side. That is, our trading partner also changed its own processes for a more optimal estimation. The refinement of internal regulation and the adaptive forecasting system has thus been able to make forecasts with higher efficiency.

II. When, where is/was the car?

The second challenge is to define the arrival time itself. Drivers signal via their PDA (personal digital assistant) when a package has been loaded or dropped. We originally used this as a basis, but backtesting revealed that the arrival times thus obtained are often unreliable. Drivers often do not send a delivery notice during unloading, but afterward, possibly along with other unloadings. Therefore, we switched to another system, where we used the GPS data of the cars to determine how long the vehicle had been at a pharmacy.

In addition to the identification of arrival times, the definition of departure times was also unclear. To determine the departure times, we could only start from the signals of the PDAs, but based on the previous GPS data, it is possible to estimate how long the car is expected to start after the signal from the PDA. Our customer also requested the drivers regarding the use of the PDA, so this data also proved to be more and more reliable over time.

III. How to make an estimate?

One of the most fundamental questions is how we predict arrival times. Until the moment the car starts, we do not know what pharmacies the driver will visit, so only then can we give a more accurate estimate. Finally, we predict three different part-time types in the application:

  1. start time: The time elapsed between the GSM data indicating the start and the actual start
  2. travel time: travel time between two pharmacies (largely based on traffic data from the city navigation application “Here”)
  3. waiting time: Time spent at each pharmacy

 Our final delivery time forecasts are given iteratively by combining these split times: we calculate when the car arrives at the first pharmacy, from there we count to the second, and so on, all the way to the last pharmacy. The approach is good because it gives a realistic picture of the real processes, but its disadvantage is that in case of a bad tour order the errors increase, and in case of a longer supply chain the errors can accumulate in later tours.

 IV. When should the estimate be made?

A common feature of forecasts is that the later we provide the estimate, the more accurate, but less commercially relevant, due to the late availability of information. During the negotiations with the customer, two different estimation dates, i.e. two different forecast types, were identified. For practical reasons, the “normal forecast” is mapped at the departure of each delivery car, but it was also commercially reasonable to make earlier forecasts. A so-called “early forecast” has also been introduced, which forecasts arrival times for each pharmacy every day one week in advance. For this, the model is based on historical arrival times and gives half- and one-hour intervals as estimates. This is more inaccurate than the initial forecast but can provide a commercially useful result as early information.

Key experiences of development

During the project, several years of multi-phase cooperation became a successful solution, of which it is worth highlighting some important lessons:

  • The results of the project should be evaluated as early as possible, over several iteration cycles, at a higher level, thus ensuring the joint development of the client-side processes and the scope of the project.
  • The successful result product required the long-term work of data engineering experts, data scientists, and our application development colleagues. Several different development fields met on the project, and during the development, the areas had to see through the work of the other areas as well. Thanks to the transparent operation, however, the areas were eventually able to work and develop smoothly throughout the project.
  • It is possible to deliver a fully customer-specific logistics forecasting application cost-effectively, with an acceptable lead time, even in the case of a very complex set of problems.

Author:
Dániel Szokolics – Data Scientist