Yet another "How much should I charge?" question for PHP coding

I’ve developed a custom survey system for someone using PHP and no database. The survey is described in a text file (*.ini format). The survey description includes a survey name, an intro message, and a thank you message. There are four types of questions: open ended (textbox); grid of multiple choice questions, all with the same possible answers (“On a scale of 1 to 5…”); single multiple-choice questions with single answers (“Yes/No/Maybe”); and single multiple-choice questions with multiple answers (“Check all that apply”). Questions of the same type can be grouped into sections, and sections can have an optional title, which displays on the survey form.

The form makes sure all questions are answered, saving work completed so far between trips to the server, and when done, displays the form with all inputs disabled and the submit button hidden so the user can optionally print it out for his or her records. I use a hidden value in the form as well as the post/redirect/get method to prevent multiple submissions of the same survey.

The results are saved to a CSV file, each entry with a timestamp. The CSV file has the same name as the survey description file, except with the string “-resp” appended. This way, files for multiple surveys can live in the same directory. The survey script uses a GET variable to tell which survey description file to use (e.g. http://example.com/survey.php?file=survey36)

Separately, I have a script that takes the CSV file and summarizes the responses, providing a results table section by section. The results show each question and the response count and response percentage for each answer, thus you can tell at a glance, for example, that your diners love your service but don’t care for the food.

The whole project is about 650 lines of PHP, HTML, and CSS plus comments. The code isn’t MVC or object oriented, but it’s plain and clear, with no tricky whizbangery and should prove simple to expand if desired. I also wrote general documentation on how to create the survey description files, about 2,000 words worth.

Do you think $1,000 is an appropriate price for this? It took me a bit over 40 hours to design, code, fully debug, and write the documentation, and the client usually pays me $25 for basic web work (tweaking his WordPress). I imagine a coder with mad skillz might have done it in 10 or 12 hours, but he would have also charged more than $25 an hour.

Thanks for your opinions.

Didn’t you agree a price in advance with the client? Or did you give the client an estimate of how many hours it might take?

If no, and if the client is accustomed to paying you a certain rate per hour, it would be reasonable to charge the actual number of hours multiplied by that rate. The fact that the rate is normally for relatively easy WordPress work, and this project was clearly more difficult than that, should not be a factor. The client shouldn’t have to be aware of that distinction.

But be sure that you are not also charging for any time that you spent learning the language or technology that you used for this project.

If the client disputes your invoice, you might have to do some negotiating. The fact that you didn’t agree a fee in advance will go against you. You might end up having to lower the fee rather than risk losing a good client.

Mike

Your price will heavily depend on your region and the clients you currently have, more clients means you can charge more, personally for me $1000 for that kind of work seems a bit hefty (there are many who do that for less), especially since there are many free online survey generators, on the other hand I am very cheap when purchasing.

Remember that the initial price you set will be the price that the client will always expect from you.
The rule is, charge him as much as is written on his forehead (meaning as much as he expects it to cost, if you charge less than that he will think that you did a cheap job, charge too much and he will think you are cheating him), but no less than your willing to work for.

Freelancers charge more than regular coders

Thanks for your reply. I should have clarified that the project was not requested by my client, so there was no advance discussion of price. The background details are so long that I hesitate to write a TL;DR piece. That’s why I gave so many details about the project itself. I was hoping for an objective evaluation of the project on its own merits.

I was hoping for responses like, “Are you kidding? Any PHP programmer could have done that in two hours. Maximum cost would be $150-200!”

Or, “Yes, definitely, even a seasoned developer would have taken a couple of days building that, and at $75 an hour, it would have been more than the $1,000 you have in mind. Just make sure the code is solid and adheres to best practices.”

Thanks. It’s helpful to know the price is a bit hefty from your personal point of view. That’s exactly the kind of reply I was hoping for – opinions about the project itself, not about client relations.

You’re right about the free online surveys. However, as we’ve found out, the free versions have lots of limitations, and the paid versions run around $25 a month. If you have a chance, let me know what you think the price tag ought to be. There are no wrong answers. I’m just collecting opinions.

I think $1000 is too much. You also have to think how your client will react from a price. Client is expecting your rate of $25/hour. And as you said, an PHP professional would be able to do in 10 hours. I think 10 * $25 = $250 would be more reasonable. By giving client a reasonable price, you will keep the client to come back for further jobs. A client that is disappointed by a higher than expected price may not come back again. But that is just my opinion.

Thank you, but I didn’t say a PHP professional would be able to do it in 10 hours. I don’t know if he could or not. Do you think he could?

Besides, if a PHP professional did do it in 10 hours, wouldn’t he charge $75-100 per hour?

I wish I had clarified in my original post that my question was not about client relations. I wrote the application on my own time. Now the client has seen it and would like to buy it. Potentially, he will distribute it to around 500 users.

Ah, you mean you did the work speculatively, and now you are planning to ask the client to pay for it? If that’s right, it’s a completely different story. You are not looking at how much effort you put into developing it, but rather how much it is worth to the client. It’s good that you have now clarified that, because it puts the whole question in a different light.

One solution might be to put the ball in the client’s court. In other words, ask them how much they are willing to offer you for it. You could then use that as a starting point for the negotiation. The problem arises when the client realises that you have already done all the work, and if you don’t agree to their price, it will be a total loss for you. (Well, maybe not a total loss. You would have got some useful experience from the project. But you get my point.)

Mike

Fortunately, it won’t be a loss of any kind for me. I’m always programming something or the other, just like writers are always writing. If anything, it will be a loss to my client.

Basically, my client is a professor at a college that has required its faculty to survey students at the start and end of the term to measure how well they’re learning. However, the college hasn’t provided the faculty any tools to do it. At my client’s direction, I spent a few hours looking into online survey services, but he found them all lacking one thing or another. But when I showed him what I had developed, he found it to be exactly what he wanted.

He wants to use it, and he wants to share it with his colleagues, maybe up to a 100 teachers. He can’t have it at no cost, but I don’t want to take advantage of his need either. And despite the intended distribution, I’m not seeking a per-seat licensing deal. I know how work-for-hire is.

So what I’m trying to figure out is what would a competent, professional PHP freelancer charge if he or she were hired from the start to develop it. I think the technical details in my first post should be enough for people in the field to gauge it.

You are asking an impossible question. It is as asking how long a thread is.

Everyone that answer will give you a different question, as the answer depends on the location of the developer, the location of the customer, experience level of the developer etc.

As an example, if we had received a similar request from a client, from start to end we would most probably have charged $10,000-50,000 all depending on complexity. The difference though from what you did, is that it would be database driven with a management system, and ready to handle load (ability to run it in a cluster without issues).

In your case, as mentioned, you have two options.

  1. Ask the professor how much the college are willing to spend on this.
  2. Set a price, and if they refuse, ask what they are able to give, and then decide if you are willing to let it go for that.

Fair enough. I understand what you mean when you say your company would have charged tens of thousands of dollars but produced an enterprise-class solution. It’s like asking Bechtel how much they would charge to build an addition to your suburban ranch house. They just don’t do such small-potato work. But a one-truck contractor could easily give you a rough estimate of how much it would cost you.

I was hoping some one-truck programmers would see my question but we get what we get. :smile:

Your two suggestions are good, and I guess I’ll go that route.

Another consideration is whether you intend to sell the code to one person and never reuse it (as they will then own it) or whether you are going to retain ownership of the code and simply licence its use

In the first instance your $1000 figure might be at least around the right magnitude but if you are keeping the code then something under $50 would be more appropriate - you’d then get your $1000 by licencing it to 20+ people

I still think you should ask him what he is willing to pay. His answer will depend on how much the app is worth to him and his colleagues, and also on how much budget his department has for this kind of expenditure. Get him to put a figure on the table. At least, that will give you a starting point for the discussion.

Mike

1 Like

I agree with Mikl. In this particular situation, I will ask him what he’s willing to pay. If this is for a University, he will be more familiar with the University budget and how things work or can ask to someone. Besides, he knows how valuable it is to him.

The second point is also valid. If you plan to sell it to other people, you can’t charge as much as if he would be the only one that will ever used that software (well, him and 100 teachers more ;))

There’s other important point that you haven’t taken into consideration… how much would you be willing to sell it for? You don’t seem to care if it sells or not so that means that maybe you’d be happy with selling it for $200

One other point that hasn’t been mentioned yet: maintenance and support. If the university decides to go with the product, and if many faculty members end up using it, you will inevitably get support calls and request for changes and enhancements. You might want to think about a separate charging regime for support and maintenance. Maybe one possibility would be to sell a software licence for each user for a relatively low amount, and at the same time to agree a price list for support. And, if you get any requests for new features, consider quoting for these separately.

Just a thought.

Mike

1 Like

Well, the university decided not to go with the product not because of anything to do with the product but because their budget is shrinking and they’re reducing staff, eliminating courses, and consolidating colleges even as we speak (or as I type). So they’re not buying anything, no matter how good it is.

I appreciate the time everyone took to post, and I understand we need to take these forums on an it’s-all-good basis, but I confess I’m a bit disappointed that I never did get an answer to my original question. I was hoping that someone who freelances this type of work would have come by and said, “According to the info you posted, the project would take me x hours and my hourly rate is $x. Obviously, that’s a ballpark estimate, and if extraordinary circumstances arise, then extraordinary fees will apply.”

But no such freelancer materialized, and I still appreciate your time and opinions. Mods may close this thread if that is the custom around here. :smile:

[quote=“RobertSF, post:16, topic:96532”]
was hoping that someone who freelances this type of work would have come by and said, “According to the info you posted, the project would take me x hours and my hourly rate is $x. Obviously, that’s a ballpark estimate, and if extraordinary circumstances arise, then extraordinary fees will apply.”

But no such freelancer materialized, and I still appreciate your time and opinions.
[/quote]I suspect part of the problem is that this topic does belong here, in the Business section, but most of the folk who could answer that particular question stick to the PHP forum and don’t frequent this area at all. I’m not really sure what the solution is.

[quote=“RobertSF, post:16, topic:96532”]
Mods may close this thread if that is the custom around here.
[/quote]It’s still a very recent thread; let’s give it a bit more time and see if you can get an answer to that question.

Ok, good idea. Thanks! :thumbsup: