Should I pass along the savings of outsourcing or keep them since I developed those savings through alot of experimentation?
I'd charge full market rates because whether you outsource or not, they're paying for your expertise, and it's your direction of the outsourced resource that creates the final product.
I used to outsource web development tasks and still charged my full rate, even if I'm paying less than 1/3 to outsource. Why? Because I'm still running the show, doing the designs and specs, managing and quality checking the outsource developer, being the customer liaison, etc., and basically trading off one job now outsourced for another higher level job managing the outsource development. It doesn't come for free.
Without you, the customer would still have to locate another resource, possibly who you outsource the work to, but they would need to do the things you do and fully manage the task themselves, taking on more work and not saving as expected. Naive cheapskate customers find out going direct to the outsource freelancers can turn into a total nightmare that they are ill prepared to handle and come screaming back begging for someone to take over that job at any cost.
Which brings up another provision I included in both customer and outsource developer contracts that forbid them from going direct for 12 months after the end of the contract to avoid either side trying to poach clients.
FWIW, I've actually hooked a client directly to a guy I used for outsourcing on a project I didn't want to do directly, but it would never have been my business in the first place so it didn't matter to me. Took a 10% finders fee of course! I may not want the job but cash is a whole different thing :)
Another reason for not discounting just because you outsource is consider you need to build up a cash buffer in the event customers are slow paying or bail out all together. You can still take care of paying the outsourced developer unless you have a contract that states specifically the developer gets paid only when you paid. I always paid my developer on time, upon delivery, as the only stipulation I had in my outsource contracts was that the customer must sign off on the work before the developer could get paid.
One time had a client run out of money, another they simply disappeared and I never saw them again, so having a cash reserve built into the projects saved my bacon.
Flip side of the coin had an outsource freelancer run into problems and lost him during a job and the cash reserve was needed to bring another resource online and continue the project.
Not planning for contingencies like that and giving away everything on the cheap leaves you very vulnerable to unforeseen circumstances.
With all that said, if you really do a lot of business with a client, an anchor client, and really trust your outsource developer, you can consider passing on some savings but I wouldn't make it a habit with all clients, nor all projects. If I discounted it was always a case-by-case basis, never SOP for all jobs.