# Client: How to get Poisson arrivals in simulation? (For example in a simple M/M/1 queuing system)

This article applies to iGrafx Process and iGrafx Process for Six Sigma Client tools

While arrivals into a system may be Poisson distributed, the *interval* between arrivals (the time in which *no* arrivals occur) is Exponentially distributed. Per the iGrafx Help on the PoissonDist function (search for Poisson in the Help): "Exponential interarrivals are the same as Poisson arrivals." So if you use the "ExponDist()" function instead of PoissonDist() function in the interarrival expression on the Generator, you'll find the numbers match Poisson arrivals.

For example, a simple M/M/1 (MM1) queuing system with about 4 arrivals per hour (an arrival about every 15 minutes, or ExponDist(15)), and a single server taking about 10 minutes to process each transaction, per queuing theory you should have a cycle time of about 30 minutes and wait (queue) time of about 20 minutes; and thus working time of about 10 minutes. The attached file illustrates how to model this simple MM1 queue.

If you want to confirm that Exponential inter-arrivals are Poisson distributed, there are many good articles that may be found using an internet search. If you want to confirm the results of iGrafx yourself, you can create a Transaction attribute (e.g. "TimeTransEntered") and set its value on Enter of the Start shape to "ElapsedTime()". Then, logging this value (e.g. Model > Run > Log Transactions) for every transaction will then give you the time (in seconds) when transactions entered the system. This will allow you to calculate the number of arrivals in an interval of time such as every 2 hours. For example, in Excel, use something like "=MOD(A3,7200)" in column B to figure out when each 2 hour interval occurs, "=IF(B3>B2,C2,C2+1)" in column C to count which interval you're in, and "=IF(B3<=B2,COUNTIF(C:C,C3),"")" to get the count of the arrivals in that period in column D. You should then be able to use a statistical tool such as Minitab or JMP to measure whether the arrivals match a Poisson distribution (e.g. in Minitab 15, by doing a Stat > Basic Statistics > Goodness-of-fit Test for Poisson).

Also, you can calculate in Excel the time between arrivals (since you logged out when they arrive; e.g. use something like "=A3-A2"), and use a stat's package (e.g. Minitab) to confirm they are Exponentially distributed. For example, in Minitab, do a "Stat > Quality Tools > Individual Distribution Identification" and note which graph shows the best fit, paying particular attention to both P-value and AD measure. The P-value of the Exponential may better (and it's better to use Exponential than a complex fit like a 3-parameter function, and Exponential is simply a special case of Weibull so it can be Weibull too. We expect that we generated Exponential intervals between arrivals, so it's best to use that one if we can anyway... :).