******************************************************** .Saturday ********************************************************~ Replicated by Julio Gomes and David Sirkin, MIT System Dynamics Group, from Roger Hall's ASQ article, "The Rise and Fall of the Saturday Evening Post" "Roger's model has a few problems in units and we kept them. We were able to \ replicate the behavior in the ASQ paper however, our problem shows a different behavior in relative growth of \ revenue to period 3. We were not able to find out why." | Advertising Rate Change = (B * Advertising Rate / TIME STEP) * PULSE (ST,TIME STEP)*0 + (6/1000)*Change in Readers ~ $/page/Year ~ Change in advertising rates | Thousand Readers = Total Readers Reported/1000 ~ thousand subscriptions ~ | Advertising Rate Per Thousand Readers = Advertising Rate /Thousand Readers ~ $/page/thousand subscriptions ~ | Change in Total Expense Reported = IF THEN ELSE(T>=Accounting Period, (Total Expense-\ Total Expense Reported )/TIME STEP,0) ~ $/Year ~ How much the reported expense will change from a year to the other | Circulation Promotion Expense Change = (C * Circulation Promotion Expense Rate / TIME STEP) * PULSE (ST, TIME STEP) ~ $/Year/Year ~ This is the rate of change of circulation promotion expense | Subscription Rate Change = (A * Subscription Rate / TIME STEP) * PULSE (ST, TIME STEP) ~ $/subscription/Year/Year ~ This is how much we want to pulse the subscription rate change | Total Expense Reported = INTEG(Change in Total Expense Reported,Initial Total Expense\ ) ~ $ ~ This is the total expense reported at the end of the year | Initial Total Expense = (Production Expense Rate + Selling Expense Rate + Depreciation Charge Rate\ + General and Admin Expenses Rate ) * Accounting Period ~ $ ~ | Change in Regular Subscription Pipeout = ((Last Regular Subscriber Batch * 5) - Regular Subscription Expiring Pipeout) / TIME STEP ~ (Subscriptions/Year)/Year ~ This structure was used to eliminate the simultaneous equation in the macro pipeout \ for regular subscriptions pipeout (see macro in the diagram provided last \ class) | Initial Total Revenue = (Circulation Revenue Rate + Advertising Revenue Rate) * Accounting Period ~ $ ~ This is how much revenue we have in the begining through subscriptions and \ advertising | Total Revenue Reported = INTEG(Change in Total Revenue Reported,Initial Total Revenue\ ) ~ $ ~ This is the total revenue reported at the end of each accounting period | Regular Subscription Expiring Pipeout = INTEG (Change in Regular Subscription Pipeout, (Initial Total Readers - Trial Subscription Selling Rate )) ~ Subscriptions/Year ~ This is the result from the pipeline delay to define what is the rate of \ subscriptions expiring every year | Revenue Closing Balance =IF THEN ELSE(Time <= 40+TIME STEP,Total Revenue/TIME STEP, IF THEN ELSE(T>=Accounting Period,(Total Revenue/TIME STEP),0)) ~ Dollar/Year ~ This is the flush out of revenue. That is the revenue closing balance at the end of \ the accounting period. | OUT T 0 = IF THEN ELSE (T 0 >= Flushing Interval, T 0 / TIME STEP, 0) ~ Time Unit/Time Unit ~ This is the flushing rate for one of the control variables that control the flushing \ in the pipeline delay function (macro in the original dynamo model) | Flushing Interval = 0.2 ~ Year ~ | A = 0 ~ Dimensionless ~ Step Height in the pulse formulation for subscription rate change | A0 = -600000 ~ Subscriptions/Year ~ Regresssion coefficients for regular subscriptions sold equation | A1 = 1.34 ~ Dimensionless ~ Regresssion coefficients for regular subscriptions sold equation | A2 = -0.09 ~ $ ~ Regresssion coefficients for regular subscriptions sold equation | A3 = 0 ~ Subscriptions/Year ~ Regresssion coefficients for regular subscriptions sold equation | A4 = 0 ~ Subscriptions/Year ~ Regresssion coefficients for regular subscriptions sold equation | A5 = 0 ~ Subscriptions/Year ~ Regresssion coefficients for regular subscriptions sold equation | A6 = 8e-005 ~ Subscriptions/Year ~ Regresssion coefficients for regular subscriptions sold equation | C0 = 0 ~ $/Year ~ Regression coefficients for the editing printing & distributing expense \ equation | Previous AP Readers = INTEG (Change in Readers, Initial Total Readers) ~ Subscriptions ~ This is the number of readers we had at the end of the previous accounting \ period | Profit Margin = (Total Revenue Reported - Total Expense Reported) / Total Revenue Reported ~ Dimensionless ~ | Pulso = IF THEN ELSE(T 0>=Flushing Interval,1/(TIME STEP)*(PULSE(Time, TIME STEP)),0) ~ 1/Year ~ | B =0 ~ Dimensionless ~ Step height for the advertising rate change equation | B0 = 790000 ~ Subscriptions/Year ~ Regression coefficient for the trial subscriptions selling rate equation | B1 = 0.034 ~ Subscriptions/Year ~ Regression coefficient for the trial subscriptions selling rate equation | B2 = 0 ~ Subscriptions/Year ~ Regression coefficient for the trial subscriptions selling rate equation | B3 = 310000 ~ Subscriptions/Year ~ Regression coefficient for the trial subscriptions selling rate equation | B4 = 320000 ~ Subscriptions/Year ~ Regression coefficient for the trial subscriptions selling rate equation | C = 0 ~ Dimensionless ~ Step height to the change in circulation promotion expense equation | G0 = 2065 ~ Pages/Year ~ Regression coefficients for the magazine volume page rate equation | C1 = 0.0018 ~ $/(Pages*Subscriptions) ~ Regression coefficients for the editing printing & distributing expense \ equation | C2 = 1.02e+007 ~ $/Year ~ Regression coefficients for the editing printing & distributing expense \ equation | Change in Readers = IF THEN ELSE (T >= Accounting Period, (Total Readers Reported - Previous AP Readers) \ / TIME STEP , 0) ~ Subscriptions/Year ~ This structure calculates the relative change in readers compared to the \ last Accounting Period | Change in Total Revenue Reported =IF THEN ELSE(T>=Accounting Period, (Total Revenue-Total Revenue Reported )/TIME STEP,0) ~ $/Year ~ How much the reported revenue will change from a year to the other | Change in Total Readers = IF THEN ELSE(T >= Accounting Period, (Total Readers - Total Readers Reported) / TIME STEP , 0) ~ Subscriptions/Year ~ How much the number of reported readers will change from a year to the \ other | Circulation Promotion Expense Rate = INTEG (Circulation Promotion Expense Change, Initial Circulation Promotion Expense) ~ $/Year ~ This is how much the firm spends on promotion expenses to obtain more \ subscribers | Change in Revenue = IF THEN ELSE(Time<=40+TIME STEP,(Total Revenue Reported-Previous AP Revenue) / TIME STEP\ ,IF THEN ELSE (T >=Accounting Period, (Total Revenue Reported-Previous AP Revenue) / TIME STEP, 0)) ~ $/Year ~ This is tohe rate that updates the revenue every accounting period | Magazine Volume Page Rate = G0 + G1 * Advertising Pages Selling Rate ~ Pages/Year ~ This is the regression equation to define the magazine volume page rate | Second Regular Subscriber Batch = INTEG (R1 - R2, (Initial Total Readers - Trial Subscription Selling Rate) / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for regular subscribers \ time in the system. | Second Trial Subscriber Batch = INTEG (T1 - T2, Trial Subscription Selling Rate / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for trial subscribers \ time in the system. | ROUT = Last Regular Subscriber Batch * Pulso ~ ~ This is a function for one pice of the pipeline delay function for regular \ subscribers. | G1 = 1.3 ~ Dimensionless ~ Regression coefficients for the magazine volume page rate equation | Depreciation Charge Rate = Fraction of Revenue Charged to Depreciation * (Total Revenue Reported / Accounting Period\ ) ~ Dollar/Year ~ This is how much it depreciates in a year. It is modelled as a fraction \ of reported revenues. | Editing Printing and Distrib Expense Rate = C0 + C1 * Magazine Volume Page Rate * Total Readers + C2 * Special Events Switch * (step\ (1, 59) + step (-1, 66)) ~ $/Year ~ This is the regression equation to determie what is the expense rate in editing, \ printing, and distributing the magazine. | Expense Closing Balance = IF THEN ELSE(Time <= 40+TIME STEP,Total Expense/TIME STEP,IF THEN ELSE\ (T>= Accounting Period,(Total Expense/TIME STEP),0)) ~ $/Year ~ This the flush out of total revenue at the end of one accounting period. The author \ decided to do a discrete formulation. This is the continuous pulse function that we have in \ dynamo but we do not have it in Vensim. | Fifth Regular Subscriber Batch = INTEG (R4 - R5, (Initial Total Readers - Trial Subscription Selling Rate) / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for regular subscribers \ time in the system. | Fifth Trial Subscriber Batch = INTEG (T4 - T5, Trial Subscription Selling Rate / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for trial subscribers \ time in the system. | First Regular Subscriber Batch = INTEG (Regular Subscriber Input - R1, 0) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for regular subscribers \ time in the system. | First Trial Subscriber Batch = INTEG (Trial Subscriber Input - T1, 0) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for trial subscribers \ time in the system. | Fourth Regular Subscriber Batch = INTEG (R3 - R4, (Initial Total Readers - Trial Subscription Selling Rate) / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for regular subscribers \ time in the system. | Fourth Trial Subscriber Batch = INTEG (T3 - T4, Trial Subscription Selling Rate / 5) ~ Subscriptions/Year ~ This is one of the six stocks in the pipeline delay function for trial subscribers \ time in the system. | R2 = Second Regular Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | T3 = Third Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | R3 = Third Regular Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | General and Admin Expenses Rate = Fraction of Revenue Spent on Gen and Admin * (Total Revenue Reported / Accounting Period\ ) ~ Dollar/Year ~ This is modeled as a fraction of revenues | T5 = Fifth Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | IN T 0 = Time Unit ~ Year/Year ~ | Initial Advertising Rate = 19500 ~ $/page ~ This is the initial advertising rate (price) | Initial Circulation Promotion Expense = 1.5e+007 ~ $/Year ~ This is the initial expense in promotion | Initial Subscription Rate = 3.08 ~ $/subscription/Year ~ This is how much is charged for a subscription | Initial Total Readers = 3.25e+006 ~ Subscriptions ~ | Last Regular Subscriber Batch = INTEG (R5 - ROUT, (Initial Total Readers - Trial Subscription Selling Rate) / 5) ~ Subscriptions/Year ~ This is a piece of the pipeout delay for regular subscribers. | Last Trial Subscriber Batch = INTEG (T5 - TOUT, Trial Subscription Selling Rate / 5) ~ Subscriptions/Year ~ This is a piece of the pipeout delay for regular subscribers. | T2 = Second Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | TOUT = Last Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | Trial Subscriber Input = Trial Subscription Selling Rate ~ Subscriptions/Year ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | T4 = Fourth Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | R4 = Fourth Regular Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | ST = 45 ~ Year ~ | Previous AP Revenue = INTEG (Change in Revenue,Initial Total Revenue) ~ $ ~ This is the revenue we generated in the previous accounting period. | Regular Subscriber Input = Regular Subscription Selling Rate ~ Subscriptions/Year ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | T 0 = INTEG (IN T 0-OUT T 0,0) ~ Year ~ This is the control variable to control the flush out of a some variables | T1 = First Trial Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the trial subscribtion pipeline delay used to figure out regular \ subscribers expiring rate | R1 = First Regular Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | Relative Growth in Revenue = zidz ((Total Revenue Reported - Previous AP Revenue), Previous AP Revenue) ~ Dimensionless ~ This is the relative growth in revenue from accounting period to \ accounting period | R5 = Fifth Regular Subscriber Batch * Pulso ~ Subscriptions/(Year*Year) ~ This is a piece of the regular subscribtion pipeline delay used to figure out \ regular subscribers expiring rate | Trial Subscription Expire Pipeout = Last Trial Subscriber Batch * 5 ~ Subscriptions/Year ~ This is the rate of subscriptions that expire every year | Total Readers Reported = INTEG (Change in Total Readers, Initial Total Readers) ~ Subscriptions ~ This is the total number of subscriptions reported at the end of an \ accounting period. | Relative Growth in Readers = zidz ((Total Readers Reported - Previous AP Readers), Previous AP Readers) ~ Dimensionless ~ This is the relative growth in subscriptions from accounting period to \ accounting period | Third Trial Subscriber Batch = INTEG (T2 - T3, Trial Subscription Selling Rate / 5) ~ Subscriptions/Year ~ This is one pice of the pipeline delay function for trial subscribers | Third Regular Subscriber Batch = INTEG (R2 - R3, (Initial Total Readers - Trial Subscription Selling Rate) / 5) ~ Subscriptions/Year ~ This is one pice of the pipeline delay function for regular subscribers | OUT T = IF THEN ELSE(T>=Accounting Period,T/TIME STEP,0) ~ Time Unit/Time Unit ~ This is the flushing rate for one of the control variables that control the flushing \ in revenue or expenses, etc in an account period | IN T = Time Unit ~ Year/Year ~ | T = INTEG (IN T - OUT T ,0) ~ Year ~ This is the control variable to control the flush out of a some variables | Time Unit = 1 ~ Year/Year ~ | D0 = 8530 ~ Pages/Year ~ This is the regression coefficient for the advertising pages selling rate \ equation | Advertising Pages Selling Rate = D0 + D1 * Advertising Rate Per Thousand Readers + (D2 * (step (1, 41) + step (-1, 42)\ ) + D3 * (step (1, 42) + step (-1, 45))) * Special Events Switch ~ Pages/Year ~ Number of pages of advertising sold per year | D2 = -1055 ~ Pages/Year ~ This is the regression coefficient for the advertising pages selling rate \ equation | D3 = -356 ~ Pages/Year ~ This is the regression coefficient for the advertising pages selling rate \ equation | Advertising Revenue Rate = Advertising Pages Selling Rate * Advertising Rate ~ $/Year ~ | Special Events Switch = 0 ~ Dimensionless ~ This is a switch that turns on the war events and other special events \ described in the article | D1 = -985 ~ (Pages*Pages*thousand subscriptions)/(Year*$) ~ This is the regression coefficient for the advertising pages selling rate \ equation | Accounting Period = 1 ~ Year ~ | Regular Subscription Expiration Rate = Regular Subscription Expiring Pipeout ~ Subscriptions/Year ~ This the number of regular subscriptions that expire every year | Advertising Selling Expense = Commission on Advertising Sales * Advertising Revenue Rate ~ Dollar/Year ~ | Circulation Revenue Rate = (Trial Subscription Selling Rate + Regular Subscription Selling Rate) * Subscription Rate ~ $/Year ~ This is how much the company makes per year fromthe subscriptions it sells | Fraction of Revenue Charged to Depreciation = 0.01 ~ Dimensionless ~ | Fraction of Revenue Spent on Gen and Admin = 0.01 ~ Dimensionless ~ | Trial Subscription Expiration Rate = Trial Subscription Expire Pipeout ~ Subscriptions/Year ~ This is the rate of trial subscriptions that expire every year | Trial Subscription Selling Rate = B0 + B1 * Circulation Promotion Expense Rate + B2 * Magazine Volume Page Rate + Special Events Switch * (B3 * (step (1,43) + step (-1, 49)) + B4 * (step (1, 56) + step (-1, 60))) ~ Subscriptions/Year ~ This is the rate of trial subscriptions that the company sells and is calculated \ using a regression equation. | Production Expense Rate = Editing Printing and Distrib Expense Rate ~ Dollar/Year ~ | Total Expense = INTEG (Production Expense Rate + Selling Expense Rate + Depreciation Charge Rate + General and Admin Expenses Rate - Expense Closing Balance,Initial Total Expense) ~ $ ~ This is the total expense of the company | Regular Subscription Selling Rate = A0 + (A1 + A2 * Subscription Rate + A3 * Magazine Volume Page Rate) * Regular Subscription Expiring Pipeout + (A4 + A5 * Subscription Rate + A6 * Magazine Volume Page Rate) * Trial Subscription Expire Pipeout ~ Subscriptions/Year ~ This is the number of regular subscriptions we sell every year | Selling Expense Rate = Circulation Promotion Expense Rate + Advertising Selling Expense ~ $/Year ~ Those are the expense we incur to sell the magazines | Total Revenue = INTEG (Circulation Revenue Rate + Advertising Revenue Rate - Revenue Closing Balance ,Initial Total Revenue) ~ $ ~ This the total revenue of the company which is flushed out every \ accounting period | Advertising Rate = INTEG (Advertising Rate Change, Initial Advertising Rate) ~ $/page ~ $ charged per page of advertising | Commission on Advertising Sales = 0.15 ~ Dimensionless ~ This is the comission we pay on advertising sales to others | Potential Subscribers = INTEG (Regular Subscription Expiration Rate + Trial Subscription Expiration Rate - Regular Subscription Selling Rate - Trial Subscription Selling Rate, 1e+008) ~ Subscriptions ~ This is the potential market for the company. We set the initial value as a big \ number assuming that the market is huge. | Subscription Rate = INTEG (Subscription Rate Change, Initial Subscription Rate) ~ $/Subscriptions/Year ~ This is how much the company charges for a yearly subscription | Total Readers = INTEG (Trial Subscription Selling Rate + Regular Subscription Selling Rate - Regular Subscription Expiration Rate - Trial Subscription Expiration Rate, Initial Total Readers) ~ Subscriptions ~ This is the total number of readers (subscriptions) that the company sold | ******************************************************** .Control ***************************************************