Been a while since I freelanced, but I found it better to charge per day or preferably, per week or per month.
That way you avoid the problems of charging per project (even if that project is a feature), but avoid the commoditisation of people thinking they can just "grab you" for 3 hours of work.
If you are being paid per week and on day 3 the requirements change, well, it's not on you.
Well, when you charge per day it is assumed you charge for 8 hours, isn't it? For small tasks (2-3 hours) it can be better (rounding by day), but for long-term, undetermined timespan tasks (several months/years+) charging hourly also gives you a freedom to not to work 8 hours per day.
Depends on the client. Typically a day rate is a good chunk of change so it's a good way to get clients to think about things a bit more seriously / show a lot more respect for your opinion/decisions.
The problem with fix bid is the formula is hours* rate * risk of bad/fuzzy requirements. If I assume the risk I'll get a project done less expensive. I do have to management the project though.
I've been pretty much exclusively project-based with my Upwork fees. You're right in that it's usually a risk, and scope-creep is always a potential issue, but it's worked out relatively well in my experience. I usually go out of my way to provide the client with my own detailed task summary regardless of his/her job posting content, to ensure we're on the same page and to give us both a flag-in-the-sand as a reference.
The more you work with a platform like Upwork, the better you get at quickly labeling and filtering clients/gigs, and the better you get at finding similar jobs to successful ones you've completed. That's when project-based fees are great because you can trim hours by creating a system and/or template that reduces your project hours over time.
If you simply don't charge per hour you're filtering many clients out already.
The bigger the period is you charge on, (day, week, month etc.) the less people find you interesting, because they just want you for 5hours/2day/1week etc.
On the other hand you have to ask yourself, do you want to work with those people? If yes, charge per hour, if no, don't charge per hour :)
I don't even know what double skill means. What is a skill of 5 vs 10?
The point is as you get better, you can MORE THAN double your rate at solving problems. A junior programmer might spend a week writing a way to sort a list. A senior programmer might call Arrays.sort and be done in 30 seconds.
I think working hourly basis will generate low income because how much effort you will give you always get the fixed income e.g. $15/hr. Whereas if you work in a project based chances are you can finish the project early and move on to the next project.