This paper describes an approach for driving yield improvements by analyzing process performance data with JMP. Analysis of performance data -- including process long-term and short-term capability, stability and statistical control -- is particularly useful when monitoring hundreds of process KPIs retrospectively. Modern manufacturing requires many process and metrology steps to ensure healthy product lines and high-quality products. During the production ramp-up phase, identifying the processes of most concern is highly challenging. Using JMP scripting and quality data analysis, Magic Leap’s Eyepiece Manufacturing factory implements an automated process that can pull, analyze, visualize, correlate, predict and verify factory yield improvement based on a variety of performance metrics.

Hello everyone.

My name is Harry Dong.

I'm the director of the Optical Process Engineering Group at Magic Leap.

I'm so excited to be here to present my topic:

Factory Yield Ramp- up Approach

through P rocess Performance Metrics Guided Improvement Activities.

Today I'm going to cover Factory Process Performance Overview,

the Process Screening Tool and the Statistical Process Control

using JMP Script to automate the process capability analysis and the conclusions.

People have been talking about process performance,

S uch as capability stability, but what are they?

Basically, process capability is a measure

of the ability of the process to meet the specifications.

While, the process stability refers to the consistency of KPIs over time.

It's very important to realize there is no inherent relationship

between process stability and process capability.

Thus it is both extremely important aspects of any manufacturing process.

As you can see from the bottom- left picture.

It's showing,

process can be both capable and stable meantime,

this is a perfect world.

Basically your process is super tight

against your lower spec limit,

upper spec limit.

But on the other side.

When you started seeing instability,

when your variation is small,

you'll still be able to meet the process specifications.

But over time,

you will see a lot of variations.

The other scenarios can be your process is super stable.

Over time you don't see a lot of up and downs,

But because it could be like a small

a three Sigma, a lower spec limit, upper spec limit,

you have large variation,

then you'll not be able to meet your specification

against a high yield target, high process capability target.

The worst case can be your process is not capable,

which means you have large variation

and over time you also see a lot of stability issues.

It's everywhere,

Across the whole industry,

monitoring factory process using the process performance plot

becomes very useful.

It's including capability, stability

in the combined metrics.

As you can see,

this is a JMP- generated process performance plot.

On the x- axis you see the stability index

and the y- axis is indicating the capability overall which is a Ppk.

Eventually this is a four quadrant plot.

We want to push everything low stability

and high process capability which is in the green zone.

Often you'll see some process not capable which is under this line

or not stable, which is across the vertical line showing in this graph.

I'm going to talk about

the Process Screening function,

JMP provided.

This is a very powerful tool,

if you are talking about quickly identify unstable process

or some incapable process, meanwhile.

Basically this is a JMP- generated report,

as you can see,

I have 24 processes listed in this report.

Very quickly you can see stability index is showing up.

How do you define the process stability?

It's calculated using the Within Sigma and Overall Sigma,

This is the ratio using the Overall Sigma

divided by Within Sigma,

What do they mean?

Overall Sigma usually treated as a longterm process variation

and the Within Sigma treated as a shortened process variation.

So JMP has certain rules that you can refer to

for this calculation.

But basically you can define color codes.

How do you see your process stable?

You can use 1, 1.3, whatever the number you want,

to color code that.

For me, as you can see,

I color coded process greater than 1.7

as a process not being stable.

Yellow as a process is kind of marginal,

And the green zone meaning the process is super stable.

This is telling us some process can be stable but not capable,

Because you can see the Ppk Cpk are kind of low,

But on the other side, you can see a bunch of process,

they were not stable, but some of them are very capable,

Again, this is aligned with what I went through earlier.

Basically, utilizing the Process Screening tool,

you can quickly identify the unstable processes

as I marked in this graph.

Meanwhile, as you can see in this Process Screening tool,

you can also see the control chart alarms

based on the samples that the raw data you put in the report.

We finally deploy the control chart,

called statistical process control chart,

be able to monitor and improve process capability.

Stability is very important,

This is a JMP- generated control chart,

You can use Windows Scheduler or JMP Live

to automate those charts to be able to pull the data real time.

Meanwhile, you can also use certain web API

to generate the control chart.

JMP is very useful in this case.

It can send out email notification to the group,

to individual engineers.

Meanwhile,

if you can connect us with your internal system ,

I think that's going to give you additional power

to be able to communicate with your process tool,

be able to pause the tool,

put it on hold for the engineers to react to the variations

either process shift or out of control data points.

Process Capability Analysis is a standard,

Basically a few rules that we need to follow,

First of all, you want to make sure

your data set is following the normal distribution.

This can be done using JMP tool,

I won't go through.

But on the other side we realize Cpk calculation changes dramatically

due to the outliers, especially when sample size is small.

The outliers can be driven by special causes,

excursions during the process.

So this can add bias to Process Capability Analysis.

Sometimes if you do see some outliers,

you can drag your Cpk down,

but it's not representative to your standard process variation.

Apply outlier removal method to remove outliers.

We'll help you get rid of those noises

to better understand your true process capability.

Within the JMP,

they offer different methodology

to remove outliers.

I won't go through each of them, but they're all very powerful.

You can read through the instructions which method is the best in your case.

Basically, they can be found under Analyze/S creening /E xplore Outliers.

Basically, I'm going to show the basic method we are using

to exclude the extreme values for our process,

which is a quantile range outlier removal.

Basically this tool we found is very useful,

Because when you try to pull the data through the database,

often you'll find some outliers.

Some data are very extreme,

you know they're outliers, some are not as obvious,

So basically this quantile range outlier method

offer you flexibility.

Basically, as you can see, this is the distribution of our process.

We have upper spec limit, target and you also have the mean.

And follow this Box Plot,

you can find the 10th percentile value,

or the 90th percentile value.

Basically the inter-percentile range

is calculated using 90th percentile minus 10th percentile value

and this is defined as your inter-percentile range.

The lower threshold value is calculated,

using the 10th percentile value

minus three times the calculated inter-percentile range.

So this becomes your low threshold for each individual processes.

On the other side the high threshold

is defined by 90th percentile plus three times inter-percentile range.

This becomes your high threshold.

Basically all the extreme value outside of this range

will be treated as outliers and they can be colored.

They can be marked as missing .

They can be excluded from your data analysis.

As you can see, JMP did provide the flexibility.

How do you define the inter-percentile range?

You can do 0.1, you can do other values as needed.

And also the Q value,

which is this value I highlighted here,

can be changed as well.

It really depending on how much noise

you want to get rid of from your data analysis.

A s you can see,

This is an example that showing some value is being colored

and also being changed to missing value,

so they will be excluded from the data analysis.

This is a quick demonstration to show you how the outlier

is going to impact your Cpk calculation.

As you can see, Cpk value remains equal or better

post outlier removal.

It really depends on your sample size.

Sometimes if your sample size is small, the change can be more dramatic.

But in my case, I believe my sample size is quite large.

This is why they're not showing very big differences.

Yeah, the quantile range o utliers

parameters can be tuned if necessary as I mentioned earlier.

Other things I want to highlight in this page,

it's the process capability box plot.

We figure out this is very useful tool

because you can be monitoring many process parameters.

So be able to put them together

to visualize how tight they are, which direction they're shifting

and how much variation is being counted

to calculate our process capability.

Process stability is very useful,

as you can see.

They use a standardize s pec limit to be able to combine everything together.

It's super useful for data visualization.

I want to quickly show you,

before and after we automate the process performance analysis.

At the beginning team are not using

the JMP scripting to automate this process,

as you can see.

We have to collect the quality data by individual process owners per module,

so data, sometimes, becomes not standard.

They use different formats

and then they often do manual outlier removal

and then they have to grab all the data together

to be able to merge them.

It's also a manual process, very tedious.

After that they have to do the manual process performance

because the variation they see through different people,

different format and then generate report.

They have to eventually repeat everything they did

on like weekly basis, monthly basis or per PEQ build.

But on the other side for the automated process flow,

basically the quality data can be queried all in one step.

All the raw data, all the specification data

can be put from the database

using the SQL JMP scripting,

Of course we apply standard outlier removal methodology across all the data

and then all the sorting, split, spec assignment,

all the different visualization

can be done automatically.

Standard report will be generated.

Then, when we are talking about over time

or per PEQ summary ,

you can simply modify your SQL query filter to update the data

and on top of that, you have basically all the raw data.

You can apply local data filter.

You can add additional functions to make your filter data analysis easy.

Basically, we figure out manual process

is very time consuming,

the feedback is slow and it's not very efficient regarding

the yield improvement.

On the other side,

we figure out the automated scripting process using JMP.

Anybody can perform this complicated process performance analysis in minutes.

Some highlights I want to share for the process capability analysis.

As you can see,

I didn't include the JMP query portion.

But I basically put different process name,

different test label,

all the raw data into the JMP table

and after that we figure out to split this d ata table

because table comes in everything combined

process, part ID, process time, test label.

So we have to eventually split the data table

to be able to perform this process capability analysis,

the box plots or the Cpk Ppk analysis.

So very useful function for JMP is after we split, group them.

So we have some missing value because we sort the data by data time.

Some process leave blank but JMP is smart enough

not counting those missing value

into the capability analysis

which is very useful,

So I do want to mention that.

Please don't forget to sort your data by date time

because that's super important

because sometimes the Cpk Ppk calculation

is really depending on the process sequencing.

If you are not sorting the data by date time,

then the results can be biased,

So we made some mistake earlier, figure out this is useful tip.

The other one is automated outlier removal

using quantile range outlier.

As you can see, b asically, very simple process.

You get all the column names

using this scripting.

Condition can be numeric, continuous

and then you start at launching

the quantile range outlier platform

basically assign them into the report and then go through the report.

Use this for loop function

to be able to exclude all the outliers identified,

This can be repeated as needed .

Then you can also launch the process capability analysis.

If you don't know how to do it, you can basically manually do it

and then grab the code from the log,

This is a new function JMP provided which we figure out is super helpful.

Something I want to highlight here is the spec limit assignment,

This is a super powerful, very useful.

Basically you can assign specification for multiple process variables,

using another data table

that's generated using t he SQL query as well.

Conclusions.

Analyzing process performance data

using JMP is super critical to drive the yield improvement

in modern factories,

especially with many process and methodology stacks

to ensure healthy production lines and deliver high quality products.

Analysis of performance data including long term, short term process capability,

stability and statistical process control

is particularly useful when monitoring

hundreds of process KPIs.

During the production ramp up phase.

Identifying the processes of most concern is highly challenging

and using JMP scripting and quality data analysis platforms ,

our Eyepieces factory implemented an automatic processor

which can pull, analyze, visualize, correlate, predict and verify

factory yield improvement based on a variety of performance matrix.

Magic Leap's Eyepiece Factory,

we demonstrated greater than 90% RTY, which includes hundreds of process KPIs.

Eventually, you have to multiply them together

to get this RTY number, no throughput yield.

We were able to demonstrate greater than 90%e RTY

six months ahead of our next generation product launch,

driven by continuous process improvement activities,

guided by automated process performance analysis,

using JMP scripting, and quality platform tools.

And thank you for your time.

Published on ‎05-20-2024 07:53 AM by | Updated on ‎07-23-2025 11:13 AM

This paper describes an approach for driving yield improvements by analyzing process performance data with JMP. Analysis of performance data -- including process long-term and short-term capability, stability and statistical control -- is particularly useful when monitoring hundreds of process KPIs retrospectively. Modern manufacturing requires many process and metrology steps to ensure healthy product lines and high-quality products. During the production ramp-up phase, identifying the processes of most concern is highly challenging. Using JMP scripting and quality data analysis, Magic Leap’s Eyepiece Manufacturing factory implements an automated process that can pull, analyze, visualize, correlate, predict and verify factory yield improvement based on a variety of performance metrics.

Hello everyone.

My name is Harry Dong.

I'm the director of the Optical Process Engineering Group at Magic Leap.

I'm so excited to be here to present my topic:

Factory Yield Ramp- up Approach

through P rocess Performance Metrics Guided Improvement Activities.

Today I'm going to cover Factory Process Performance Overview,

the Process Screening Tool and the Statistical Process Control

using JMP Script to automate the process capability analysis and the conclusions.

People have been talking about process performance,

S uch as capability stability, but what are they?

Basically, process capability is a measure

of the ability of the process to meet the specifications.

While, the process stability refers to the consistency of KPIs over time.

It's very important to realize there is no inherent relationship

between process stability and process capability.

Thus it is both extremely important aspects of any manufacturing process.

As you can see from the bottom- left picture.

It's showing,

process can be both capable and stable meantime,

this is a perfect world.

Basically your process is super tight

against your lower spec limit,

upper spec limit.

But on the other side.

When you started seeing instability,

when your variation is small,

you'll still be able to meet the process specifications.

But over time,

you will see a lot of variations.

The other scenarios can be your process is super stable.

Over time you don't see a lot of up and downs,

But because it could be like a small

a three Sigma, a lower spec limit, upper spec limit,

you have large variation,

then you'll not be able to meet your specification

against a high yield target, high process capability target.

The worst case can be your process is not capable,

which means you have large variation

and over time you also see a lot of stability issues.

It's everywhere,

Across the whole industry,

monitoring factory process using the process performance plot

becomes very useful.

It's including capability, stability

in the combined metrics.

As you can see,

this is a JMP- generated process performance plot.

On the x- axis you see the stability index

and the y- axis is indicating the capability overall which is a Ppk.

Eventually this is a four quadrant plot.

We want to push everything low stability

and high process capability which is in the green zone.

Often you'll see some process not capable which is under this line

or not stable, which is across the vertical line showing in this graph.

I'm going to talk about

the Process Screening function,

JMP provided.

This is a very powerful tool,

if you are talking about quickly identify unstable process

or some incapable process, meanwhile.

Basically this is a JMP- generated report,

as you can see,

I have 24 processes listed in this report.

Very quickly you can see stability index is showing up.

How do you define the process stability?

It's calculated using the Within Sigma and Overall Sigma,

This is the ratio using the Overall Sigma

divided by Within Sigma,

What do they mean?

Overall Sigma usually treated as a longterm process variation

and the Within Sigma treated as a shortened process variation.

So JMP has certain rules that you can refer to

for this calculation.

But basically you can define color codes.

How do you see your process stable?

You can use 1, 1.3, whatever the number you want,

to color code that.

For me, as you can see,

I color coded process greater than 1.7

as a process not being stable.

Yellow as a process is kind of marginal,

And the green zone meaning the process is super stable.

This is telling us some process can be stable but not capable,

Because you can see the Ppk Cpk are kind of low,

But on the other side, you can see a bunch of process,

they were not stable, but some of them are very capable,

Again, this is aligned with what I went through earlier.

Basically, utilizing the Process Screening tool,

you can quickly identify the unstable processes

as I marked in this graph.

Meanwhile, as you can see in this Process Screening tool,

you can also see the control chart alarms

based on the samples that the raw data you put in the report.

We finally deploy the control chart,

called statistical process control chart,

be able to monitor and improve process capability.

Stability is very important,

This is a JMP- generated control chart,

You can use Windows Scheduler or JMP Live

to automate those charts to be able to pull the data real time.

Meanwhile, you can also use certain web API

to generate the control chart.

JMP is very useful in this case.

It can send out email notification to the group,

to individual engineers.

Meanwhile,

if you can connect us with your internal system ,

I think that's going to give you additional power

to be able to communicate with your process tool,

be able to pause the tool,

put it on hold for the engineers to react to the variations

either process shift or out of control data points.

Process Capability Analysis is a standard,

Basically a few rules that we need to follow,

First of all, you want to make sure

your data set is following the normal distribution.

This can be done using JMP tool,

I won't go through.

But on the other side we realize Cpk calculation changes dramatically

due to the outliers, especially when sample size is small.

The outliers can be driven by special causes,

excursions during the process.

So this can add bias to Process Capability Analysis.

Sometimes if you do see some outliers,

you can drag your Cpk down,

but it's not representative to your standard process variation.

Apply outlier removal method to remove outliers.

We'll help you get rid of those noises

to better understand your true process capability.

Within the JMP,

they offer different methodology

to remove outliers.

I won't go through each of them, but they're all very powerful.

You can read through the instructions which method is the best in your case.

Basically, they can be found under Analyze/S creening /E xplore Outliers.

Basically, I'm going to show the basic method we are using

to exclude the extreme values for our process,

which is a quantile range outlier removal.

Basically this tool we found is very useful,

Because when you try to pull the data through the database,

often you'll find some outliers.

Some data are very extreme,

you know they're outliers, some are not as obvious,

So basically this quantile range outlier method

offer you flexibility.

Basically, as you can see, this is the distribution of our process.

We have upper spec limit, target and you also have the mean.

And follow this Box Plot,

you can find the 10th percentile value,

or the 90th percentile value.

Basically the inter-percentile range

is calculated using 90th percentile minus 10th percentile value

and this is defined as your inter-percentile range.

The lower threshold value is calculated,

using the 10th percentile value

minus three times the calculated inter-percentile range.

So this becomes your low threshold for each individual processes.

On the other side the high threshold

is defined by 90th percentile plus three times inter-percentile range.

This becomes your high threshold.

Basically all the extreme value outside of this range

will be treated as outliers and they can be colored.

They can be marked as missing .

They can be excluded from your data analysis.

As you can see, JMP did provide the flexibility.

How do you define the inter-percentile range?

You can do 0.1, you can do other values as needed.

And also the Q value,

which is this value I highlighted here,

can be changed as well.

It really depending on how much noise

you want to get rid of from your data analysis.

A s you can see,

This is an example that showing some value is being colored

and also being changed to missing value,

so they will be excluded from the data analysis.

This is a quick demonstration to show you how the outlier

is going to impact your Cpk calculation.

As you can see, Cpk value remains equal or better

post outlier removal.

It really depends on your sample size.

Sometimes if your sample size is small, the change can be more dramatic.

But in my case, I believe my sample size is quite large.

This is why they're not showing very big differences.

Yeah, the quantile range o utliers

parameters can be tuned if necessary as I mentioned earlier.

Other things I want to highlight in this page,

it's the process capability box plot.

We figure out this is very useful tool

because you can be monitoring many process parameters.

So be able to put them together

to visualize how tight they are, which direction they're shifting

and how much variation is being counted

to calculate our process capability.

Process stability is very useful,

as you can see.

They use a standardize s pec limit to be able to combine everything together.

It's super useful for data visualization.

I want to quickly show you,

before and after we automate the process performance analysis.

At the beginning team are not using

the JMP scripting to automate this process,

as you can see.

We have to collect the quality data by individual process owners per module,

so data, sometimes, becomes not standard.

They use different formats

and then they often do manual outlier removal

and then they have to grab all the data together

to be able to merge them.

It's also a manual process, very tedious.

After that they have to do the manual process performance

because the variation they see through different people,

different format and then generate report.

They have to eventually repeat everything they did

on like weekly basis, monthly basis or per PEQ build.

But on the other side for the automated process flow,

basically the quality data can be queried all in one step.

All the raw data, all the specification data

can be put from the database

using the SQL JMP scripting,

Of course we apply standard outlier removal methodology across all the data

and then all the sorting, split, spec assignment,

all the different visualization

can be done automatically.

Standard report will be generated.

Then, when we are talking about over time

or per PEQ summary ,

you can simply modify your SQL query filter to update the data

and on top of that, you have basically all the raw data.

You can apply local data filter.

You can add additional functions to make your filter data analysis easy.

Basically, we figure out manual process

is very time consuming,

the feedback is slow and it's not very efficient regarding

the yield improvement.

On the other side,

we figure out the automated scripting process using JMP.

Anybody can perform this complicated process performance analysis in minutes.

Some highlights I want to share for the process capability analysis.

As you can see,

I didn't include the JMP query portion.

But I basically put different process name,

different test label,

all the raw data into the JMP table

and after that we figure out to split this d ata table

because table comes in everything combined

process, part ID, process time, test label.

So we have to eventually split the data table

to be able to perform this process capability analysis,

the box plots or the Cpk Ppk analysis.

So very useful function for JMP is after we split, group them.

So we have some missing value because we sort the data by data time.

Some process leave blank but JMP is smart enough

not counting those missing value

into the capability analysis

which is very useful,

So I do want to mention that.

Please don't forget to sort your data by date time

because that's super important

because sometimes the Cpk Ppk calculation

is really depending on the process sequencing.

If you are not sorting the data by date time,

then the results can be biased,

So we made some mistake earlier, figure out this is useful tip.

The other one is automated outlier removal

using quantile range outlier.

As you can see, b asically, very simple process.

You get all the column names

using this scripting.

Condition can be numeric, continuous

and then you start at launching

the quantile range outlier platform

basically assign them into the report and then go through the report.

Use this for loop function

to be able to exclude all the outliers identified,

This can be repeated as needed .

Then you can also launch the process capability analysis.

If you don't know how to do it, you can basically manually do it

and then grab the code from the log,

This is a new function JMP provided which we figure out is super helpful.

Something I want to highlight here is the spec limit assignment,

This is a super powerful, very useful.

Basically you can assign specification for multiple process variables,

using another data table

that's generated using t he SQL query as well.

Conclusions.

Analyzing process performance data

using JMP is super critical to drive the yield improvement

in modern factories,

especially with many process and methodology stacks

to ensure healthy production lines and deliver high quality products.

Analysis of performance data including long term, short term process capability,

stability and statistical process control

is particularly useful when monitoring

hundreds of process KPIs.

During the production ramp up phase.

Identifying the processes of most concern is highly challenging

and using JMP scripting and quality data analysis platforms ,

our Eyepieces factory implemented an automatic processor

which can pull, analyze, visualize, correlate, predict and verify

factory yield improvement based on a variety of performance matrix.

Magic Leap's Eyepiece Factory,

we demonstrated greater than 90% RTY, which includes hundreds of process KPIs.

Eventually, you have to multiply them together

to get this RTY number, no throughput yield.

We were able to demonstrate greater than 90%e RTY

six months ahead of our next generation product launch,

driven by continuous process improvement activities,

guided by automated process performance analysis,

using JMP scripting, and quality platform tools.

And thank you for your time.



0 Kudos