This post is by Phil Price, not Andrew.
A few months ago I finished a small consulting contract — it would have been less than three weeks, if I worked on it full time — and I find it has given me some things to think about, concerning statistical modeling (no surprise there) but also ethics. There’s no particular reason anyone would be interested in hearing me ramble on about what was involved in the job itself, but I’m going to do that anyway for a few paragraphs. Maybe it will be of interest to others who are considering going into consulting. If you are here for the ethical question then you can skip the next several paragraphs; pick up the story at the line of XXXX, far below.
Most of my work for the past ten years has involved the analysis of electricity data, at scales ranging from individual buildings through large aggregations of customers and all the way up to the entire area served by an electric utility. But every now and then I get to do something different, and back in January I picked up a small consulting job for a large trucking broker. (A trucking broker matches shipping customers with trucks. Trucking has not gone through an industry-wide consolidation so there are thousands of small trucking firms, some of them consisting of just a single truck. If you have a truckload of machine parts to ship from Chicago to Des Moines, you can negotiate with a trucking company yourself or you can call a broker and they’ll find you a truck…or ten trucks…or ten trucks per month for the next year…or whatever). The client company handles a lot of shipping: the six-year-long dataset I was working with includes millions of shipments.
If you call the client today and ask for a price to ship something next week from Point A to Point B, they’ll give you a price and they’ll stick to it: shipping prices are somewhat volatile but not on a timescale of days so they know quite well that they’ll be able to find someone to ship your cargo from Norfolk to Seattle for such-and-such a price. If you want a price far in advance, as some companies do, then they’ll still give you a price but they won’t sign a contract at that price, it’s more like a tentative promise. A company that does a lot of shipping might contact my client along with a bunch of other trucking brokers and ask for prices for a spreadsheet full of trips: how much to ship from Chicago to Atlanta in December, January, February, etc., how much from Chicago to Norfolk in those same months, and so on. At a coarse level the industry does pricing based on three-digit origin zip codes and three-digit destination zip codes, so there are about a million possible combinations, although any individual company will typically be interested in a very small fraction of these. My client, and other brokers, would respond with a price for each future trip. When the time comes and the company actually wants to make a shipment, they start by contacting whatever company had the lowest offer: you said you’d do such-and-such a trip for $1970, send a truck next week. At that point the broker might say “sorry, shipping prices have gone up and we can’t honor that price, it’ll be $2100”. The company might agree to pay that new price, or they might move to the company that made the second-lowest tentative offer. If you are a broker and you routinely underbid and therefore rarely honor your initial offer, shippers will stop working with you. On the other hand, if you routinely bid higher than your competitors then you’ll be too far down the list and will never get a call.
My client wanted me to try to find a better forecasting method than they are currently using. In additional to price data on millions of trips the company had previously brokered, they also gave me some industry-wide price data, as well as industry data on a host of ancillary variables such as monthly data on the fraction of truckers who were offered trips from a specific market (a specific three-digit zip code) and declined to take it. If more and more truckers decline to accept trips that originate in Long Beach, CA, maybe that’s an indication that shipping costs out of Long Beach are going to start going to have to go up in order to recruit enough truckers into those trips.
My real client is a big company, but I was only dealing with one person, the head of the data analysis team, so I’ll refer to him as the client. He told me at the start that he only had about $20K to spend on the project so I needed to be as time-efficient as possible. I’ll say! Three person-weeks is not a lot of time.
I got to work, putting in just ten to twelve hours per week. I had a weekly check-in call with the client at which I would present what I had learned, and we would decide what I should do next. Of course we also talked about how much time I had spent thus far, and how much budget was remaining. My slow work cadence was helpful in keeping me and the client in agreement on what exactly I should do next and in keeping track of progress against the backdrop of the dwindling budget.
First I spent a few days looking into the relationship between the client’s price data and the industry-wide price data: is there a simple relationship for the whole country, are there regional differences, has the relationship been changing with time, etc. In a few cases I found odd behavior: there were some errors in the dataset — at one point I was on hold for most of a week until the client had the problems fixed and got me the new data — and also it turns out that there are some additional complexities I didn’t discuss above, such as features in the data that turned out to be due to a few large clients being given essentially a fixed rate for some trips, for months or even years. I learned a few things, and the client said “that’s great, please write those up in some kind of document I can share with my boss.” OK, fine, but that’s more time: it took me at least a day to create a document I thought was good enough to share…nowhere near publication-ready, but with enough explanation to understand what was being shown and how to understand the results. Make some plots, make some figures, make sure colors and line types are consistent across figures, write some explanatory text…it’s not nuthin’. Somewhere around here I submitted my first invoice, for a bit over 1/3 of the $20K budget.
I moved on to the next dataset, the industry data on rejected and accepted trips and quite a few other variables. Were any of these useful, singly or in combination, as leading indicators of future increases or decreases in shipping prices? Or, more to the point, do they tell you more than you already knew? After all, if shipping from a particular market has been getting gradually more expensive then it’s not hard to predict that it might keep getting more expensive; what we want to know is whether these additional variables can help us modify that prediction. I came up with some results…and again the client asked me to do a write-up he could share with his boss. OK, no problem, but that’s more time…and took me to invoice number 2, again for slightly more than 1/3 of the initial budget.
Finally I started working on the new forecasting model itself. The work described above had given me a good understanding of what phenomena I needed to model and I had a good idea of how I wanted to proceed.
I need to mention pandemic effects somewhere, so I’ll do it here: the pandemic had a huge impact on shipping prices, nationwide but especially to or from certain markets. Southern California ports were totally clogged with shipping containers so it could take a driver an entire day, waiting in line with other drivers, just to pick up a load, so shipping from Southern California got very expensive. That was one of the biggest effects but was far from the only one. That’s a pretty big problem when you’re trying to create and evaluate a time series model: what you’d like to do is train the model on the first few years of data and then test it on the subsequent year or years, but with these data you’d be training on data through sometime in the pandemic, i.e. during a period in which prices for a given market were changing rapidly in one direction, and then testing on the past year or two when prices have been slowly changing the other direction (at different rates for different trips). The bottom line is that when I was testing various modeling approaches or various models I didn’t feel like I could trust the usual train/test approach but I didn’t have a quantitative alternative either. Of course I discussed this with my client on many of our calls. Given all of the background work I thought the final model would be relatively easy, maybe just few days to get it implemented and make a few changes. But after putting in those days I still didn’t have a model I was happy with…and we had run past the initial $20K budget. The client was getting concerned about the cost. I could have just delivered what I had in hand and called it a day, but I felt bad about it and wanted to deliver a solid piece of work that I could stand behind, so I told the client I wanted to spend another day or two and that I wouldn’t charge him for the extra time, so that’s what I did: I kept track of it on the invoice but charged a zero hourly rate for the extra hours.
In the end I had a model I liked well enough. It makes use of spatial correlation in shipping costs in a reasonable way, it decomposes total shipping cost into various components in a way that makes sense…I feel OK about the model. There are some obvious possibilities for improving it but I think it’s premature to pursue them now, without any way of confirming that they work better, so I suggested to the client that they test my model against their current approach and consider using it for their forecasts, but I also pointed out that pre/post testing might not be reliable and that it’s even more true than usual that past performance might not forecast future results. I suggested they revisit the models in a year or so — or pay me to do so — and told the client that I was available for free to answer questions about the model or its implementations, or to fix any bugs in my code, and said I’d be happy to do additional work if they wanted to pay me for it.
The client had paid previous invoices promptly, within two weeks, but the contract allowed them 45 days so I wasn’t worried when a couple of weeks went by and I hadn’t received the final check. Somewhere in this period I got in touch with a member of the client’s data science team; I haven’t mentioned him before but he had been the one in charge of sending me data, fixing the aforementioned data problems, etc., and he was the one who was actually working with my model and evaluating it. Anyway I got in touch to make sure things were going OK — although I’m willing to provide some free support if he needed it, that’s not open-ended in time and if he had questions I wanted to hear them now while everything was still in my head. I ended up fixing a bug and writing a wrapper function to make it easier to run the tests he wanted to run, another free afternoon of work but I didn’t resent it at all, especially the bug-fixing.
XXXXXXXXXXXX. If you skipped all of the above but just want to get to the ethical questions, welcome. XXXXX
Finally we were approaching the required 45-day payment period for getting me my money, and I still didn’t have it. I emailed the client to tell him I hadn’t been paid yet. At this point I thought everything was hunky-dory, so when the client emailed back to suggest a phone call I thought great, maybe they want to thank me for a job well done, or perhaps to offer me more work, or both. But, as you may have guessed, that is not what happened. Instead the guy said they were only going to pay me half of my final invoice, and would only pay the second half if they ended up incorporating my work into their workflow — something that had never previously been part of the conversation, and which I had no way of confirming. Following our phone call, the guy sent me an email that said “Just confirming with you that I’ve submitted this to accounting for remit at 50%, or $5,250. If we’re able to turn this approach into a workable forecasting product, we’ll pay out the remaining balance per our conversation today.”
I didn’t object at that time, because I figured I’d be better off waiting until I had the first tranche of money: I’d rather be arguing about $5000 than about $10,000. And I immediately asked that guy I mentioned on the data science team, and was gratified to hear that to the extent that he could test it — note the caveats above, about the pandemic effects — my approach seemed to perform better than their current one at forecasting up to several months in advance, and also made it easier to incorporate additional predictive variables if they had them. So, great, maybe I won’t have to raise a stink and they’ll just go ahead and send the rest of the money they owe me. But no, that did not happen. In retrospect maybe it was silly to even hope for it: someone who says he is only going to honor the contract if he feels like it is not going to feel like it. And sure enough, my client ghosted me, or at any rate did not respond to emails over the course of several days.
I felt like an idiot. We had been having weekly check-in calls all along, at which I had explained interim results and modeling approaches and gotten the OK for a proposed plan of action, and of course I also reported my hours-to-date at each call, and the client approved more work…but I had none of this in writing. I’ve been a full-time consultant for eight years, and have done over twenty projects for nine different clients, and I’ve never encountered a problem with clients refusing to pay up. I assume that, if pressed, my client would say he had given me a $20K budget and that he had not given me permission to exceed it. (The budget amount was not in the contract, by the way! He had given me that limit on one of our calls). I really did not want to walk away from $5250 but couldn’t think of any way I could prove that the client had approved the work…but then…I searched through all of my email correspondence on the project and AHA! Near the end of the project the client had been unable to make it to one of the weekly checkin calls so I sent my update by email, and I said this:
Which brings me to the other major issue, which is the budget. The contract and SOW allow up to thirty hours per week for as long as you guys approve it, but I know that you were hoping/expecting (and perhaps requiring) to keep it to…I think you said $20K. I’m already over that. My first invoice was $7600, second was $7650, and I’m already up to $8750 on the current invoice and that will keep climbing if I keep working on the models. I would much rather have you and me both be satisfied with the value proposition, than have me walk off with some extra money and leave you unhappy, so if I need to decrease my rate in order to try to bring this to a satisfactory conclusion — even by a large amount — then let’s have that discussion.
And the client wrote back asking for more work…and also, incidentally, wrote “100% agree on the accuracy of forecasts. We’ve got all this data, but really pre-covid and intra-covid are probably of limited utility.”
Thank god we had been unable to have that check-in call, thus prompting me to send that emails.
I sent the client a long email in which I reminded him of all the work I had done, not just on the forecasting but also writing up the other stuff he wanted; pointed out that his data science guy had said my approach seemed to work better than theirs but that it’s impossible to really know; pointed out that that didn’t matter because the contract did not require that my approach work better than theirs; and finally quoted the email that I quoted above. I wrapped it up with:
If I don’t hear from you by the end of the day on Wednesday, July 19, that the money is on the way — with money sent to my account within a day or two after that (account info is below) — then I’m going to speak with a lawyer. At that point things will get substantially uglier, since I will be coming after [the company] for the legal fees as well. I am not trying to gouge, I just want the money I am owed. Please, I beg you, do us both a favor by doing the right thing: respond to this email by telling me you are sending me $5250, and tell your Accounts Payable people to send me the money.”
The money arrived in my account the next day.
So in the end I got my money — after the 45-day period required by the contract, and only after threatening legal action, but it was a big relief to not have to do anything farther. Happy ending, more or less.
But.
It’s been bugging me. It seems very unlikely that I’m the first person this guy has ever tried to screw over, and very unlikely that I’ll be the last. Am I ethically required to at least try to make sure he doesn’t succeed? I could contact his company’s legal department and tell them what he’s doing, maybe they don’t know, and after all this behavior does expose the company to future lawsuits, in addition to being unethical. Or I could try to track down the guy’s boss, maybe the company’s org chart is available online or maybe I could cold-call headquarters.
I discussed this with a friend and he said I should drop it: I got my money, and if the guy screws someone in the future that’s not my problem. He also pointed out that the shipping industry is not run by the Boy Scouts; maybe his boss, or the legal department, would congratulate him for trying to screw me, not punish him.
There is one other action I’ve been thinking about, which is offering my services to the company’s competitors. I can’t sell them the code for the model, which is owned by my past client, but of course I can rewrite new code, and indeed code is always better the second time around (my code is, anyway). It’s not unusual for me to offer my services to competitors of former clients, indeed if I didn’t do that I would have been out of a job long ago, but in general I’m just doing work in the same general field, not literally proposing to essentially duplicate the work I’ve done for a previous client. I would feel pretty sleazy doing that as a general rule, but in this particular case it seems fair enough.
Let me know in the comments if you have thoughts on this.
This post is by Phil Price
Seems to me it’s completely up to you to decide if it’s worth your time to lodge complaints. If you think it’s worth your time, sure, do it. I think you do have a kind of ethical obligation to let his employers know, the legal department etc. – but not to the point where you need to do it if you don’t think it’s worth your time. That’s your calculation to make m.
Yeah, it seems to me a little sleezy to offer to duplicate this work with competitors. I don’t think this guy being a shit changes the ethics there. But what matters is your internal sense of your own ethics. Violating your own ethical boundaries, imo, has negative ramifications.
But maybe if you reach out to the legal department of this company, or his bosses, and they blow you off, that would be different matter.
“I think you do have a kind of ethical obligation to let his employers know,” that’s a big part of what I’m asking. It’s certainly easiest for me if I drop the matter, but I feel that there should be some penalty for behaving the way my client did. Otherwise what’s to stop him (and, more broadly, others who behave that way) from continuing to screw people?
What I’m leaning towards is sending an email to his company’s legal department with a link to this blog post, and saying “your employee, [insert name here], is the person whose actions are described here.” They probably won’t do anything, but they might. But maybe they’ll tell him “if you’re going to try to screw one of your contractors, make double-sure it isn’t someone who got approval in writing to spend the money.”
> Otherwise what’s to stop him (and, more broadly, others who behave that way) from continuing to screw people?
Right. What if this guy’s employers don’t know that they’ve got a schmuck working for them, trying to rip people off under the cover of their good name. Suppose they don’t want their employees to be ripping off contractors. Maybe they have ethics. Maybe it’s high risk, legally. Maybe it’s a high risk reputationally.
Maybe I’m just being naive.
But I’d like to think the best outcome here is that his employers don’t want their employee trying to rip people off, and would appreciate being informed, and take action in some way.
And so the way for you to move on with the best possible outcome is to drop a dime.
Not really that hard to do. If they make it obvious they don’t care, then it’s a clean way for you to move forward. You can know you did the right thing. And if you decide to leverage your experience to make more money somewhere else, you can do so cleanly because they’ve made it clear that there was no ethical basis on the relationship to begin with.
Phil:
I guess this is part of a general policy of various companies—including, most notoriously, insurance companies—to avoid contractual payments, just to make it such a pain in the ass to collect that most people will give up. I agree that it’s annoying!
My advice is to try to forget about it. I have been (perhaps was, as I am not doing much lately) a sole practitioner for about 20 years and in a corporate setting for another 20+ before that. I/we got stiffed a few times—three as I recall.
In one case our client was a national government. We did the project but they didn’t pay. We retained a lawyer. Finally, he called and said, “I’ve got the check.” But the country devalued the currency before the check cleared!
In another case, it was an overseas client that offered to pay 50%. Disputing a bill in a county 10,000 miles away would have been expensive and difficult. So, I swallowed the loss. Ironically, my consulting was in regard to a contract that the firm failed to fully pay.
In the third case, the check appeared hours after my counsel sent a draft of a complaint to their lawyer. My counsel was embarrassed to charge me the $450 for drafting the complaint. I thought his fee had generated a good return.
Bad mouthing an ex-client would be fun but it might make you look petty to some and there is always the remote chance of triggering litigation.
I would not seek out the competitors without first checking with counsel. Now, of course, if you were having a drink with one of them and you said, “Here’s a thought” and they ask you to elaborate, that might be different.
But, basically, my suggestion is to regard the whole experience as a sunk cost and put it out of your mind.
Bob76
I’m on board with this. I’ve never been stiffed, but I’ve had some clients drag their feet about paying. The only thing I’d add is to put into your contracts something along the lines of
“upon full payment of all invoices the client automatically receives a worldwide nonexclusive license to copy, modify, run, use, sublicense, and incorporate in other works all computer work products provided by consultant”.
Distribute the code as copyright you, with a license.txt file with text as above.
If you don’t get all the payment send an email reminding them that they have no right to use any of the work until payment is received in full.
I agree with Bob76. This has not happened to me (thankfully) but you got paid in the end and I would stop with that. If it bothers you to have let them get away with trying to stiff you, then you could attack their reputation – for example, naming the company here. I’d advise getting legal advice before doing that. Working for competitors sound childish to me (and perhaps also fraught with legal issues). But in many ways, this is no different that being ripped off by a customer, like with a rental car company. Public complaints can be costly for bad actors and provide a vehicle for penalizing bad behavior, but as I said, it might be wise to seek legal counsel before doing so (your relationship as a paid contractor is different than a consumer’s relationship with a business).
Dale, it’s interesting that you suggest pretty much the opposite of what my instincts tell me. I wouldn’t badmouth the company here. For one thing, I don’t know if “the company” tried to screw me, or if it was just the one guy. For another, it might make me look petty (as Bob76 says) and I don’t want to look petty!
And I would happily work for one of the company’s competitors, even if they _hadn’t_ tried to screw me. I’ve done work in the energy industry for several companies that compete with each other — sometimes at the same time! (In this instance, working for a competitor at the same time was explicitly forbidden by the contract, but it is also explicit in the contract that all bets are off once the contract ends). As I pointed out in another comment, few contractors would survive for very long if we were only allowed to work for one client per industry.
But just because your advice is directly contrary to my instincts doesn’t mean it’s bad advice, so thanks for providing your input.
Working for competitors is fine – but you presented it as a motivation to punish this company/person by doing so. That seems childish to me. As for naming the company, your question about whether it is just this individual that screwed you is certainly relevant. If you suspect it is the individual, then you could consider communicating with the people they report to. I’m not advising it, but it is an option. As an example, I had trouble trying to submit a paper to a journal recently. After a number of unsuccessful attempts (I couldn’t navigate the automated submission system), and after repeated attempts to communicate with the contact person at the journal, I realized I was communicating with a chatbot, not a real person. So, I wrote to the editors – who did not respond to my email. Then I wrote to the Dean of the school where the editors work, saying that I believe editorial work deserves to be rewarded, but also that editors should be help responsible for their actions. I wanted to note that they were unprofessional in not even responding to my inquiry.
Of course, I never heard back from the Dean or the editors. But it did feel satisfying to express my disappointment.
Dale,
It’s true that I would not normally seek out more work in the shipping industry: I like to think that my work in the electricity industry is more valuable to society, and that’s somewhat important to me. So, yes, part of my motivation of taking more shipping industry work would be the satisfaction of knowing I was helping a company compete against the one that tried to treat me badly. Maybe that is childish. But how bad is it to be childish? It seems like only a venial sin.
Your story about the publication makes me angry on your behalf. To not even get a response! Infuriating.
Bob76, you say “Bad mouthing an ex-client would be fun but it might make you look petty to some and there is always the remote chance of triggering litigation.”
I agree about bad-mouthing my former client. You’ll notice I did not name the person or the company. There are pragmatic issues (makes me look petty and thus might discourage clients or potential clients from hiring me) and also ethical ones (using this blog as a platform to shame someone, without giving them an opportunity to respond in kind…although of course they can respond in the comments!)
As for exposing myself to litigation, ha, that would be pretty funny, if they tried to sue me. This part does not worry me at all. There’s nothing in the contract that says that I’m anything other than an ordinary person once the contract ends. And although I know little about law in general, I know that “truth is an absolute defense against claims of defamation.” The salient points in my post are easily proven true, since they’re contained in emails.
The contract explicitly forbade me from working for any of the company’s “major competitors” while I was working on the contract, but explicitly permits me to work for the company’s competitors after the contract ends. Few contractors would survive for very long if, every time they worked for a client, the whole rest of that client’s industry was off limits forever more!
Several commenters seem to think this is gnawing at me. It isn’t. Oh, sure, it rankles that the guy is going to get away with it (if I don’t take any action), but I’m not losing any sleep over it. I was pretty irritated for the first few days after it happened but now I don’t really think about it.
As for your experiences, the one about the devalued currency is pretty funny. I mean, I’m sorry about it, but it’s an amusingly unexpected twist right at the very end. “The good news is, they paid us every dollar they owed us. The bad news is, their dollar is only worth 1 cent.”
I used to live in N NJ. NJ/NYC contractors became familiar with the “Trump Discount” by which the final payment was held back. Experienced contractors learned.
https://www.economist.com/united-states/2016/05/14/scourge-not-saviour
I remember a few other articles like that, about a piano store owner, the architect of Mar A Lago, several others. But those stories didn’t hurt the perpetrator at all, or at least not very much.
My first thought is, I am sorry you had to go through this! It must have been quite a bad experience for you to decide to write such a long account of it.
My second thought is that you have to make a choice – let go or fight. No one else can do that for you. I guess the question is, if you want to fight, what form does that fight take? You listed some options above as to what you might do, and some commenters have added to that list.
From an ethical point of view, I think the conflict is between preventing future harm to others and preventing harm to yourself by spending time on this justice project. I am not advocating either cause – they are both good choices, I believe. Spending time with those you love is time well spent. But if everyone thought that way all the time, we would never progress as a human society. Personally, I would suggest that in making this decision, you look not at the odds of success, as they will never recommend fighting, but at the worthiness of the cause.
Finally, I would like to express my hope that you will be able to overcome this unsavory episode. Forgiveness does not mean allowing people to trample on you, but letting go of the negative feelings that naturally arise when you are unjustly harmed. I hope that you will be able to let go of the ‘bugging feeling’ and find peace in this matter – whether you decide to pursue justice further or let it go.
I suspect that you have already had many (if not all) of the thoughts I have outlined here, but perhaps my compilation will be of some use to you.
Raphael, thanks for your very humane response.
Don’t worry about me overcoming this episode. Before I got paid I couldn’t help gnawing at it occasionally — I have had enough good fortune that being cheated out of $5000 was not going to have a significant effect on me, but it still made me very angry — but it’s already something I barely think about. I wrote a long account because it’s easier to write a long account than a short account…also, part of why it’s long is because I went into some detail about the work itself, which I did just because I thought some people might be interested and others could skip it. Anyway don’t worry about li’l ol’ me, I’m fine! Thanks for your concern.
You make a good point about the ethical choice, I hadn’t thought about the fact that there’s a balance between what I owe to the wider world and what I owe to myself. I had been thinking that if I might help others by taking some action then I should take action, and that failing to do so due to the effort I would have to expend and the personal unpleasantness that night result would represent selfishness on my part. But you’re right that I get to include those things in the ethical calculation.
Thanks for your comment.
If it were me, I would just leave it be after getting your money but refuse to work for them again. My experience in stats consulting has taught me that sometimes it’s just better to eat a sunk cost, and move on. If a client is more trouble than they’re worth, finish the job as a professional but stop working with them in the future. Stats consulting is sort of mercenary work, and if you’re good at what you do, their punishment is that they don’t get your help and advice (or referrals to other stats folks) anymore, imo.
Oh, for sure I am not going to work for them again! Fool me once, etc. But they knew that when they tried to stiff me, so I don’t think they see that as a significant punishment.
You set a great example on how to handle such things 1) get it in writing 2) work towards amicable solutions, and 3)focus, but not exclusively, on customer satisfaction.
My two cents is move on, and let this write up serve as an oblique warning towards.
Personally, I wouldn’t actively search out working with competitors. But I would be happy to badmouth the company (as allowed by the contract) and work with others if the opportunity appeared. I don’t see the benefit to yourself or others in letting bad actors try to get away with things in the shadows. I would also pay more attention to what’s in my contract going forward, especially the payment terms. If the contract doesn’t say anything about only paying half then there shouldn’t be a way for them to offer that.
Just a few comments/suggestions. (1a) I would advise you not to use the word “money” in your emails to clients. “Fee'” or “Payment” reads much better; (1b) “Beg” also made me wince (and that’s putting it nicely) – no place for it – don’t make these things personal and NEVER appear desperate; (2) He ghosted you. Instead of “If I don’t hear from you by the end of the day on Wednesday, July 19”, I would have written: “You have not responded to any of my recent inquiries. If I don’t receive the fee by our agreed upon payment date of xx/xx/xxxx, I can only assume that you no longer work at the firm and I will begin to reach out to senior management. I will fedex our correspondences and proof of work up the corporate ladder until I get a response. Should that fail to generate an appropriate response, I’ll be forced to engage my attorney; (3) Finally ” It’s not unusual for me to offer my services to competitors of former clients” is a problem. I’d never hire someone who has a history of doing that (and depending on the project, make that clear upfront) – certainly not if the reaching out is done shortly after the gig. It’s one thing if you highlight some expertise in that industry on a resume or webpage, but to actually cold call really gives me pause. You built up some domain expertise and want to capitalize on it – fine, but you need to wait a bit (8 months, maybe a year) or you’re likely going to leave a bad taste in your prior client’s mouth. And in the event you do get a nibble from one of the competitors (regardless of the timeframe), you probably should flash your initial client and assure them there won’t be any conflicts (which might, in fact, wake them up (always a good thing when it happens tangentially) and bring further business from them either in lieu of the new business or in addition to).
No doubt you’re correct about the proper formal way to write a business email. Our previous communications had been much less formal and more conversational — on our weekly check-in calls we would usually start with chit-chat about plans for the weekend and so on — but I suppose I should have considered that the future audience for that particular email might include lawyers and such. I dunno, I feel like a lot of those rules about “how to write a business letter” aren’t so relevant these days. But, OK, you would have written the email differently…I’m not taking that lightly, it’s advice I’ll consider for the future.
But the idea that you think it’s a problem to offer services to my client’s competitors…I guess you’re an academic and haven’t dealt with consultant or employees before? It is common for a consultant to work for one client, and subsequently take a job with another client in the same industry. Extremely common. I suppose there are consultants whose jobs would allow them to avoid doing that — maybe if you’re a forensic accountant or something you can work for one client in one industry, then move on to another client in a different industry, and so on, but many of us consultants are hired at least in part because of domain knowledge that is specialized to one industry. In general we cannot afford to agree never to work for any of our clients’ competitors; this would effectively mean that we could only have one client and could not find additional work after the contract ends. It’s certainly true that this is something clients have to consider when they hire a contractor…but of course this is an issue when they hire an employee, too: that employee might be recruited by a competitor. That’s just life in the real world.
Noncompete clauses are common in employment contracts – less so in consulting contracts, at least in my experience. As you suggest, consultants leverage their specialized knowledge, so many would resist signing noncompete clauses, although they almost always sign nondisclosure agreements. I guess if a contractor or employee gets upset enough by the behavior of the company they are working for, they may be tempted to help competitors (without violating those contractual arrangements) as retribution. It may, in fact, be the most effective retribution. However, my preference is to deal directly with the offending person or company. Not that I’ve had much success with that strategy – but it does leave me feeling better for having called them on their behavior. For me, righteous indignation is more satisfying that a childish retribution (even if the latter is more effective).
In a lot of states (including California) non-compete clauses are illegal and therefore not enforceable.
Just to be clear, I wasn’t implying the email needed to be (so) formal. “Money” is kind of a personal term (“You owe me money” is something I might say to my bookie, but not to someone who hired me for a substantial project. A “fee” or “payment” implies compensation for a service performed. As to “beg”, that just makes one look somewhat subservient/desperate. Much better to negotiate from power (or the appearance of power). I believe that kind of email needs to be direct, to the point, and with a specific deadline for payment. Doesn’t need to be formal at all.
I’m not an academic. I’m an ex-Wall Street quant & trader who’s built/run trading units. I’ve dealt with plenty of consultants professionally (and way too many architects, builders, contractors, car salesmen, etc. in my personal life). I’ve negotiated and hondled my entire life :-). Wrt to offering services to competitors, I didn’t say “never” – I suggested that it would be better form to give it some time before one started prospecting the original client’s competitors. Obviously, the domain knowledge acquired (on their dime) is valuable. If one gives it some time before marketing new-found domain expertise, it allows the original client some time to assess the value of the service and perhaps request additional services (which might be much more profitable in the long run).
No way will I work for these guys again. Well, actually I guess that may not be true, I’m still not sure whether my problem is with the company as a whole or with this specific employee.
As for terminology, if this every happens again I’m gonna hit ’em with Pete Seeger. https://www.youtube.com/watch?v=A9Gw4XdreK8
You don’t seem to be leaving any room for an explanation that involves a sincere misunderstanding. You yourself acknowledge that you had forgotten about the email with extra work approved, and you only looked it up after you got mad, but you don’t account for the possibility this guy may have forgotten details or misremembered what was agreed to.
Of course, I think you’re probably right, but any future employer is going to look at this thread and think, “the first time there is a miscommunication, this guy might go crazy and try to sabotage my business in revenge”.
Notifying the company’s legal team or an appropriate officer in the chain of command, is not a bad idea. But it’s unlikely to lead to a change, because the guy will probably just explain it away as a misunderstanding. And of course many companies might view this behavior as a good thing. There is an old saying, “put your best people on accounts receivable, and your slowest people on accounts payable”
We had had several discussions about budget, amount of work remaining, what I should do next, etc., there’s just no way it was a “misunderstanding “. I do think he forgot about the existence of my email so I’m with you on that! If he had known I had -written- approval I doubt he would have tried to screw me.
But you’re right that potential clients who read this post might not know that, or might think that even if that’s the case a public shaming is not the way to handle it. Yet another reason it’s good that I didn’t name the person or the company here.
I am leaning towards just sending this account to the company’s legal department. That’s something that is easy to do, will have no repercussions on me, and I feel it will satisfy whatever ethical obligation I feel to try to stop the guy from screwing future consultants and contractors. So I’ll do that.
In my experience, this (paying a discounted rate for no good reason after the fact) is a reasonably standard business practice.
I don’t do much consulting, but of the handful of times I have, this has occurred twice.
In my small sample, it was smaller companies who stiffed me. When I worked with the “big boys” everything went smoothly.
Really disappointing to imagine how much of this is happening and how sleazy it is.
I work for a relatively ‘big boy’ (in the EU). My firm has quite extensive procedures pretty much preventing this behaviour from what probably is middle management. Our reputation is worth a lot more than 50% on a 20k bill and hence our procedures for reputation risk management actually makes sure that all individual contractors have two (!) layers of professional middle men in between (one on our side, one on their side). That’s a hassle for middle management I can tell, but it does make it so there are people upholding long term relationships regardless of the individual contractor and individual middle manager. They handle tens or hundreds of contractors each. For fixed price agreements, our group legal team is involved in disputes between the internal contract holder and the external party. Again, this creates incentives not to get escalated to group legal, or be quite sure of your case.
I’m sorry you had to go through this and strong write-up. Naming and shaming is obviously a bit more risky in the US, but that should be the norm. And it’s amateurism on part of the firm. Reputations are worth a lot more than 10k.
Anonymous,
perhaps there are industries in which paying only part of the final bill is standard practice, but I’ve never encountered it before and neither have any of my friends. I’m sorry it has happened to you twice! What industry are you in?
Willem,
I’m not worried at all about legal repercussions if I were name and shame: as I mentioned in the post, everything I said is easily proven true and truth is an “absolute defense” against claims of defamation.
But, as david rothman pointed out, potential clients who see me naming and shaming a previous client have no way of knowing that I’m not fabricating, exaggerating, misinterpreting an innocent mistake, or blaming a company for the actions of a single employee. (Yes, I’m aware companies are legally responsible for the actions of their employees while acting in a professional capacity, but that doesn’t mean it would be fair to blame the company for this). I’m not going to publicly name the company or the person.
Your experience suggests that the company’s legal team might take this seriously. I’m going to send them a brief account and some documentation and leave it to them. I expect they won’t do anything, but at least I will feel that I have done something to try to prevent the guy from screwing people in the future.
you reminded me of the point I meant to make in my first reply which was: Of course, if u have to fight them to get paid and the guy who ghosted you is still in his position, then you’re a free agent and once the check clears, do what you want. Payback is a bitch.
ps. No knock to Pete, but the Springsteen version is more fun :-)
I’m getting a lot of good ideas from this discussion. Now giving back…
Did the project have a clear, unambiguous finish line? Since the client just went dark, I doubt that’s the issue. But FWIW, the only less-than-fully-satisfied statistical clients I’ve had were ones that had wrong expectations surrounding the finish line and major project deliverables. (Or rather, it’s *me* that failed to initially set their correct expectations). With brand new clients, I now go so far as to mock-up examples of the project deliverables (the finish line) showing all data dimensions, model knobs and dials—using fake data and fake example conclusions. It takes additional effort. But it really pays off in both confirming what’s most important and avoiding misunderstandings.
About bad-mouthing the company… there’s no lasting upside to this. Don’t waste any more brain cycles. It’s more likely that the individual client is the bad actor; not the company. And then if anyone else within the company reaches-out to you for consulting, you then say, that, “Sadly, your company had a bad previous experience within their company and now, unfortunately, you’re required to get payment up-front.” The new client contact isn’t dumb. He’ll likely be curious about the bad actor. Stay professional. Let the new client contact do any bad-mouthing.
Ditto on complaining to the client’s boss. First, it’s hard to make this sound professional. Second, the bad client holds the megaphone within the company. But I do like @david rothman’s idea of telling a ghosting client that you’ll assume the client no longer works within the company and that you’ll seek-out their boss for contract payment. That’s not unprofessional; a sudden layoff is a real possibility.
Finally, when clients ask for unplanned intermediate deliverables such the write-ups you mentioned, that’s a form of scope creep. When my clients ask for this, I tell them I’d be happy to do so—but only after the major project deliverable is complete. I tell them I can’t deviate from a well-organized workflow without putting the original, more important deliverables and timeline at risk. When I do this, something magical happens. Those intermediate requests seem to resolve themselves or lose their importance by project’s end. But if not, and if there’s time on the clock, I truly am happy to remind the client about these items and pursue them if they’re still needed. And funny thing: when I do complete these items after the major project deliverables, the client appreciates it much more. It’s a final impression that I went above and beyond to exceed their expectations.
I’d love to see a book containing this thread’s ideas and related client and project management tricks.
It probably would have been a good idea to be very explicit about the fact that doing those write-ups of intermediate results would take time, and that if the budget is fixed then the time spent doing that work will necessarily come out of the time that would otherwise be spent doing the final piece of the puzzle, which was (in this case) the forecasting model itself, which the client considered to be a key deliverable.
But we were having a call for about every $1500 that I charged, on average. We discussed the budget, and my future work plan, on every call. I sent frequent updates — figures, plots, calculations — so the client could see exactly what he was getting for his money. And when I was about $4000 over the initial budget (an informal number in the sense that the client stated it as a preference, not a hard limit) I pointed that out to the client, but he still asked for more work. Yes, sure, I woulda-coulda-shoulda been more explicit and gotten more explicit input _in writing_ about what the client expected, and provided a more explicit description _in writing_ about what the client could expect, but that’s only obvious (to me, at least) in retrospect. The client had a full understanding of the situation, that’s not the issue. The issue is proving it. As I said in my post, thank god he couldn’t make it to one of the calls, so I gave an update via email. If I hadn’t done that, I think I’d be out of luck (and out $5200).
To your credit, and anyone offering consulting services, there’s no bullet proof way to completely thwart a bad actor. If a client wants to be dishonest, they’ll find a way. There are more ways to be dishonest than you, the consultant, can think of to prevent or overcome. (But then again, I suppose the reverse is sometimes true also).
I worked once for a larger statistical consulting company that was ultimately brought under, in part, by a bad actor client. The client grew to compose a large share of our business and then took advantage. And this was in spite of a ton of contract pages to prevent just such a thing. To paraphrase, “clients can be dishonest longer than you can remain solvent”