There are many issues for this. Price is one factor. Another might be depth of products or services. Another is customer relations. It would be good if you can get feedback from customers from time to time so as to narrow down the issue and be able to have more returning customers as opposed to only one-time buyers.
Customer service is the best solution one could offer. Get in touch with your buyers about your products and offer some discounts/freebies for their next purchases. Some loyal customers come back when they are remembered with offers/discounts