Skip to content

Instantly share code, notes, and snippets.

View rduv's full-sized avatar

Ravi Duvvuri rduv

View GitHub Profile

It looks like there was an issue with the connection while trying to create the GitHub Gist. You can manually create the Gist by copying and pasting the following content into a new Gist on GitHub:


Title: SaaS Spending for Small Sign Businesses: What to Expect

Content:


To provide a deeper analysis of the issues and compare them with industry averages, let’s break down each reason for cancellation more thoroughly, considering typical benchmarks within the SaaS industry.
### 1. **Testing App (241 - 38%)**
- **Analysis**: This is the largest group, representing a significant portion of your churn. These users might not have been convinced of the product’s long-term value or may have found alternatives during their trial period.
- **Industry Average**: Typically, 20-30% of trial users convert to paid users in the SaaS industry. The high number of cancellations under "Testing App" suggests that your conversion rate might be lower than average.
- **Actionable Insight**: Focus on improving the trial-to-paid conversion process by offering personalized onboarding, tailored product tours, and incentives like discounts or extended trials for those close to conversion.
### 2. **Too Expensive (63 - 10%)**
- **Analysis**: Pricing is a common reason for cancellation. This gr
(function() {
SimplePacker = function(qty, sw, sh, w, h, fixedSide) {
this.qty = qty;
this.width = w;
this.height = h;
if (fixedSide == 'both') {
this.sheetHeight = sh;
this.sheetWidth = sw;
} else if (fixedSide == 'height') {
function calculateWastage(
sheetWidth,
sheetHeight,
itemWidth,
itemHeight,
quantity,
cRatio,
fixedSide
) {
$log.debug('Calculating Wastage');
@rduv
rduv / gist:0707dbbb665b26e9e8c05873eb2f9a14
Created February 15, 2017 05:48
Clear Sidekiq Queues
It's easy to find code snippets that will delete the jobs from one Sidekiq queue. But we have lots of queues. I want to clear the jobs from all of them. After a little digging, I came up with an answer that seems to work well. Behold!
# I originally had a more verbose piece of code here but mperham, Sidekiq's creator, set me straight :)
Sidekiq::Queue.all.each(&:clear)
@rduv
rduv / bash_prompt
Created April 24, 2015 06:54
Setup Bash Prompt
function parse_git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
RED="\[\033[0;31m\]"
YELLOW="\[\033[0;33m\]"
GREEN="\[\033[0;32m\]"
NO_COLOUR="\[\033[0m\]"
@rduv
rduv / Chat
Created October 18, 2013 22:25
<div class="chat row-fluid">
<div class="box box-nomargin span12">
<div class="box-header box-header-small">
<div class="title">
<i class="icon-comments-alt"></i>
2 Comments
</div>
</div> <!-- box header -->
<div class="box-content box-no-padding">
<div class="scrollable" data-scrollable-height="300" data-scrollable-start="bottom">
@rduv
rduv / gist:5977603
Created July 11, 2013 17:45
add directories to rake stats
STATS_DIRECTORIES = [
%w(Controllers app/controllers),
%w(Helpers app/helpers),
%w(Models app/models),
%w(Mailers app/mailers),
%w(Javascripts app/assets/javascripts),
%w(Libraries lib/),
%w(APIs app/apis),
%w(Controller\ tests test/controllers),
%w(Helper\ tests test/helpers),
@rduv
rduv / gist:2970849
Created June 22, 2012 06:53
Space Trimmer Module
module Trimmer
# Make a class method available to define space-trimming behavior.
def self.included base
base.extend(ClassMethods)
end
module ClassMethods
# Register a before-validation handler for the given fields to
# trim leading and trailing spaces.
def trimmed_fields *field_list