 G'day. In the last session we looked at how policies were constructed in MOSMOD of functions, which in turn contain parameters, and that the parameters and functions enabled one to simulate policies. In this session we're going to put that knowledge to use and work out how to add a new system to MOSMOD, how to implement a change to an existing policy in MOSMOD, and how to add a new policy to MOSMOD. First of all, adding a new system. Why might we add a new system? Well, primarily we might want to add a new system to include a new policy year. You'll remember from last session a system is, in a sense, a column within the EuroMOD interface, and the only one presently within MOSMOD is a system for the year 2015. So during the course of this year we'll be inserting a system for 2016 and indeed a system for 2017. But the other important reason for adding a new system and the one which we'll be using for this session is for implementing a reform scenario. Now it's good modelling practice to add a new system rather than amend policies in an existing system in order to perform a reform. This ensures that the parameters of the existing policy are preserved as a record for that particular time point. You don't contaminate the existing system and also you have something to compare it with. So a new system is initially always a copy of an existing system and we call that existing system the base system and it's initially an exact copy of the base system except for the name of the output file and is configured to run with the same data sets as the base system. Now there are two ways of adding a new system and I'll show you those on the model in a minute but the two ways are to go to the country tools tab and press the add system button and that will throw up a dialogue which will ask you to name the new system and the other way is to right click on the header of the existing system. Again you then have to choose a name for the system. Now I'll show you that now on the model itself. So let's go to the model that you're familiar with. This is the existing system. Let's go to country tools. First of all go to add system. Then you have to first of all select the base system, click on OK and then give it a name and we'll put the base system name plus underscore reform. It's a good convention, OK. An in-pops reform system was an exact copy of the base system. I'm going to delete that system. We use the delete system button to do that. The reason I'm going to delete it is because I want to show you the other way. So let's delete it and say OK, we are sure yes and so we're back to where we were. This time let's just click on the top, right click and go to copy paste system and then all it asks you is for a new system name because it's copying that base system so it doesn't have to ask you which system you want to copy. Type in the name same again and there you have it. I'm going to leave that there because we will use it as we go through and then we'll go back to the presentation. OK and here's the new system added to the workspace as I just showed you. It's also added to the list of systems and databases which you can also access through country tools. OK, what kind of policy changes might you want to do? You might want to change an existing policy like for example amend a means test threshold or cash transfer amount. That's very simple and straightforward. There is a means test threshold in both the direct and basic social support programs. You could amend that. You might want to remove the means test. That might be a bit more tricky particularly if you've got to substitute it by something else or add an amount for meeting a particular criteria. Finally you might want to vary the means test by particular characteristics and that can be quite complicated or complex. You might also want to add or remove eligibility criteria for social benefits like for example remove one of the eligibility criteria for direct social support program. That can be simple or complex but is often quite straightforward. The other thing you might want to do is add a new policy such as a social benefit and we're going to do both of these things in this session. First of all let's change an existing policy. The policy that I'd like to do some changes to is one of the more straightforward policies and that's simplified tax, the turnover tax. At present the simplified tax is paid at 3% in respect to small traders whose annual turnover is less than 2.5 million metacars per annum and it's 3% of the turnover. Now what we're going to do is increase the threshold to 3 million metacars per year and increase the rate of tax to 4% and then convert all the figures into constants. And again I will do this for real in a minute. So the steps. First of all we copy the latest system and name it MZ underscore 2015 underscore reform. We've already done that. And then the next thing to do is to introduce the thresholds, the new threshold that is 3 million metacars per annum and the new rate of tax 4% expressed as 0.04 as constants. And to do that you go to the constant underscore MZ policy, the def const function and right click to add two new parameters as placeholders. You could actually put the def const function within the policy itself and some people prefer to do that rather than have a long const def policy at the beginning. It's entirely optional. Then you need to rename the placeholders to TTN underscore threshold and TTN underscore rate which have now been inserted within your constant definition policy. I've just called them TTN underscore threshold and rate because that makes them meaningful. All constants have to be preceded by the dollar symbol. And then we need to place values in the reform system. 3 million hash y per annum for the threshold and 0.04 for the rate. So let's now flip back to the model itself and do that. So let's get constant definition. There it is. Now right click and I'll have slides to remind you of this in a moment. Show add parameter form, click placeholder because that's what we want to add and we want two of them. So we put two and then we click add. They will be popped down. You saw that probably in the model itself that we have to close the parameter box. Then simply give each of these a name. Dollar TTN underscore threshold was the one we were going to do first and then dollar TTN underscore rate. We're going to do second. The threshold was going to become 3 million so let's put that there. Then hash y because that's annual and then this is not annual so 0.04 will do. Really good idea to actually give a comment in the comment box. What is this? It's the simplified, the other one is the rate. So I copy that actually because it's quicker than typing it out in full and then just edit that to say rate and that's now done. We can close the constant definitions. Back to the presentation now and then I've got slides to remind us of that. So first of all the right click on the def const with the show add parameter form at the very bottom highlighted and then we've got the two placeholders selected in the add parameter form. Then obviously you click add and then close and that gives you the two placeholders which you then edit to give the names that you're interested in. TTN underscore threshold, TTN underscore rate and the new amount 3 million hash y. Okay, next steps we first of all then go to the TTN underscore MZ policy and go to the Ben-Calc function. It's the only function there is. Enter the new constant for the threshold TTN underscore threshold in comp-cond where 2.5 million hash y was previously and then enter the rate constant, TTN underscore rate in the comp-tu where 0.03 was previously. And now let's actually go to the model and do that. It's time we're going to open the TTN policy and the Ben-Calc and what we've got to do here is alter the threshold and do that by highlighting it and delete and then start the thing $ and you'll see as soon as you start to type the constant name a whole load of potential constants are revealed. You know it is TTN and you can see TTN threshold. If we just highlight that, TTN threshold is in there. And we can do the same for the rate. You can put $TTN and then the rate we can click on in the list. And that's it. That's now done. I'll go back to the presentation and there it is, a copy of that we've just done. Okay, and that's it. That's a straightforward example of modifying an existing policy. Obviously that can get more complex and part of the exercises that we'll be doing are tackling some of the more complex examples. But those are the basic ways you do it. Those are the tools. Okay, so now let's go to the concept of adding a new policy. And we'll do a straightforward one here. We're going to add a universal child benefit. Again, you start by copying the latest system. We'll use the one that we've already copied and name it mz-underscore-2015-underscore-reform as before. Then next, you have to choose where on the spine the new policy should be located. Remember we talked about the spine earlier. You must actually pick the right point. Just in case there are any conditions that require early policies to have been simulated first. So let's just choose a place on the spine for it to be located. And then next we right-click on the policy before the one you want to introduce and then select add policy after. You're given a range of different policies to choose. We want to choose a benefit policy. Okay, so we do that. Then we need to select the functions. First of all, let's name the policy bch-underscore-mz. Why that? Because bch is benefit for children, bch. And that's what the output variable will be called. Next, right-click on the new policy name and select a function. So for this example, the function bencalp will be used. Although you could have used a combination of ellige and aerothop. Again, I'll refer you back to the last session where we talked about how bencalp is effectively a combination of ellige and aerothop. And then finally something which I almost invariably failed to do is to turn both the policy and the function on. So this will show you where add function bencalp. And then finally, obviously, is to implement the function. We're implementing a function which is... We're implementing a policy to give a universal child benefit. So first of all, we have to define what we mean by children. And here in this model, we've assumed it's children under the age of 15. It could be anything. And then the amount payable will be the amount we've introduced as a constant, which we should do. It's been quite important to introduce bch amount as a constant. And then introduce a new output variable using variable tools, if necessary, of bch underscore s simulated child benefit. It's actually one of the standard ones that you'll find already in the variables tool. Sometimes you may find ones that aren't in the list of error mod variables and you'll have to add them. And then you may have to also add bch underscore s to the output policy as necessary. So why don't we just do all of those things and then take it from there. So we're going to the model. Let's close up that. The first thing we're going to do is to select a place on the spine where to put this. Let's put it after the basic SSP. So we right click on basic SSP and then add policy after and we're going to add a benefit policy. We're going to give it the name bch underscore mz, naming it for the output variable. And there it is. In it goes, not applicable, not applicable all the way through. We can actually give it a name, universal benefit. Now we've got to have a function. It's got no functions at the moment. We're going to right click and then add function and the function we're going to add is bencalc. And there you go. Bencalc is added. Now we can first of all add in the condition and the conditions remember have to be in curly brackets. So curly brackets, DAG, what was it? I think we said that we were going to have it as less than or equal to 15. Just to say, it may be that there are some minus numbers in your data set. I don't think there are in MozMod, but if there were, just to make absolutely sure you should have put always, better practice really, DAG greater than or equal to zero, DAG less than equal to 15. That will capture the naught year olds, i.e. the babies of a few months, but won't allow any minus characters through, where sometimes minus ages are put in where the age is not known. Just an explanation for that. And then the amount, we're going to call the constant dollar BCH underscore amount. I haven't introduced it yet, so it didn't produce that drop-down list, though we should introduce it strictly. Often best to do it before. We'll do it in a second. And then the output variable is BCH underscore s. See, it pops up as a known variable. And this is at the individual level, because we're testing each individual, so we set it at individual level. Okay, so the remaining thing to do is to add yet another constant. So we show add parameter form at another placeholder, and add it close, and that puts that down here. And then we can put dollar BCH underscore amount. I think that's what I called it. And then we can decide on the amount, and I'll leave it to you to decide on that amount, but it might be a thousand metacals per month. Just give it a meaningful comment. Okay, now completed that. Let's go back now to the presentation. Here we go. And then after you make the changes, save changes to the model, and you can highlight differences between the base and the derived system if you switch on a particular switch within the model itself, so that you can clearly see alongside it where changes have been made. The reform system is run in the same way as other systems, and will output the same variables unless a change is made to the output policy. So I think that's really it for this session. The activity will be, first of all, to replicate both the changes to an existing policy that we did in respect to simplified tax, but also to introduce a new universal child benefit. And then we'll go on to look at more examples that you can do as exercises. Okay, that's it from me for this. Thank you very much.