How to buy an online business

I believe that the world of buying and selling "online" businesses is in its infancy stage. There are sites such as flippa or more specific brokers such as FE International that are making it a bit easier to do buy and sell online based business such as websites, web applications, mobile apps or even just plain domains. I think that in the next few years, this will only go up and a lot online businesses will be bought and sold.

I did one major transaction as a buyer on flippa a while ago and learned a ton about the types of questions buyers should be asking sellers. I thought to write this up so that you have some guidelines to follow even though there is no right or wrong way of doing this.

Determine what "YOU" want

Let's say you are looking to buy an online business. You go to one of the broker sites mentioned above and then start going through listings. Or you hear about a "good deal" from a friend or in some online community.

What is the first thing you need to do ? You first need to decide what "you" are looking for and then go check that potential business listed for sale. There is no specific criteria of course but below are some guidelines to decide what you want:

  1. Do you want a product business only or do you want a business that is a mix of product vs service vs commissions vs ads etc. This will help you weed out the ones you don't want. For example, if an online business is making $50,000 per month revenue BUT is 100% ad based from google adsense, is that something you want ? Are you good at using google ads/adsense already ? Do you want a business where primary (if not the only) source of revenue is from ads ?

  2. Do you want an established business vs a less known but high potential business ? Both have their merits and risks. You need to decide which one works for you. My personal rule of thumb ? This will be important for the valuation of the business. For example, a business could be pulling in $50,000 per month BUT if they have only been doing it for 5 months, how confident can you be that the business is indeed sustainable for a long period ? Perhaps the owner got lucky for those 5 months but has no way to keep doing it for a long haul ? So you need to think about this, really hard.

  3. Determine your approximate budget and stick to it (well sort of). For example, if your budget is $50,000, there is no point looking at a business that is close to worth $1,000,000. Of course, businesses overvalue themselves a lot but most likely (I hope) that a business listed for 1M won't settle for something in the 50K range. Now I said stick to your budget "sort of". What I meant is that if your budget is 50K BUT you found a really good one that is worth stretching an extra 5K or even 10K, it could be worth it for you. After all, the value of a business is not just about its revenue/profits/potential but also about what it brings for you. Keep this in mind.

Now, if you come across a potential business that is in line with these 3 primary requirements for you , you are now ready to ask more detailed/specific questions to the seller (in no particular order). Note that some of these question categories may seem an overkill for certain smaller online businesses but you should certainly keep them in mind:

Reason for selling

  • why are you selling this business ?
  • How soon do you want to sell ?
  • What happens if you don't get a deal that you want ?
  • If given a choice to partner with someone to take some pressure off, would you rather do that or still want to sell this business ?

"Core" dependency for the business

  • Does this business completely depend on any specific individual including the owner ?
  • Do you have any full time employees other than the owner ?
  • Do you use any contractors for this business ? Are there any who are regular ?
  • Who are the key team members in this business ? (relevant if the business has a at least 2 or more employees)
  • Does this business primarily depend on a 3rd party service ? E.g. a business built on Linkedin API etc. (Note: You should ask this upfront because this could really make or break a business and could be a major reason why the seller is looking to sell. Even if the business is profitable, it could suddenly die due to core dependencies being un-available)

Age of business

  • When did you start this business ? Literally when did you register the domain and started working on this business ?
  • Is your business incorporated legally ? Where is it incorporated ?
  • When did you get your first paying client ?

What is included/not-included in the sale

  • Domain(s)
  • Hosting accounts/servers. Will the new owner need to get their own hosting and transfer the hosting or can they take your existing hosting account(s) ?
  • social media accounts
  • 3rd party services and licenses such as dropbox, vimeo, amazon etc. list all
  • Employees
  • Contractors
  • Payment providers/gateways including stripe, paypal, etc
  • Are any of these accounts/artifacts listed under the personal name of the owner/partner or are they are all under the business name ?
  • Are there any accounts that will be difficult to take over as a new owner ?
  • Are there any accounts/artifacts/services that will require the new owner to get a new account instead of taking over existing accounts.

Client retention and attrition

  • How many total clients do you have right now ? use this table below to get a detailed percentage of clients (approx is ok but seller must try to give an accurate estimate)
Client CategoryApprox Count/Percentage
Total Clients??
Paying Clients??
Free/non-paying Clients??
Active Clients (may be paying/free and actively use the product)??
Inactive Clients (may be paying/free but don't use the product as much)??
  • How many clients do you gain on an average per month ?
  • How many clients do you lose on an average per month ?
  • Do you offer a trial period ? If yes, how long ?
  • What % of clients convert from trial ?
  • How long does a client stay with your business on an average ?

Revenue and sources

  • Revenue % split between the following:
    • product
    • service
    • commissions via 3rd party like affliate, sponsorships etc
    • ads
  • Pleaser share revenue and cost data going back up to last 36 months.


Cost Category$$Frequency
Payroll - Employees$1/Month
Payroll - Contractors/1099$1/Month
3rd party services??/Month
  • Who is the domain registrar ?
  • Who is the host for the website/app ?
  • What are the various forms of payments that you accept on your site ? credit card ? paypal ? direct debit ? ach ? Which payment gateway do you use for credit card payments? stripe? ?
  • will you provide ownership of existing payment account or will I need to use my own and then migrate existing clients to my account ?

Client Support

  • how do you provide support to clients ? emails ? ticket system ? phone ?
  • Do you have a dedicated website for support ? Is that website hosted on same servers as your product ?
  • Have you created tutorials, knowledge base or FAQs for your clients to help with common support questions ?
  • what is your support SLA with your clients ? 24-7 ? 24-5 ?
  • what is the average amount of time spent on support on a daily/weekly basis ?

Intellectual Property

  • Does your website/app use code not written by you or only for you ?
  • If yes, what are those types of code ? open source ? third party libraries ? premium plugins ?
  • What percentage of the source code is split between proprietary and third party ?

Marketing and Analytics

  • How many visitors do you get per month ? Google analytics ?
  • How much marketing do you do every month ?
  • Is your marketing primarily "inbound" i.e. people find you vs "outbound" (you go find people). What % is inbound vs outbound ?
  • Do you do "content marketing" ? How much of that brings you traffic ?
  • Do you outsource marketing or do you have in-house team including yourself ?
  • Social Media marketing ?
  • Do you spend any money on ads to market your business ? google ads ? facebook ads ? what is the conversion rate ?

Reputation and networks

  • How well known is your business in the online community ?
  • Do you have any backlinks for your business ? Can you share the list of any websites that talk about your business or have backlinked to you ?
  • Are there any keywords for which you rank well with google search ? Do you have any pages/URLs hitting the front page of google ?

Previous disputes and litigations

  • Did you ever have any legal disputes including litigations in this business that are now closed?
  • Do you have any pending/open legal disputes right now including litigations ?
  • Do you suspect any upcoming potential legal disputes so far with your business ?

Transition after the sale

  • After the sale, will the seller be around to help the new owner ?
  • If yes to above, how long will the seller be around ? How many approx hours per day can the seller help with transition ? Will this include weekends ?

Trademarks and Patents

  • Any registered trademarks ? What jurisdictions ?
  • Any patents ? Pending or otherwise ?

Lawyer and Accountant

This can be optional for a small transactions (say a $100 sale for a domain) BUT If you are buying a serious business, don't do it all by yourself. Have a business lawyer look at anything you sign. Talk to an accountant who can advise about potential tax consequences when you buy a business.

Ok, now off to writing another post on "how to sell an online business" :)

Your "users" are not necessarily your "customers"

I am not necessarily talking about on boarding users for free and converting them into paid customers. In that case, the user becomes a paying customer. This is a slightly different topic. Let me explain.

You may have a great product that you released and getting a good amount of traction and a growing base of loyal users who absolutely love your product. They tweet about it, blog about it and tell everyone about it.

The question is: Are they the ones who can actually pay for it ? They are the ones who will be using the product but are they the ones who can/will pay for it ? In many cases, the answer may be No. For example, if you sell enterprise, you may get a few users from an organization/institution, but they will not be able to decide whether to officially on-board and pay for the product. You may need to go through their procurement department. Another example is schools and universities. A teacher may play around with your product but when it comes to actually paying, they may not get anywhere. It may need to be approved by the Dean or a head administrator.

A very important distinction to keep in mind.

How to offer Free Trial of your online software to clients

Running a bootstrapped Software-As-A-Service business (SAAS) has taught me a few lessons that I thought to share in case anyone else is reading.

Offering a Free Trial Period for your product can bring in more traffic, users and ideally more paying clients. However, Free Trials can sometimes be a pain for your business as they bring their own set of problems. Some of those problems are:

  • A prospect signs up for the free trial and starts abusing it (e.g. creates multiple accounts for the same client to bypass the trial period restrictions)

  • Lot of prospects signup for the free trial but don't really do anything. This creates unncessary clutter in your product. The reason that a lot of people are signing up could be due to the free trial option.

  • You end up providing support to the free trial members which sometimes could cost you more than you expect.

My suggestion on how to offer Free Trials below

Credit Cards upfront vs No credit card upfront

If the cost to acquire a new paying client is high for your product, then I will suggest that you take Credit Cards upfront but instead of charging an amount, just do a "authorization". This ensures that a valid credit card is added which usually means that the prospect is more serious and has a higher probability of converting . If this cost is relatively low, then you may get away with just an account signup but no credit card upfront. Why ? Because if the cost is high, it means you will spend a lot more time (which is money) and money supporting those prospects while they are in trial period.

Always make clients signup with a valid email

This is a no-brainer but don't make the mistake of letting people create free trial accounts with fake data. This will not add much to your chances of getting an actual paying client. Make those clients signup and activate with a valid email.

Restrict on Time, not Feature

This is my personal opinion but I would say that during a Free Trial, don't try to restrict the clients from using the products exactly as they will if they were paying. The point of free trials should be to let a prospect decide if the product is what they need and having access to a stripped down product does not help. Just set an expiry timeline for the free trial and move on.

Reach out to the prospects during their trial period

Don't wait till last min. Reach out to the prospects while they are in trial period. Offer them help and ask them if they would like to see more. This of course depends on your product and your capacity as a company but the more personalized you can be, the better it is.

Gentle Reminder before Trial Period Expiry Date

A lot of clients would love to convert but they probably forgot about it. Never forget to remind them gently that their trial is expiring.

Hope this helps.

Goddamn Laravel, you rock!!

I am building an API for my product and decided to go with Laravel 5.1 after researching frameworks extensively. Not to mention that I love Python and Flask framework already and would have certainly gone with it to build the API part. BUT for some reason, my existing product is in PHP and I thought of keeping it all in PHP for the backend.

Enters Laravel to the rescue. I have to say that it is damn good for building CRUD apps at least. I specifically love the "Eloquent ORM". It made my life soooo easy when it came down to defining relationships between models and using the relationship to actually create data in the backend. Imagine this:

You have a model called User and another model called roles. The relationship is:

One user can have many roles and one role can be assigned to many users. This means that it is a many to many relationship. Here is how you do it in laravel (code for illustration)

class User extends Model {

    public function roles() {
       return $this->belongsToMany('Role');

}// End class User

class Role extends Model {
     public function users() {
         return $this->belongsToMany('User');

 }// End class Role

Let this sink in for a second. Just with these lines of code, we have established a super powerful many-to-many relationship. Now, the real magic happens:

Create new data
$user = User::whereId($user_id)->first();
$role = Role::whereId($role_id)->first();


OR (you only need to do 1 of these attach() calls)

Fetch existing data
$user_roles = $user->roles()->get();

Similarly for the role,

$role_users = $role->users()->get();

Beautiful. So intuitive and easy to read.

Sharing data between Angular Controllers

I had this controller where I was trying to create a new user for the application. But then I thought about creating just one form for both new user and edit user as the form should be identical for both.
For whatever reason, I have 2 controllers to handle this. One where it displays the list of all users and also keeps a $scope.selected variable that keeps track of user that is selected to be edited.
The 2 controller is just to create a new user.

The problem is that if I try to edit an existing user using the entire code from the 2nd create user controller (which makes sense) to avoid duplicating code, I ran into a problem as the $scope.selected data is not available within the 2nd controller.

angular service comes to my rescue even though there are other bad ways of doing this including using the dreaded $, $scope.broadcast etc which is usually not recommended.

Here is how I did it, thx to some googling and stackoverflowing as well of course:

    .service('sharedUserService',function (){
     return {
        selected: {
});//End sharedUserId service

Now, all I need to do is to set this selected variable in 1st controller like:

sharedUserService.selected = $scope.selected;

and then refer to it in the 2nd controller :

$scope.selected = sharedUserService.selected

Remember, you can share a single value or even objects. Usually I advise using objects as javascript loves objects.

AngularJS: Routeprovider vs Stateprovider

Working with angular can be a bit daunting at times. One of the things about angular is the concept of Routeproviders vs Stateproviders. Both can do the job for you but here is a really good explanation found on Stackoverflow.

"Angular's own ng-Router takes URLs into consideration while routing, UI-Router takes states in addition to URLs.

States are bound to named, nested and parallel views, allowing you to powerfully manage your application's interface.
While in ng-router, you have to be very careful about URLs when providing links, in UI-Router you have to only keep state in mind.

So, even if you decide to change your URL some day, your state will remain same and you need to change URL only at .config.

While ngRouter can be used to make simple apps, UI-Router makes development much easier for complex apps."

My favorite Quotes

I believe in having a list of favorite quotes as by reading this list, you can quickly tell what kind of person I am in general:

  • Excellence is not a skill. It is an attitude
  • Shoot for the moon. Even if you fail, you will land among the stars.
  • Always borrow money from a Pessimist. They never expect to get it back anyway.
  • Life is worth at least 1 skydive (Ok I came up with this. See this video to understand what I am talking about)
  • You’ll always miss 100% of the shots you don’t take.
  • Impossible = I-M-POSSIBLE
  • Courage is being afraid but going on anyhow
  • Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime
  • I may not be there yet, but I'm closer than I was yesterday

And I really believe in the 7 Habits of highly effective people concept.

Tools to start a Software-As-A-Service (SAAS) business

I am running a SAAS business and thought to share some of the critical tools that we use for the business. Of course, it can vary based on your needs but if you are running an online web based SAAS business, then the following tools are very handy.

DISCLAIMER: Some of the tools mentioned below may have referral links that gives me a very small commission if you end up subscribing. This however does not mean that I am recommending these just for the commission. We use them happily at our company.


This one is important as to where should you host your servers unless you are big enough to build your own data center.

I highly recommend using HiVelocity as their customer support is excellent.

Some other good alternatives:

  • DigitalOcean. They have a great User Interface to setup VPS that they call "droplets". For $5/mont, you cannot go wrong with their 512MB (memory) and 1GB (disk). FYI, this blog is hosted on a digital ocean droplet.
  • Linode: Another decent option but a bit expensive compared to DigitalOcean.
  • Amazon AWS. If you need flexibility and scaling as you go along, AWS is a good idea. But be careful with AWS. There is no upper limit on usage and hence you can get a huge bill if you end up using too much resources.


  • Sendgrid. My pick so far. Gives you 12,000 emails FREE every month. Nice and simple API and a dashboard as well.
  • Amazon SES. Equally good as Mandrill but have not used it for our business yet.
  • Mailgun( Another good one with high ratings.

Dev Environment

  • Git (version control)
  • Gitlab/Github/bitbucket (git hosting)
  • Editor/IDE
    • Visual Studio Code / Sublime text



  • Vimeo. Great pricing for pro accounts. You can upload upto 20GB/week with no overall upper limit for only $199/Year which comes out to be $17/Month. Great deal if you have lot of videos for your business. Offers decent API.
  • Wistia. Their analytics is the best in my opinion. Good Interface/UI as well. But they are a bit expensive compared to Vimeo. They charge you by bandwidth usage unlike vimeo. Another huge feature they have is "SubAccounts". Good API.


  • Stripe. Hands down the best Payment provider/API so far. You can start taking payments on your website within minutes and it is great for developers with their awesome and easy to use API.
  • Braintree
  • Paypal. The old beast and to be honest, I am listing it because it is most widely used in the world due to its extensive reach but really there is no reason to recommend Paypal. Horrible UI, bad API and many more issues. Avoid paypal if you can.

Static content/CDN

  • Amazon S3
  • Cloudflare
  • MaxCDN

Project & Task Management

  • Asana
  • Trello
  • JIRA

Customer Support

  • Live Chat
  • Olark


  • Skype
  • Mightycall
  • Grasshopper
  • Slack

UI Mockups and design

  • Balsamiq
  • Napkee


  • PHP, JavaScript, Python, Ruby, HTML,CSS
  • Twitter Bootstrap
  • AngularJS, React, Meteor (front end JS frameworks)
  • Laravel (PHP framework)
  • Django & Flask (Python frameworks)
  • Rails (Ruby framework)
  • NodeJS (JS backend)

Quitting my job to become an entrepreneur

I have been meaning to write this post for a while now. I started a bootstrapped business as a part time venture but I finally made the call to quit my full time job in January 2015. The reasons I wanted to do this :

  • I want to take control of how I spend my time. For example, I can now start working the AM after I drop my kids to daycare while wifey goes to work. No more rush hour commute for me!!
  • I want to create something of value that can hopefully exist even after I die (read: a company that builds a real product and solves a real problem)
  • I love creating something of my own
  • I hate the usual 9-5 work routine. I like flexibility. See my first point again.
  • I hate commuting in traffic. Did I say that already ?
  • Create something of enough financial value that I can hopefully give it to someone else even If I cannot run it anymore.
  • I want to be my own boss. I know this get trickier as entrepreneur specially if you have investors and board of directors but for now, I am enjoying it being 100% bootstrapped.

I have to say that until I did this, I worked in the industry for 10+ years and I never really hated my job itself. I met some really smart people whom I still try to stay in touch with and I learned a lot working in my professional career. I never had a job that I truly hated. So what was the problem ?

I just had that itch to do something of my own. Really bad itch. It was itching for years before I could actually take action but I am so glad that I did this.

Downsides ? so far, my income has gone down dramatically (< 50%, ouch) and no more easy money (yes, I always felt that my jobs made easy money for me. secure paycheck and all). The wife does not like this but she totally understands why I am doing this and what the potential is.

If I fail, I will not be disappointed because I will have no regrets. I didn't want to be on my death bed and cringe that I never tried to do something of my own. That part is taken care of.

Ok, back to work now.

A decent Hotel near Mumbai International Airport

Due to a family emergency, I had to travel to India this week. It was a really short notice and I ended up buying a flight that did not brea my bank too much for a one way ticket. I travel to my hometown which is a small metro compared to the bigger metros like Delhi/Mumbai etc. To go to my hometown coming from outside India, you either take a flight to Delhi (most ideal) or second choice Mumbai/Kolkata etc. Mine ended up being Mumbai as I got an ok deal considering it was last minute ticket.

So, I had to stay one night in Mumbai before my flight next morning. After asking a few people who might know, I searched online and came across Holiday Inn which is just about 2 kilometers away from the International airport. It is not exactly Taj or Hilton but I was pleasantly surprised to see really good quality service and the room was excellent. Very happy overall.

If you need a hotel close to the Mumbai Internal Airport, I definitely recommend looking at Holiday Inn.

Oh, and to get there the best and cheapest way, take Prepaid Taxi from the airport. Prepaid taxis are safe, decent and the most economical way to travel around in a taxi. Don't bother booking any private taxis or anything like that. They might have good service too but for short travel from airport, you don't need that extra expense that they will charge.