I find that if you plan to spend e.g on a supermarket shop and stick to the budget then having an NSD means you don't e.g. pop in for a snack / top up that you should be able to manage without. Doesn't work if you have genuinely run out of stuff you need (nappies and milk and so on) but stops the "because I can" / nice / mindless spends. If you have bought food and travel needs for a week plus have paid the activity clubs and so on then what do you NEED to spend money on? It's a mindset issue to help control spending really.