Instructions

Determine how many sources (N) nationwide

Determine number of sources in MACT floor sample set

For solid waste incineration sources follow CAA Section 129(a)(2) guidance:

Take 12 percent of units in the category, and round up to next whole number for MACT floor sample set

For all other sources follow CAA Section 112(d)(3):

N nationwide ≥30, take top 12% of sources with data, and round up to next whole number for MACT floor sample 

N nationwide <30, take top 5 sources with data for MACT floor sample set

Rank sources to Determine the MACT floor sample set

Calculate the UPL for each source using a confidence interval of 99% and rank the sources by the UPL to 

determine the best performing 12 percent (existing source MACT) and best performing source (new source 

Identify the distribution of sample set

Statistical tests of the kurtosis and skewness are used to evaluate the normality assumption.

For data sets with greater than 3 runs (n>3) use the "n>3Distribution" tab to determine the distribution. Enter run 

values for each source in the Raw Data section.

For data sets with 3 runs (n=3) use the "n=3Distribution" tab to determine the distribution. Enter run values for 

each source in the Raw Data section.

The skewness, kurtosis, standard error of skewness, and standard error of kurtosis will be calculated for the raw 

data and the logtransformed data.

For n>3 data sets, if the Result Raw Data says "Normal" the data can be considered normally distributed, use 

"UPL Pooled Template "

for n>3 data sets, if the Result Log Data says "Normal" the data can be considered lognormally distributed, use 

"Lognormal Template "

For n>3 data sets, if the Result Ray Data says "Non Normal" and the Result Log Data says "Non Normal" than the 

data have an unknown/skewed distribution, use "Template_skewed " 

For n=3 data sets, the distribution will be specified as normal or lognormal in row 24.

Templates

Plug the sources' raw run data into the appropriate template based on distribution.

Determine the confidence interval % to use fot the t-statistic and z-statistic based on "n" number of runs. 99% is 

the default in all the templates.

For "UPL Pooled Template " the UPL will be calculated in cell F107.

For "Lognormal Template ", use the "lognormal z-stat" worksheet to find the z-statistic at the specified confidentce 

interval. The UPL will be calculated in cell D165

For the "Template_skewed " Template:

Cell E173 of the "Template_skewed " tab shows the actual confidence level (1 - 'Calculations for Template 

skew'!J139) after accounting for the skewness and kurtosis. If the confidence level is larger or lower than specified 

confidence level % [Default is 99%] then need to adjust the t-statistic. 
To adjust the t-statistic go to the “Recalculate t-stat skew ” tab. This tab starts with the t-statistic in cell H161 from 

the “Template_skewed ” tab. If the confidence level from cell E171 of the "Template_skewed " tab was larger or 

lower than specified confidence level %, need to decrease or increase the t-statistic to get closer to the specified 

confidence level %. 

Cell G3 of "Recaltulate t-stat skew " tab has the value of the increase also called "interval", the candidate t-values 

will be calculated as the t-value in cell H102 plus multiples of the interval. These are calculated automatically for 

you in row 5 after a value is placed in cell G3. The corresponding p-values and confidence levels are also 

calculated automatically for you. 

Cell G3 of "Recaltulate t-stat skew" tab, the “interval” can be manipulated. For example, start with 0.1 and notice 

what the values in row 9 are. If they are not at specified confidence level % keep increasing or decreasing the 

value in G3 until one of the values in row 9 is the specified confidence level percent %. May have to go out to 

several significant figures.

Calculations are in the tabs: "Recalculations1 skew " through "Recalculations6 skew ". Don’t need to do anything in 

them, they are basically duplicates of tab “Calculations_for_Template skew ” and each one use a different value of 

the candidate t-values in row 5. 

Sometimes the actual significance level in cell E173 of tab “Template_skewed ” is larger than specified 

confidence level %, then you have to use a negative interval (meaning that your value in cell G3, tab “Recalculate tstat skew ” has to be negative).

Once the adjusted t-value from tab “Recalculate t-stat skew ” is at specified confidence interval %, copy the 

recalculated t-value and paste special the value into cell E178 in tab “Template_skewed ”. Also paste special the 

"interval of differences for t-values" from the "Recalculate t-stat skew " tab into cell E176 of "Template_skewed ". 

Note: Cell E173 of "Template_skewed " is linked to the "Calculations for Template skew " and Cell B174 of 

"Template_skewed" is linked to the "Recalculations1 skew" worksheet. In order to use "Template_skewed " for 

multiple data sets of UPL calculations make a copy of the worksheet and rename. Paste special Cell E173 and 

B174 values to freeze the values and remove reference to other worksheets.

The UPL will be calculated in cell E181 of "Template_skewed " 

If the new source UPL is greater in value (less stringent) than the existing source UPL, run the t-test to determine if there is 

statistical difference between the existing source MACT floor pool and the best performing source. In the "t-test " tab enter 

the new source run data into the new source column and enter the existing source run data into the existing source columns. 

If the results in cell B127 of "t-test " tab say "Means are not different" then can default to the existing source UPL for the 

new source UPL. If the results say "Means are different", then cannot default to the existing source UPL for the new source 

UPL.

Other Notes and Terms

Type of data affects m (number of future runs) that will be used in calculation, for example:

If using individual test runs (typically three to a test) to determine compliance; m=3 

If 30-day averages are used to determine compliance; m=30 

If using the average of test runs to determine compliance; m=1

Default m future runs is 3 in each template.

Does data set have non-detect issues, if so take extra step to do UPL v. 3xRDL comparison.

N = total number of sources

n = number of individual runs

df = degrees of freedom = n - 1

X = mean of data
s

2

 = pooled variance of data

m = number of future runs

tdf = t-statistic: t-distribution with df degrees of freedom at 99% [Default] confidence level 

Templates can hold up to 30 sources (N); if data set has more than 30 sources, need to expand template.

Templates can hold up to 35 runs (n) for each source (N), if data set has more than 35 runs of data per source, 

need to expand template.
Raw Data

Runs SPPD_FAC_04 SPPD_FAC_01 SPPD_FAC_03 SPPD_FAC_02 SPPD_FAC_06

1 3.74E+00 4.36E+00 3.87E+00 3.55E+00 1.94E+00

2 2.13E+00 3.12E+00 5.49E+00 6.30E+00 8.12E+00

3 2.00E+00 3.73E+00 3.42E+00 4.04E+00 5.01E+00

4 4.24E+00 2.49E+00 2.22E+00

5 3.84E+00 5.55E+00

6 2.04E+00 3.33E+00

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

KURTOSIS CALCULATIONS FOR SAMPLE SETS WITH n > 3 ONLY

Testing Normality Raw Data Logtransformed

Sample Size 22.00 22.00

Kurtosis 1.38 -0.49 http://www.spcforexcel.com/are-skewness-and-kurtosis-useful-statistics

SE Kurtosis 1.00 1.00 note: cannot use this equation when n=3 because the denominator in second component is not defined (the term n-3 in denominator of seco

Result Kurtosis normal normal

Skewness 1.03 0.06

SE Skewness 0.49 0.49

Result Skewness non normal normal

Result Raw Data Result Log Data

Non Normal Normal
Logtransformed

SPPD_FAC_ SPPD_FA SPPD_FA SPPD_FA

1.32E+00 1.47E+00 1.35E+00 1.27E+00

7.55E-01 1.14E+00 1.70E+00 1.84E+00

6.91E-01 1.32E+00 1.23E+00 1.40E+00

1.44E+00 9.12E-01

1.34E+00

7.12E-01

defined (the term n-3 in denominator of second component is zero).
SPPD_FA

6.63E-01

2.09E+00

1.61E+00

7.98E-01

1.71E+00

1.20E+00

Raw Data

Runs SPPD_FAC_04 SPPD_FAC_01 SPPD_FAC_03 SPPD_FAC_02 SPPD_FAC_06 1 3.74E+00 4.36E+00 3.87E+00 3.55E+00 1.94E+00 2 2.13E+00 3.12E+00 5.49E+00 6.30E+00 8.12E+00 3 2.00E+00 3.73E+00 3.42E+00 4.04E+00 5.01E+00 4 4.24E+00 2.49E+00 2.22E+00 5 3.84E+00 5.55E+00 6 2.04E+00 3.33E+00 789

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Testing Normality Raw Data Logtransformed Data

Sample Size 22.00 22.00

Kurtosis 1.38 -0.49

SE Kurtosis 1.00 1.00 Average of Raw Data 3.84E+00

Result Kurtosis normal normal Variance of Raw Data 2.41E+00

Skewness 1.03 0.06

SE Skewness 0.49 0.49 Result Raw Data Result Log Data

Result Skewness non normal normal non normal normal

1. Take LN( ) of Raw Data

Runs SPPD_FAC_04 SPPD_FAC_01 SPPD_FAC_03 SPPD_FAC_02 SPPD_FAC_06 1 1.32E+00 1.47E+00 1.35E+00 1.27E+00 6.63E-01 2 7.55E-01 1.14E+00 1.70E+00 1.84E+00 2.09E+00 3 6.91E-01 1.32E+00 1.23E+00 1.40E+00 1.61E+00 4 1.44E+00 9.12E-01 7.98E-01 5 1.34E+00 1.71E+00 6 7.12E-01 1.20E+00 789

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

22

3. Calculate 1.27E+00

0.155390017

4. Calculate

5. m= number future runs =3

6. Calculate

Use for small sample sets that are Lognormal.

2. Calculate sample size, n=

1

ˆ

n

i

i

x

n







2

2

1

ˆ

1

n

i

i

x x n















222 2

4 3 ˆˆˆ 2

2

2

ˆ

2331

3 1

1

z

e ee

m m e

 



  

     



0900006481946321 Lognormal Template 12/8/2014
6.143053546

0.084786403

74.45328631

7. Calculate

0.749965591

9. substitue the values of in cell D7 and F7 respectively

3.484 z value from "lognormal z-stat "

a- Calculate 3.855149961

b- Calculate 14.86218122

c- Calculate 0.168113457

d-calculate 0.007638089

e- Calculate 2.918436

f- Calculate UPL 7.2E+00

11. In column B, go down the the row number from Step 10. above, and copy the z value.

12. calculate the UPL using the formula 

b- denominator first term

a- Numerator first term

8. Go to tab distribution for 99 percentile "lognormal z-stat "

10. In column AE indentify the value that is the smallest value that is larger than 0.99, note what row number this is.

222 4 3 ˆˆˆ 2

e e233 e

 

 

2

2

ˆ m e 1





2z 

 

2 2

ˆ ˆ

1

1 2

z

e e

m

 



 



2z 1z 

2

ˆ 2 2 2

2

2 4

ˆ

.99 2 2 ˆ ˆ ˆ ˆ 2 ˆ

ˆ ˆ ( 1)

2( 1)

z

UPL e me e m e

m n n

       

   

      

  

2

ˆ

2

ˆ

e

 

2

2 ˆ ˆ

e

 

2

ˆ

( 1 e )

 

2 4

ˆ ˆ

n n 2( 1)

      

  

2 2 2

2 4

2 2 ˆ ˆ ˆ ˆ 2 ˆ ˆ ˆ ( 1)

2( 1)

me e m e

n n

         

    

  

 

2 2 2

ˆ

1

z m m e 

    

0900006481946321 Lognormal Template 12/8/2014
∆z z

0.101 23.80249 1.377354

-5 =f(a) 390.0648

1 -4.899 354.4355

2 -4.798 321.1779

3 -4.697 290.1895

4 -4.596 261.37

5 -4.495 234.6213

6 -4.394 209.8473

7 -4.293 186.9542

8 -4.192 165.8504

9 -4.091 146.4462

10 -3.99 128.6545

11 -3.889 112.3899

12 -3.788 97.56945

13 -3.687 84.11235

14 -3.586 71.93989

15 -3.485 60.97555

16 -3.384 51.14496

17 -3.283 42.37594

18 -3.182 34.59846

19 -3.081 27.74465

20 -2.98 21.74883

21 -2.879 16.54744

22 -2.778 12.07914

23 -2.677 8.284705

24 -2.576 5.107107

25 -2.475 2.491468

26 -2.374 0.38508

27 -2.273 -1.2626

28 -2.172 -2.49996

29 -2.071 -3.37321

30 -1.97 -3.92639

31 -1.869 -4.20141

32 -1.768 -4.23797

33 -1.667 -4.07363

34 -1.566 -3.74379

35 -1.465 -3.28168

36 -1.364 -2.71835

37 -1.263 -2.0827

 

 1 3

1 3

6 24

z

z z

 

 

 

  

 

2z

1z
38 -1.162 -1.40147

39 -1.061 -0.69922

40 -0.96 0.001637

41 -0.859 0.68087

42 -0.758 1.320402

43 -0.657 1.904325

44 -0.556 2.418893

45 -0.455 2.852526

46 -0.354 3.19581

47 -0.253 3.441494

48 -0.152 3.584492

49 -0.051 3.621883

50 0.05 3.55291

51 0.151 3.378983

52 0.252 3.103674

53 0.353 2.73272

54 0.454 2.274026

55 0.555 1.737657

56 0.656 1.135845

57 0.757 0.482988

58 0.858 -0.20435

59 0.959 -0.90745

60 1.06 -1.60542

61 1.161 -2.2752

62 1.262 -2.89157

63 1.363 -3.42715

64 1.464 -3.85238

65 1.565 -4.13556

66 1.666 -4.2428

67 1.767 -4.13806

68 1.868 -3.78313

69 1.969 -3.13764

70 2.07 -2.15904

71 2.171 -0.80265

72 2.272 0.978414

73 2.373 3.233181

74 2.474 6.012847

75 2.575 9.370774

76 2.676 13.36249

77 2.777 18.04568

78 2.878 23.4802

79 2.979 29.72808

80 3.08 36.8535

81 3.181 44.92281

82 3.282 54.00452

83 3.383 64.16932

84 3.484 75.49004
85 3.585 88.04169

86 3.686 101.9015

87 3.787 117.1487

88 3.888 133.8648

89 3.989 152.1336

90 4.09 172.0408

91 4.191 193.6745

92 4.292 217.1248

93 4.393 242.484

94 4.494 269.8467

95 4.595 299.3094

96 4.696 330.971

97 4.797 364.9326

98 4.898 401.2971

99 4.999 440.17
distribution of Z

Normal 

distribution

1.48672E-06 0.000579917

2.45094E-06 0.0008687

3.9995E-06 0.001284552

6.46025E-06 0.001874696

1.03291E-05 0.002699714

1.63472E-05 0.003835413

2.56093E-05 0.005374035

3.97118E-05 0.007424283

6.09553E-05 0.010109452

9.26132E-05 0.013562852

0.000139285 0.017919633

0.000207351 0.023304116

0.000305546 0.029811945

0.000445674 0.037486681

0.000643469 0.0462911

0.000919619 0.056074278

0.001300942 0.066536639

0.001821704 0.077196417

0.002525035 0.087362307

0.003464389 0.09611827

0.004704958 0.102327303

0.006324913 0.104661137

0.008416337 0.101662098

0.011085658 0.091841411

0.014453386 0.073814986

0.018652949 0.046473228

0.023828414 0.00917585

0.030130931 -0.03804338

0.03771375 -0.094282831

0.046725789 -0.1576157

0.057303789 -0.224997187

0.069563239 -0.292263436

0.083588399 -0.354244929

0.099421884 -0.405008262

0.117054396 -0.438227575

0.136415346 -0.447671321

0.157365126 -0.427773224

0.179689839 -0.374240219

 

2 4

2

336

24

z

    z z 

 

 



 

1 3

 2

( ) 1 3 

6 24

z

G

f z z z 

 

 

    

( )z  
0.203099244 -0.284637455

0.227228529 -0.158883344

0.251644341 0.000411873

0.275855243 0.18782147

0.299326439 0.395231257

0.321498297 0.612237125

0.341807853 0.8267965

0.359712192 1.026088455

0.37471238 1.197509618

0.386376486 1.329712319

0.394360216 1.413580947

0.398423793 1.443044227

0.398443914 1.415635461

0.394419966 1.33273831

0.386474058 1.199489353

0.374844865 1.024346204

0.359875719 0.818366595

0.34199778 0.594274668

0.32170943 0.365412073

0.299553264 0.144680625

0.276092166 -0.056420378

0.25188591 -0.228574626

0.227469632 -0.365184292

0.203335281 -0.462628185

0.17991684 -0.520241996

0.157579839 -0.540049159

0.136615273 -0.526293985

0.117237788 -0.484843542

0.099587708 -0.422530427

0.083736272 -0.346505441

0.069693339 -0.263658786

0.05741676 -0.180152901

0.046822635 -0.101092161

0.037795734 -0.030336761

0.030199481 0.029547598

0.023885038 0.07722465

0.018699163 0.112435203

0.014490659 0.135788687

0.011115369 0.148528978

0.008439746 0.152300952

0.006343145 0.148938347

0.004718997 0.140286733

0.003475077 0.128068772

0.002533081 0.113793105

0.001827693 0.098703708

0.001305351 0.083763503

0.000922829 0.0696644
0.00064578 0.0568556

0.00044732 0.045582551

0.000306705 0.035930124

0.000208159 0.027865109

0.000139842 0.021274633

9.29928E-05 0.015998559

6.12113E-05 0.011855066

3.98826E-05 0.008659501

2.5722E-05 0.00623718

1.64209E-05 0.004431121

1.03767E-05 0.003105833

6.49066E-06 0.00214822

4.01874E-06 0.001466568

2.46298E-06 0.000988385

1.49417E-06 0.000657689
Absolute values

0.000579917 2.92858E-05

0.0008687 8.77387E-05

0.001284552 0.00012974

0.001874696 0.000189344

0.002699714 0.000272671

0.003835413 0.000387377

0.005374035 0.000542778

0.007424283 0.000749853

0.010109452 0.001021055

0.013562852 0.001369848

0.017919633 0.001809883

0.023304116 0.002353716

0.029811945 0.003011006

0.037486681 0.003786155

0.0462911 0.004675401

0.056074278 0.005663502

0.066536639 0.006720201

0.077196417 0.007796838

0.087362307 0.008823593

0.09611827 0.009707945

0.102327303 0.010335058

0.104661137 0.010570775

0.101662098 0.010267872

0.091841411 0.009275983

0.073814986 0.007455314

0.046473228 0.004693796

0.00917585 0.000926761

0.03804338 0.003842381

0.094282831 0.009522566

0.1576157 0.015919186

0.224997187 0.022724716

0.292263436 0.029518607

0.354244929 0.035778738

0.405008262 0.040905835

0.438227575 0.044260985

0.447671321 0.045214803

0.427773224 0.043205096

0.374240219 0.037798262

 

2 4

2

336

( )

24

z

z z

z z





   





1

( ) 2 ( ) ( )

2

M

i

i

x

f a f x f b



  

      
0.284637455 0.028748383

0.158883344 0.016047218

0.000411873 4.15991E-05

0.18782147 0.018969969

0.395231257 0.039918357

0.612237125 0.06183595

0.8267965 0.083506447

1.026088455 0.103634934

1.197509618 0.120948471

1.329712319 0.134300944

1.413580947 0.142771676

1.443044227 0.145747467

1.415635461 0.142979182

1.33273831 0.134606569

1.199489353 0.121148425

1.024346204 0.103458967

0.818366595 0.082655026

0.594274668 0.060021741

0.365412073 0.036906619

0.144680625 0.014612743

0.056420378 0.005698458

0.228574626 0.023086037

0.365184292 0.036883613

0.462628185 0.046725447

0.520241996 0.052544442

0.540049159 0.054544965

0.526293985 0.053155692

0.484843542 0.048969198

0.422530427 0.042675573

0.346505441 0.03499705

0.263658786 0.026629537

0.180152901 0.018195443

0.101092161 0.010210308

0.030336761 0.003064013

0.029547598 0.002984307

0.07722465 0.00779969

0.112435203 0.011355955

0.135788687 0.013714657

0.148528978 0.015001427

0.152300952 0.015382396

0.148938347 0.015042773

0.140286733 0.01416896

0.128068772 0.012934946

0.113793105 0.011493104

0.098703708 0.009969074

0.083763503 0.008460114

0.0696644 0.007036104
0.0568556 0.005742416

0.045582551 0.004603838

0.035930124 0.003628943

0.027865109 0.002814376

0.021274633 0.002148738

0.015998559 0.001615854

0.011855066 0.001197362

0.008659501 0.00087461

0.00623718 0.000629955

0.004431121 0.000447543

0.003105833 0.000313689

0.00214822 0.00021697

0.001466568 0.000148123

0.000988385 9.98269E-05

0.000657689 3.32133E-05
Cumulative normalization

2.92858E-05 1.10037E-05

0.000117025 4.39703E-05

0.000246764 9.27182E-05

0.000436108 0.000163862

0.00070878 0.000266314

0.001096156 0.000411865

0.001638934 0.000615806

0.002388786 0.000897553

0.003409841 0.0012812

0.004779689 0.001795901

0.006589572 0.002475939

0.008943288 0.003360314

0.011954294 0.004491657

0.015740449 0.005914251

0.02041585 0.007670967

0.026079352 0.009798948

0.032799553 0.012323968

0.040596391 0.01525352

0.049419984 0.01856886

0.059127929 0.022216484

0.069462986 0.026099735

0.080033761 0.030071555

0.090301633 0.033929562

0.099577616 0.037414882

0.107032929 0.04021611

0.111726725 0.041979738

0.112653486 0.042327955

0.116495868 0.043771676

0.126018434 0.047349645

0.141937619 0.053331054

0.164662335 0.061869545

0.194180942 0.072960745

0.22995968 0.0864041

0.270865514 0.101773889

0.3151265 0.118404328

0.360341303 0.135393152

0.403546399 0.151626856

0.441344661 0.165829018

( f x ) ( f b)



 




0.470093044 0.176630817

0.486140262 0.182660332

0.486181861 0.182675963

0.505151829 0.18980366

0.545070186 0.204802419

0.606906136 0.228036403

0.690412582 0.25941277

0.794047516 0.298352131

0.914995988 0.34379681

1.049296932 0.394258492

1.192068608 0.447902931

1.337816075 0.502665482

1.480795256 0.556387888

1.615401825 0.606964404

1.73655025 0.652484212

1.840009217 0.691357457

1.922664243 0.722413915

1.982685984 0.744966236

2.019592604 0.758833376

2.034205347 0.764323908

2.039903805 0.766465023

2.062989842 0.775139275

2.099873456 0.788997772

2.146598902 0.806554198

2.199143344 0.826297029

2.253688309 0.846791529

2.306844002 0.866764029

2.355813199 0.885163513

2.398488772 0.901198257

2.433485822 0.914347903

2.460115359 0.924353576

2.478310802 0.931190256

2.488521111 0.935026635

2.491585124 0.936177895

2.494569431 0.937299206

2.502369121 0.940229829

2.513725076 0.944496669

2.527439734 0.949649758

2.54244116 0.955286332

2.557823556 0.96106605

2.572866329 0.966718159

2.58703529 0.972041945

2.599970236 0.976902069

2.611463339 0.98122044

2.621432414 0.984966179

2.629892527 0.988144947

2.636928632 0.990788664
2.642671047 0.992946295

2.647274885 0.994676122

2.650903828 0.996039646

2.653718204 0.997097108

2.655866942 0.997904466

2.657482796 0.9985116

2.658680158 0.998961492

2.659554767 0.999290114

2.660184722 0.999526811

2.660632266 0.999694969

2.660945955 0.999812833

2.661162925 0.999894357

2.661311048 0.999950012

2.661410875 0.999987521

2.661444089 1

132.8984354