Code Monkey home page Code Monkey logo

partner-metrics-for-shopify's Introduction

NO LONGER MAINTAINED This repository is no longer maintained. I suggest using the hosted version instead (www.partnermetrics.io), which is still fully supported.

Partner Metrics - for Shopify Partners

This application was built to provide an easy way to see useful metrics of your apps, themes and affiliate revenue from the Shopify Partner program.. without needing to spend a week in Excel hell.

Hosted version available If you are not comfortable using Ruby on Rails, a free hosted version of this app is available at www.partnermetrics.io

Recurring Revenue Metrics

Simply export your Payment History file from your Partner Dashboard and then import it within the application, and you'll be given many important metrics to see the health of your business.

It will automatically analyze and calculate all of the supported metrics. There are overviews for your apps (recurring and onetime), themes and affiliate revenue. You can also choose what date to look at, what timeframe (Monthly, Weekly, Daily) and allow you to filter by application/theme if you have more than one.

The application is intended to be run locally on your own machine, and is built using Rails 4.1.

Disclaimer I built this because I needed a better overview of my own business. I've been developing for about a year and used this as a learning opportunity. It was thrown together in about a week and is not intended as a commercial product, so there is a lot that could be improved, cleaned up and DRY'ed up.. pull requests are more than welcome to improve the code!

Supported Metrics

  • Overview
    • Total Revenue
    • Recurring Revenue
    • OneTime Revenue
    • Affiliate Revenue
    • Refunds
    • Avg. Revenue per User
  • Recurring Revenue
    • Total Recurring Revenue
    • Number of Paying Users
    • Avg. Revenue per User
    • % User Churn
    • % Revenue Churn
    • Lifetime Value
  • One-Time Revenue
    • Total OneTime Revenue
    • Avg. Revenue per Sale
    • Avg. Revenue per User
    • Number of Sales
    • Number of Repeat Customers
    • % Repeat vs New Customers
  • Affiliate Revenue
    • Total Affiliate Revenue
    • Number of Affiliates
    • Avg. Revenue per User

Note User Churn, Revenue Churn and Lifetime Value have a 30 day lag. This is because we can only check to see who paid for the app 1 month ago, and then if they paid again now. Those that do not pay again are considered Churned. It's the best possible solution I've found, using only the PaymentHistory data available in the CSV file.

Installation

Clone the app:

git clone https://github.com/forsbergplustwo/partner-metrics-for-shopify

Then run:

bundle install

Create a database.yml file with your database connection settings.

development:
  adapter:  postgresql
  host:     localhost
  encoding: unicode
  database: PartnerMetrics_development
  pool:     5
  username: Admin
  password:
  template: template0

Create the database and run migrations

rake db:create
rake db:migrate

And start your server

foreman start

Navigate http://localhost:5000 and start using the app.

Note I decided to run this app on port 5000, so that this app can be up and running while still developing and testing other apps on port 3000.

Importing Your Data

Importing data is easy. Basically, export your payment data from Shopify Partners Dashobard, then choose that file in the import section of the app.

  1. Firstly, login to your Shopify Partner Dashboard and on the Payouts page click the "Export payouts as CSV" link.
  2. You'll receive an email with a zip file attached.
  3. Start the Partner Metrics app, and click on the "Import Data" button
  4. Drag the Zip file from your email and drop it on the area shown. You can also click and select the file manually if needed.
  5. Go get a cup of coffee.. depending on how much data is in the file it could take a couple of minutes to import and calculate all of your metrics.

To update your data at anytime, just repeat the above process. Only new data will be imported, so updating your metrics is a lot faster than the initial import.

Feedback? Issues?

If the application doesn't work as expected, please report an issue and include the diagnostics.

Or better yet, fix it yourself and create a pull request.

To-Do

  • DRY up the code to make it more readable and easier to follow.
  • Add support for the EventHistory.csv file from apps, so metrics regarding conversion (Trial -> Paying) can be created.
  • Add background processing for import/calculation
  • Add Tests

Credits

Originally created by FORSBERG+two because baremetrics.com does not support importing Shopify Partner payment files ;)

License

GNU GPLv2 "free software"- Please see the LICENSE file for more info.

partner-metrics-for-shopify's People

Contributors

atomgiant avatar forsbergplustwo avatar rofish avatar sergey-alekseev avatar wronco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

partner-metrics-for-shopify's Issues

Should I create a hosted version of this app?

Welcome everyone. If you'd like to see a hosted version of this application, so you can simply acess it on the web, login and leave all the technical stuff to me, then just add a +1 comment below :)

packaging issues

I use Ruby 2.2.1

cloned the repo. killed the Gemfile.lock and bundled with the newer Ruby. created my db in postgresql.

ran the command rails s

rails s
Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run gem pristine --all for better startup performance.
Your Ruby version is 2.0.0, but your Gemfile specified 2.2.1

I never use Rails, but I am an expert with Ruby and therefore I am requesting your opinion on what this mess is? My rubygem version is 2.4.6 well beyond anything at 2.0.14, is Spring not some Java crap? and huh?

I thought Rails was a no-brainer? I am obviously out of the loop here... Any tips?

App history import

@forsbergplustwo cool project Bjørn! Now that we have MRR from our apps I've been looking at getting out some more useful metrics.

I started knocking up a bunch of SQL queries from the app history export in the partner dashboard then discovered your project.

The app history gives us stuff not available in the payment history export... free trial to paid conversion, no lag and more granularity.

Would you be open to a PR adding app history import?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.