Hello, everybody. My name is Ole Lühn and I am member of Global Quality Assurance at BASF. Today at the JMP Discovery Summit in Europe 2023 in Sitges in Spain, I want to talk about my topic, which is called Don't Lose Your Time Anymore, Automatic Assess, Visualisation and Evaluation of Product Environmental. So how to get fast access to your production sites.
And here in the background, we see the site I'm working at, which is BASF Schwarz heide in Germany. On this picture and on this slide, you see all the sites of BASF worldwide. So there are Verbund sites, which is a combination of different production environments. We have R&D centers, production sites, and regional centers. And for Europe, I am located in Schwartzheide. And on the next slide, I will show you a little bit more detail where Schwartzheide is located.
I am working, in fact, with different sites closely together, which are Ludwig shafen, which is the main part or the main site of our company with approximately 39,000 employees. And Schwartzheide is located roughly 140 kilometre south of Berlin, and we have about 2,000 employees.
Today at the JMP Discovery Summit in Sitges, which is located a little bit north of Tarragona and south of Barcelona, we are having the Discovery Summit. I explicitly showed Tarragona here on the slide because I have also worked with them to do where we formulate our end -use product, which we sell to the market. And on the upper right corner, you see a glance of Europe side from BASF, and for the color code, please see the previous slide.
I am working in Schwartzheide, and here you can see the picture of the site as of today. So the plant where I am working at and where I am working for is in the orange rectangular shown here on this picture, and on the lower left, this picture shows the view from my former office. I had a look out of the window and could see the plant where I was working for. So at that time, I was still located in a different office. Of course, I want to know more about what is happening in the plant, and that is what my talk is about, to have access to data in the plant when you're not currently working there.
So the introduction of BASF and me, I am a member in the business unit, Agricultural Solutions, in the team of the Global Quality Assurance. And I am a JMP user since roughly JMP 9, so it must be something 2010. My task is to assure production processes and times of quality, so quality assurance. Also, I am working in quality management and I am a ud itor for different ISO norms, and I am involved in nonconformance management and deviation management.
For the final product, I'm responsible for the release, and I also have to sign each COA that we pack and that we pack to the product shippings around the world, and on each COA, I have to sign. So I want to know what is happening in the production. So from a statistical point of view, I want to know if there are differences in the production or in the production process and the production environment. From a practical point of view, I need to evaluate if these differences do really matter. I want to know the details of the production as fast as possible and as easily available as possible, and that's why I started this topic a while ago. My goal is to have a proper root cause analysis, preventive and corrective actions in nonconformance management.
The work started roughly 2020 when we all realized that the corona pandemic was developing. And like in many companies, there was a restrictive access to the plant. So while I was sitting at home, I was asking myself how to get access to the data from the plant without being on site. So how can I see what happens in the plant when I'm not really sitting in the plant? And how can I be part of the production and the production teams when I'm not available around?
So the idea is that I go digital to the plant and realize what happens. Without the data access control V and control V, which takes everybody notices in our community days, maybe, or hours to get a real evaluation done. So my idea came up while I was participating on a seminar on the tablet production process in the JMP lecture courses, and my goal was to have the highest degree of automation in my data access in seconds.
Here is what it is all about. So here on this picture, you see a general overview of our plants. In fact, we have three plants which are producing parallel our product. And the very general value stream is shown on the top of this graph. We start with raw materials, we have intermediates in our process, and we go to the final product. So this data of the last three processes is available via a REST-API interface where I can get the data from.
All the data is prepared in one table. I have the time, I have my final lot, I have the QC data of my final product, and for my intermediates, I have different factors and different responses available. What I mean with factors and responses is shown on the upper right picture, which I took from the JMPs course.
This work was started with a colleague from me, Bernd Heinen, who helped me out in writing the scripts and preparing my data access. This is what I want to show you now in JMP. We prepared our scripts in a very easy way. We put the REST-API address here in our scripts. We do some scripting instructions. I had a problem with the data time format when this table was imported into JMP. I was asking in the community and someone gave me the solution for my time formatting problem. I add some specs to my columns and I save it on a drive. I always save it as an Excel file as well.
The data which is shown here is the data for one of my plants. I opened this table now. It's table number two. Here I have my time of different processes in the plant. I have the lot of my final product. I have the response, the QC data of my final product, responses and factors of previous processes.
Firstly, I'm interested in the final product. I started to plot the data in the control chart of one of my responses for my final product. However, it is an X -bar and R -chart. The reason for this is that from my last intermediate, five lots are put together in the final reactor, and therefore, the X -bar and R -chart is created, and not the individual and moving range chart, which I am interested in. So I need to do a little bit of data preparation work.
The outcome of the data preparation work is shown on the lower part of the slide where I have the access of all three plants parallel, I can do my data preparation. I use the function in JMP to concatenate these data tables and I can plot easily an overview of my final QC data in this video. I use the Fit Y -by -X platform for the three plans, use the column switcher and recorded a video. Everything is possible within seconds.
The idea of my work started when I had a look at the tablet production processes or the tablet production process from the JMP lecture. Here we have this red triangle which shows us suspicious values in a production trend. My idea was to also create in my data table a column where I add suspicious data or suspicious results and color it in a binary format.
I changed my continuous variable into a binary one, like good or bad. For me, it is more easy to discuss this with the team from statistical point of view and everybody in our community knows this as well. There are more powerful ways in order to get this data analyzed for regression, for example. However, I choose this way. I will show you what I mean. I prepared this in my slides.
I wanted to have these indicators, good or bad, or suspicious or not suspicious in my data table, so this data table is taken from the JMP library, the tablet production process. And in the end, I had my data prepared like this.
I added a column to my data table. Here, because I had five lots of my intermediates, I needed to split my data first and to evaluate only the final product. I added a column where I evaluated on my individual and moving range charts how is the data distributed? And here we can see that my internal specification is far above my data. However, there are suspicious events in the production process.
And this data I can also plot in a dashboard here where I cut off above the upper control limit my data. With this data prepared, I can have easy discussions with my team and tell them, "Look, here, what happened here? I just added time and say roughly around this time, we had a suspicious event here in our factory. What happened?"
Let's go back to the JMP table or to the presentation. I created this column, good or bad. And from a statistical point of view, we know that regression is better. The script in order to evaluate all this data at once within 20 seconds of time is containing actions like to split the data, make a summary, analyze the control limit, summarize my control limit in an extra table, introduce this column.
First I did it manually, but I now had a nice script to do it automatically. I merged my data, my summary back into my first data table, which I extracted from my REST-API interface here, and it's done. Everything was in seconds, and from the JMP team, Florian helped me to do this here.
Here is just the proposal for me and for people who work in the quality department, how to discuss these graphs with the team. Of course, there are different ways how to analyze data in JMP. I like most the Fit Y -by -X platform, and I also like the hypothesis testing ways which are shown on the video here on slide seven, where I plot the three plants parallel to each other and go through all my QC data of interest and compare it.
Furthermore, I also like the process performance graph which is available in JMP. But one way of analyzing my data is also that I can easily plot Pareto plots of my out -of -control events. I have the data prepared. We go to the table. We have only the values which are not okay or above the control limit selected. I click on Pareto Plots and I can discuss this easily with the team and tell them these two variables are most of the time out-of-control. What do we do?
I can also compare three plants at once immediately. It's more or less the same, but I can have a look here and create meetings and discuss about suspiciencies between the three factories. So obviously the factory which is colored red, there the less out-of-control events are created. This is part of my story to have fast data available here to to be discussed in the teams.
Of course, I know that there are different options in JMP, so we can do regression, we can do predictor screenings, and the data table for the predictor screening is also shown here. In fact, I have my final data table which I extracted from the REST -API interface, and I have this out-of-control column added to my previous data, and I can do a predictor screening and I can have a look.
Where are the factors in the plant which influence the outcome in my final product first? Of course. Okay, he's doing the calculation at the moment. Of course, these kind of things are difficult to discuss, and it's also not part of my job to discuss here about process suspiciencies. My topic is quality and I want to reduce the number of off -spec events in the plant. I'm talking about off -spec and not out-of-control anymore.
We had a time... I go to the right part of the slide. We had a time in the plant where we created off-spec events. I did a partition with the data and the data told me, "Look here, this is suspicious, below 12,000 or 13,000. Below this value, it is most probably that we create off-spec events." Here in the graph builder, these events are marked red. Obviously, this is important. It is a summary of chemicals that we put on a filter unit in the plant. I will show you the video soon.
The second step is that in the partition, we came to the conclusion that above a certain solven t dosing, it is most probable or it is likely that we produce off-spec lots. There are two results from this evaluation. Don't put too much and be careful with the solven t dosing.
Now I want to show you the video. During the this time, we sent a colleague to the plant and he took videos out of this reactor. The red rectangular is actually more or less the amount of what we put here on the filter unit. The green rectangular is the amount of solvent, which is dosed afterwards. If it's too few put on the filter, and too much solvent, obviously we created here a problem. After we discussed this with the team, it was about one -and -a -half years ago, we did not have these events anymore in the factory or in the plant. So for me, it was a quite successful story how we came here to the conclusion that we can be more careful in our plant about our processes.
My primary result of this first part of my talk is that via the scripts and the way I imported data to JMP via the REST-API interface, it is possible to sharpen the awareness in the production with respect to deviations. Of course, there are more powerful regression possibilities in the tool which we are using, but it is not my job as a quality manager. The goal is to hand over here a powerful tool which we can use in our factory and plant for deviation management and root cause analysis. My idea is if someone is not wanting to use our tool JMP or wants to use a different tool, I can save always the scripts or the files as Excel tables.
However, only the last three processes are available here, and it is limited because this is a project which was started 2017 to prepare all this data correlation and time between these three processes. However, what do I do if I'm interested in previous processes like the raw material or my first intermediate? How can I get this data in to jump from the outside of the plant?
Therefore, I started to use and to investigate the interface and the possibilities to import data via a connection between Python and Azure. It started all when we had the manufacturing execution system changed by the end of 2020.
The way I tried to go was stopped because this manufacturing execution system was stopped. I thought, "Was everything for nothing now?" No. I found a paper which was written about the synergies from JMP and JMP Pro with Python. The concept is shown here on the left side of the slide. In fact, I have a JMP script, I have a Python part, and I have an option in this Azure where I do my data access. Everything is also possible within seconds to get the data out of the plant. All is written here in the scripting guide, page 786. These are only a few pages. If questions come up, Emanuel from the JMP team helped me here to do this.
Here's the concept. Let me move this Zoom picture. On the left part, it's what everybody in the chemical industry knows. Raw materials are delivered in trucks. They are stored in a tank farm and the production has to use raw material, of course. And raw material is consumed during the production processes and new raw materials are delivered and the tanks are refilled again. So we have a certain level and everything is fine.
It starts and the way to investigate here and to get the data in to JMP is we have to look up our individual process of interest. Every point of interest in the plant has a certain number, and this number needs to be fined. So you can ask colleagues, you can ask SAP, you can ask the automation team, you can have a look by yourself. You need to find a way in your company who can help you.
When you found the number, you have to make the request in Azure. This number I was talking about here, it's named at us, it's the unique ID. I type in here how many days back I want to see the data. I test it in Azure. He creates a table and I put this code into my JMP script and I click on execute. This is what I show you now. It's also done in few seconds only here.
This first part you need to get from colleagues or you can look up in the internet. I looked up in the internet and this is not part of JMP support. Here you can see that within seconds I can have a look at the filling level of some of our raw material tanks or the tank farm. This is the concept that any process of interest can be imported like this into JMP within seconds.
I wrote a manual or a journal how this can be done, and I will publish it also with my work in the community. If you don't know how to do it, it's written here. Where you can find it in the scripting index, I have a paper here how you test your system. I have a few recommendations for the help in the scripting index, and also I found some answers which I placed before in the community, so I hope to have also feedback from me documented there, and I showed you how to extract data from anywhere in the FAB or in the plant. And this brings me to the end of my talk.
The summary is that product deviations happen to all of us. So here I show you some quality assurance tools, and via one click, I have all my necessary graphs and information prepared like this to discuss with the team. My message is that don't be afraid from using the JSL scripting language that I was before. When you start, you learn fast and you get the job done. You can prepare good discussions with your production teams and you can start continuous improvement plans and PDCAs, and everything can be available within a few seconds.
I also have some ideas how to go on here, and there I need the help from you, so from the colleagues from which are attending the conference. Maybe you can help me automate and schedule my evaluations. I know that this can be done in JMP Live in version 17. If you don't have it, I need to use the Windows Scheduler. For example, I need to improve a little bit by creating add -ins, and the data cleaning still can be a little bit bit more better and improved, but okay.
My main goal was to make the members talk more about suspicious events in our factory and out-of-control events, which is the lower right part of the picture of the slide, and less about off-spec events and out-of-control events. From quality management point of view, I really am a fan of turtle diagrams and turtle tools to document your improvements.
This brings me to the end of my talk. I hope you enjoyed it as well as me when I was preparing this work, and I'm looking forward to your questions and to see you in Spain. Thank you.