All Posts By

Willam Forbes

Entity Extraction On a Website | AWS Comprehend

By AWS, Comprehend, Development, PythonNo Comments

Use Case

You want to better understand what entities are embedded in a company’s website so you can understand  what that company is focused on.  You can use a tool like this if you are prospecting, thinking about a partnership, etc.  How do you do this in the most efficient way?  There are some tools that have made this a lot easier.

1. Select Your Target

Here are the steps that we used for http://www.magicinc.org.  They are a simple squarespace site.  You can see this by checking out https://builtwith.com/magicinc.org

2. Get the data

For entity extraction, raw text is the goal. You want as much as you can get without having duplicates.  Here is how you can pull everything that you need.  Here are some command line arguments to run on a Mac.

  1. For the domain you want to search, change directories to a clean directory labeled YYYYMMDD_the_domain.
  2. Run this command: wget -p -k –recursive http://www.magicinc.org
  3. cd into the ./blog directory.
  4. Cat all of the blog articles out using this recursive command: find . -type f -exec cat {} >> ../catted_file “;”

3. Prep Query to an Entity Extraction Engine |  Comprehend

In this simple case, we are going to query a AWS’s Comprehend service.  We will need to write some simple Python3 code.

Since we can’t submit more than 5000 bytes, we need to submit a batched job that break’s up our raw text into simplified batch text.   To do that, I wrote some very simple code:


temp = open('./body_output/catted_file', 'r').read()
strings = temp.split(" ");
counter = 0;
aws_submission = "";
submission_counter = 0;
aws_queued_objects = [] for word in strings:
pre_add_submission = aws_submission
aws_submission = aws_submission + " " + word
if len(aws_submission.encode('utf-8')) >5000:
submission_counter = submission_counter+1
print ("Number = " + str(submission_counter) + " with a byte size of "+\n"+
"+ str(len(pre_add_submission.encode('utf-8'))))
aws_queued_objects.append(pre_add_submission)
aws_submission = ""

Now,  we have to submit the batched job.  This is very simple, assuming that you have your boto3 library properly installed and your AWS configs running correctly.

response = client.batch_detect_entities(
TextList=aws_queued_objects,LanguageCode='en')

Analyze

Now…. all you have to do is visualize the results.  Note, you need to visualize this result outside of the Comprehend tool because there is no way to import data into that viewer.  This snapshot is what it looks like.

More importantly, the key work is to analyze.  We will leave that up to you!

 

Source Code

It was made to be as simple as possible without over complicating things.

Github: https://github.com/Bytelion/aws_comprehend_batched_job

 

Why Do I Need A QA Engineer?

By Agile, Development, Innovators, Startup, TestingNo Comments

Introduction

Why is a Quality Assurance engineer necessary for development of software? Couldn’t I simply get my developers to QA/review their own work? Could I get get developers to review each other’s work? These are all questions that I have come across at some point or other from multiple people.

Before I answer, let’s briefly summarize what QA is:

What is QA?

QA is the analysis of functionality and overall appearance of your site / app. This can include (but is not limited to): Cross-browser testing, screen resolution compatibility testing, grammar, spelling, functionality.. the list goes on. QA is ideally approached from multiple angles.

When testing a simple ‘contact us’ form, the QA engineer would ensure that the email field ensures that a valid email address is entered, the name fields do not accept numbers, the name fields do not accept special characters, ensuring fields have limits so malicious users cannot overwhelm your system by entering large amounts of characters, etc.

QA Responsibilities

A QA engineer’s responsibility is to review each feature before it is released, suggest edits to issues and approve code before it reaches the product owner. Therefore, not only is the entire site under the QA engineer’s watchful eye, each part of the site is analysed during its creation.

Why is QA Necessary For Development?

As you can see above, the responsibilities for QA are laborious. A dedicated amount of time by someone who knows your system is needed. Not only is QA needed for each release, regular testing across your site is critical to catch issues that may affect it from external sources.
Example: Still running flash player on your site? Browsers are discontinuing support since it is considered deprecated technology. Your QA Engineer will (/would) know this.

 

Can Developers QA Their Own Work?

The QA engineer should be a consistent team member, part of daily scrums and involved in feature development. Developers however,are assigned a particular module of the whole system and aren’t truly aware of the system as a whole. Not only is development typically modular, a developer has a completely different mindset and thought process. He/she may not consider all the scenarios a tester would consider.
They can definitely code review their peers but QA is a different game entirely.

 

Want to find out more about software development practices? Check out our Blog!
Bytelion is a full service software development firm. Check out the rest of Bytelion.com or contact us to find out more.

image recognition

Image Recognition of Basic Shapes | Google Vs Amazon

By Tips & Tutorials, Tools

This article was written for an individual or company that is looking to conduct image recognition of basic shapes in their operations. 

The Problem

Bytelion was recently approached by a client seeking to ID basic shapes via image recognition. The premise being: A computer takes a snapshot of a shape, validates its ID and provides validation. There are many options and tools out there, so we wanted to see how Google and Amazon stacked up each other.

How Does Image Recognition Work?

Image recognition is a form of machine learning designed to recognize patterns in data. Once an image is digitized it is just another form of data. Therefore, attributes that are present in multiple sets of images of one thing can inform us that an element of those images always remains consistent.

For instance, multiple pictures taken of a dog from the same angle but in different lighting conditions would still retain the basic ‘outline’ of the dog, if not the same coloring/shading etc. Labeling this set of graphics ‘dog’ informs the computer that these are images of dogs and that similar images presented are also ‘dogs’. The more images of dogs you provide initially, the better the computer is at guessing whether other images have dogs in them.

Google vs Amazon

There are numerous services available for image recognition, but we decided to test the two leading options: Amazon’s ‘Image Rekognition’ and Google’s ‘Vision API’.

Note:
Each services has its own pros and cons. It is best to fully flesh out your use cases before choosing which service to use.

Testing Conditions

Studio

Bytelion’s high-tech photography studio

We conducted rounds of testing in both Amazon and Google’s platforms using each of their default image comparison libraries.  All of our records are stored in AWS in this s3 bucket.

For our ‘photo studio’ we set up a camera mounted and angled above several books (6 inches high). We took images of 7 different shapes, each image taken against a blank background twice in different positions and twice again against a mesh background. We kept consistent light conditions throughout the process (average Lux count of 360, using this meter).

Definitions:

ConfidenceThe degree/percentage of probability the image recognition system associates to its given result.

NAThe resulting output does not match the shape presented. That is, the input image did return other results but they are not relevant and therefore have been redacted from this article.

Test Results:

Circle

circles

4 variants of the same circle

 

Image Google Vision Confidence Amazon Rekognition Confidence
Circle Against White Background 1 72% NA
Circle Against White Background 2 66% NA
Circle Against Mesh Background 1 52% NA
Circle Against Mesh Background 2 NA NA

As seen by the data presented above, Google Vision is the clear winner. While the confidence wasn’t strictly high, Amazon Rekognition was unable to determine that a circle was present in any of the images.

Note: NA means the results didn’t contain a circle in the listed guesses. Also, just because there is a match, does not mean it was the only match, or most likely match.

Triangle

4 variants of the same triangle

 

Image Google Vision Confidence Amazon Rekognition Confidence
Triangle Against White Background 1 69% 63%
Triangle Against White Background 2 63% 96%
Triangle Against Mesh Background 1 NA 95%
Triangle Against Mesh Background 2 NA NA

This round went to Amazon Rekognition. Not only did it identify the triangle in one more image, it also detected a triangle with greater confidence.

All Other Shapes

The following shapes were also tested in both systems in the same format as above:

  • Oval
  • Ring
  • Semi-Circle
  • Octagon
  • Bracket

Unfortunately, neither platform was able to find comparable imagery within their libraries for these shapes. Ranged from having no matches at all to having some matches but none of them the correct shape.

Summary & Conclusion

We cannot say with much confidence that the standard services provided by image recognition services are suitable for detection of basic shapes with out of the box configurations. Default libraries have proven better at identifying abstract imagery (e.g scenery, mountains, animals, people etc) for categorization rather than explicit identification.

Even with the best recognition models in imaging AI, at best there is a 96.54% chance of having a correct match in the top 5 guesses (ref: benchmarking). Maintaining this level of accuracy requires consistent training. Large data sets may require further training time as well as multi-thousand dollar machines. Re-training the same (base) system for a specialized use (such as our case above) can be done in far less time with regular computing power.

Moving Forward

If you really want to identify basic shapes, you will need to conduct your own machine training.  A five minute video on how to do this is here.  Note, it will take you a little longer than 5 minutes.  :- )

Bytelion is a Software as a Service Company.
Have questions? Feel free to contact us at info@bytelion.com

Enabling PostGIS on PostgreSQL with Amazon Web Services(AWS) | Relational Database Service(RDS)

By AWS, Databases, GIS

Part 1 of our PostGIS series is to help developers enable PostGIS for a PostgreSQL database in AWS.

Amazon’s Relational Database Service (RDS) allows users to launch PostgreSQL databases easily and quickly. PostgreSQL allows developers to extend the functionality of the core database via extensions.  For this reason, extensions loaded into the database can function just like features that are built in.

Because this database is on Amazon’s servers, they have limitations on what extensions the will allow to be hosted on their service.  These limitations are mostly for performance reasons.

PostGIS Version

By default, the database has PostGIS installed on it. This isn’t critical to run, but it may be helpful in your troubleshooting efforts.

To get the current version, use this:

SELECT PostGIS_full_version();

Result:

POSTGIS=”2.3.2 r15302″ GEOS=”3.5.1-CAPI-1.9.1 r4246″ PROJ=”Rel. 4.9.3, 15 August 2016″ GDAL=”GDAL 2.1.3, released 2017/20/01″ LIBXML=”2.9.1″ LIBJSON=”0.12″ RASTER

Normal Installation Guidance

If you follow PostGIS’s guidance here, you will get the following error.

When you run this command:
CREATE EXTENSION postgis_sfcgal;

ERROR: Extension “postgis_sfcgal” is not supported by Amazon RDS
DETAIL: Installing the extension “postgis_sfcgal” failed, because it is not on the list of extensions supported by Amazon RDS.
HINT: Amazon RDS allows users with rds_superuser role to install supported extensions. See: SHOW rds.extensions;

AWS RDS PosGIS Installation Guidance

AWS covers enabling PosGIS via their common database administrator (DBA) tasks here.

In about 3 minutes, you can run through these commands and enable PosGIS tables in your database.

AWS Supported Extensions

This is a pretty nifty command to see what extensions are displayed on the device.

SHOW rds.extensions;

Here is a list of the Posgresql Extentions that RDS does support:

address_standardizer
address_standardizer_data_us
bloom
btree_gin
btree_gist
chkpass
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
fuzzystrmatch
hll
hstore

hstore_plperl
intagg
intarray

ip4r
isn
log_fdw
ltree
pgaudit

pgcrypto
pgrouting
pgrowlocks
pgstattuple
pg_buffercache
pg_freespacemap
pg_hint_plan
pg_prewarm
pg_repack
pg_stat_statements
pg_trgm
pg_visibility
plcoffee

plls
plperl
plpgsql

pltcl
plv8
postgis
postgis_tiger_geocoder
postgis_topology
postgres_fdw
sslinfo
tablefunc
test_parser
tsearch2
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp

The PYPI Python Package Hack

By Security, ToolsNo Comments

There is a brand new hack out there that has very quietly affected many of people.  Malicious developers uploaded slightly misspelled library names in Python’s package installer PyPi. Prominent examples include urllib vs. urrlib3, bzip vs. bzip2, etc.). These packages contain the exact same code as their upstream package thus their functionality is the same, but the installation script, setup.py, is modified to include a malicious (but relatively benign) code. It is very similar to what happens when you type in https://cnnn.com/ vs. https://cnn.com/

Reference  You can read a pretty good discussion here: https://news.ycombinator.com/item?id=15256121

What does PyPi do exactly?

PyPi (Python Package Index)  is a repository of software for the Python programming language. There are currently 117,189 packages installed that users can download. It is the default repository for python developers around the world. If you want to install a common library, you use a special tool called pip, which knows how to pull files down from the PyPi.

What can you do about it?

1. Run this simple one-page python code to check for bad packages. Ref: https://github.com/williamforbes/pypi_hacked_names

The output will look something like this in verbose mode.

pypi hacked list

Output from https://github.com/williamforbes/pypi_hacked_names

2. if you don’t have any of the bad packages, then there is no problem.  However, make sure you review all of your virtual environments and run the same script.

3. If you do have a potentially compromised library, don’t use pip uninstall as it runs code in the package. Just go to the directory and delete the package.

That’s it! This is a very insidious attack. Will keep tracking this at PyPi to see if we can help protect users.

Branding Your Company Part 2: Finding Our Why | Capabilities Flyer

By MarketingNo Comments

Our branding strategy played a major role when we began to apply it to our new capabilities flyer. Bytelion had grown both in number and in personality since the previous flyer. Recent hires brought great energy into the company, and we wanted to share that fresh energy.

screen-shot-2017-09-05-at-4-43-23-pm

Question Your Team

From experienced employees to our student interns who just started, we interviewed a broad range of team members to find our “why.” It was important to hear from multiple employees to gather an accurate documentation of our company’s voice. We asked them, why do you come to work each day? What do you hope to accomplish at our company? What do you bring to the table that no one else can? Each employee talked about different aspects of our company. Each expressed what their work meant to them. Many employees talked about their unique passions. Whether their passion was for coding, project managing, designing, or even blogging, we discovered what united these different interests was the love to tackle challenging difficult problems. By the time we finished, we had pages of content. It was starting to look overwhelming, but we decided to continue and find common a theme.

screen-shot-2017-09-07-at-3-49-45-pm

The Writing Process

The hard part was stitching together each individual’s thoughts into one comprehensive paragraph. It took many (and we mean many) attempts to slim our collective ideas down into one paragraph. What we found difficult was how effortless it was to start using long winded sentences that essentially were nothing but fluff. Returning to our goal, our “Why” sounded like an “It” was collective voice kept us grounded. To stay focused, we frequently asked, could anyone at our company recite this and be genuine about it?

screen-shot-2017-09-08-at-9-49-51-am

Revisions

What we discovered is that it takes multiple revisions to write your company’s true passions and visions onto paper. We learned a lot, but most importantly to not be afraid to eliminate the elaborate phrases that don’t have meaning or value. In some cases, we had to completely start over to find the right set of words that encapsulate the spirit of our team. We concluded that the broad range of expertise our employees share is the desire for excellence, passion for perseverance while fostering individuality.

Review! (Again and again)

Once we established who our team was, we reassessed our flyer. The purpose of the capabilities flyer was to share Bytelion’s abilities with potential clients. What we had, was a great summary of our team, but our resume did not truly stand out for our clients. Then it clicked, our ‘why‘ was our clients. So what if we were passionate about coding? Why does it matter to our clients what our personal interests are? What they need to know is what we as a company can offer them. Do we have the ability to make the idea a reality?

If our flyer could not prove that we could provide something of value, we would be wasting their time. So, we decided to change who we were addressing. It was no longer about us; it was about our clients, -the people who need to understand who our company is.  We decided that the needs of our clients should not only reflect all aspects of our company but also be the core of our brand.

screen-shot-2017-09-14-at-3-01-29-pm

screen-shot-2017-09-14-at-3-01-38-pmFinal Thoughts:

In conclusion, branding goes far beyond a simple name and a logo.  It is the legacy that is carried on long after others have moved on. The development of the brand can be profound due to its complexity. It should embrace all aspects of your company, but when applying your brand to your work, make sure that you are speaking to your clients. Don’t let the presence of your brand overwhelm your product. If done correctly, with a well-developed brand you will gain broader recognition of your company. Through your brand, you can share your company’s positive attributes and stand out from the competition. Your customers will enjoy interacting with a company that goes far beyond their demands and expectations.  After all,”people don’t have relationships with products, they are loyal to brands.

How can I move my difficult development team to Agile?

By Agile3 Comments

How can I transition my team to Agile?

Development teams can be difficult and incredibly frustrating. Some developers believe that scrum is micromanagement and does not value transparency. Others are stuck in their ways and don’t want to change. Some development teams have had terrible agile leadership, dysfunctional project execution and therefore are far less than impressed with the entire Agile experience.

In this post, I will explain how you can guide the most difficult people through the process and make them a believer. Please note, each team is unique, which means each team requires a unique approach. If you want more information about Agile vs. Waterfall method, check out our previous post: Corporations Moving to Agile.

screen-shot-2017-09-05-at-1-24-20-pm

Become a self-taught expert

Before walking your team down the path of agile, make sure you are well read with some core agile development books. For a quick and insightful overview of the scrum process, I recommend Scrum: A Breathtakingly Brief and Agile Introduction.Team members can finish this book in under an hour. Youtube has a plethora of amazing videos like this one from Atlassian. If you prefer to read through the web, we highly recommend Mountain Goat Software (You are welcome Michael Cohn!). We have relied on their interpretation of agile roles and techniques the most. To understand agile, it is a good idea to see both sides of the story, Google “Agile sucks” or “why we quit scrum” to understand the objections.

  • Pros:  Simple, easy, low-cost.
  • Cons: Won’t pick up on many of the nuances that only real experience provides.

Demonstrate Leadership

Sit down with your team and discuss exactly why you are moving to agile. Explain how the process works, what the benefits are, and listen to their problems and concerns. Bring up your research from why “agile sucks” early on so they are aware that you understand how they might feel. You don’t have to be a developer to command the respect of your troops. You do, however, have to understand their point of view to be able to work with them. Believe it or not, software development, like product fit, involves human empathy. So try walking in someone else’s shoes.

  • Pros: Lots!
  • Cons: None. Time spent on this pays off in the (very!) near future.

screen-shot-2017-09-05-at-1-26-17-pm

Get Help: Hire An Agile Coach

There is an industry of Agile coaches that will work with your organization to spot problems, collaborate with product managers to “modify” some less desirable behaviors. Then turn the pressure on for development teams to get the most out of them.  Agile coaches have varying degrees of expertise, so you must be careful in your vetting process.  One of the best we have found is the team at Project Cooks.

screen-shot-2017-09-05-at-1-29-23-pm

Get Help: Hands on Agile Hybrid Training

If you want to train your development team, another reliable option is to have your team co-locate with a software services company that has a mixture of software development and agile training. This emerging model can be found in New York City’s Pivotal Labs. Your team works with theirs for about four months while building a product using Agile techniques. At the end of the four months, your team is capable of working out of your offices with a full and practical understanding of Agile development. Bytelion is currently implementing this model in Baltimore/Carroll County Maryland.

  • Pros: Your team works side by side with Agile experts.
  • Cons: Expensive model, Team must travel.

screen-shot-2017-09-05-at-1-31-32-pmFire Your Way Out

Let’s face it; sometimes you are going to work with some pretty difficult people. No matter what you do, they will not change. There are times that you won’t be recognized as a strong leader.  No matter how effective you are as a product owner, there can be an impediment to the relationship that will make you less efficient.  If you have either of these scenarios, it is best to cut your losses and find the right people who will fit your organization and culture of openness and accountability.

  • Pros: Confidence that you have hired the right team.
  • Cons: You will have to shed people with domain knowledge and invest in new people.

screen-shot-2017-09-05-at-1-33-22-pm

Formal Certification

You may want to consider a Scrum workshop to certify all members of your organization. These can be pretty expensive, but the benefits should far outweigh the cost. You can find team workshops/courses at scrum.org and scrumalliance.org. For more details the two, please check out our comparison.

  • Pros: All principles are covered, team has the same standard
  • Cons: Knowledge may be superficial,  time away from the office.

screen-shot-2017-09-05-at-1-34-58-pm

Final Thoughts:

Having the right Agile team and culture is critical to your product line. We hope that these options are helpful to you as you move forward. As always, nothing beats engaging at networking events to meet other leaders including conferences and events to hear how they solved their problems.

If you were curious about Bytelion’s agile development process, we are happy to chat.
Feel free to email us at info@bytelion.com

 

What are the benefits of a Single Page App?

By DevelopmentNo Comments
A Single Page App (SPA) is a type of web application for fast, responsive, and easy-to-maintain websites. This can benefit any entrepreneur who needs to develop a fast website for their clients. A SPA loads a single file and builds on that singular file as the user traverses your site. 

What does this mean for you?

Faster and more efficient applications compared to traditional websites.
How is this possible? Well, for most traditional websites, whole pages are loaded and reloaded continuously which causes a slow, frustrating user experience and also places unnecessary strain on your server. SPAs quickly solve this problem by only loading small entities of a web page at a time. By utilizing a SPA, you are essentially decreasing the server load and increasing site speed for a better user experience. This blog article discusses the time loading difference between traditional web applications and Single Page Applications with Angular JS.
singular page app

An example of technology used to build single page applications is AngularJS which is a Front-End Javascript Framework. Think of AngularJS as the scaffolding that surrounds your new website. Preferhired is an example of a single page app

 

It provides the fast and efficient functionality that gives your website the edge over outdated web page development.

singular page app

Web Applications

The term “Web Application” may confuse some and with good reason. When the average person hears the term “app,” they usually think of phone apps. This is a common misconception that comes with web applications. Gmail is one of the most commonly used and well-known web apps, but most wouldn’t know it’s a single page web application built with AngularJS. Single page apps are becoming the new standard for the modern web. Using these practices increases the efficiency of development by ensuring you write less code that does more. This not only increases development but more importantly, improves your user’s experience while they use your website.

Single Page Apps and SEO

Nothing is flawless, and single-page-apps are no exception to that rule. These types of web applications aren’t known for being the most friendly to search engines. The “single page” aspect of the site causes search engines to do a little more work and requires a helping hand before they can grab what you need them to. But no need to worry; though right out of the box SPAs are not favored for SEO, they are still configurable to do just that. All it takes is a little finesse on our end, and you’ll be at the top of Google search results in no time.

The result?

Website users will attest to a flawless and efficient user experience which leads to higher user retention and contributes to your business’ success. Here are a couple of our favorite single page applications: https://everylastdrop.co.uk;  https://www.panarama.fr/ ; https://www.officeline.se/kampanj/  For further reading, this article goes into depth about the advantages of SPAs.

 

What are Customer Personas? And How can they Help my Business?

By Marketing, Tips & TutorialsOne Comment
So you are starting a new business or maybe a new product line for your company. You know that time is ticking and you need to get your product out in front of customers soon. It’s a pretty daunting task that requires answering some challenging, time-consuming questions. You wonder, Where should you sell? Who should you sell to? And how will they find your product?

screen-shot-2016-07-13-at-4-26-58-pm-750x490

There’s a strong likelihood that these questions have been tormenting you, and you probably have completed a little research on competitors to find these answers in your branding strategy. I understand how hard it is to come up with a concrete solution when there are so many variables. But you need clarity to make your business successful, so how do you find the answer to these questions? Research, research, research, and more research! More specifically, user research. To discover who your customers are, where they will buy your product, and how they will find it, you need to know what your customers like, what kind of lives they lead, and what drives them to purchase.

So what’s the solution?

Customer Personas! They help you define and target the right audience for your product or business so you can focus on what matters to your clients. This will lead to a better product, better sales, and a bigger profit!

What are Customer Personas?

Customer personas are made up of research of various attributes of actual individuals which are condensed into a fictitious representation. It may seem odd that a persona is a fictional representation of a person to rather than a real person, but it allows you to empathize with your whole demographic instead of only one customer.

Benefits to Using a Persona:
  • The Customer’s needs and wants become clear
  • Provides a benchmark for your team to fall back on when questions arise
  • Marketing content can be relatable to the goals and needs of our customers
  • When going to design and build your product or business, you know what your customers desire from a product
  • It can tie into the why or what for any aspect of your business

What to Research:

  • Demographics
  • User Behavior
  • The User’s Goals
  • User Needs
  • User Frustrations
  • Related Skills

Those are the main points of what you need to know about your customers, but you may want to know more, depending on your product. For example, if your product is a mobile app, you need to understand not only the technical skills of your users but the phones they use and how often they use them. To learn how to research and build a customer persona, Hubspot has a great article with a template you can download.

Customer Persona Example:

screen-shot-2017-07-27-at-10-46-37-amConclusion

Brainstorming valuable ideas can only truly happen if your team understands the customers and the problem you are solving.  If you put in the time to research your customers and figure out what motivates them, you generate incredible insight. Customer Personas will give you and your team the ability to answer questions about your business because you will have a better understanding of your clients. When it comes to customer personas, it really is the more you know.

If you wanted some expert help with generating your personas, contact us at info@bytelion.com for help!  

Halie was featured as a mentor in our Intern Blog check it out!

The Holy Grail of Investment: How Micro-Traction can Verify your App’s Success

By InnovatorsNo Comments
You have a new idea that you want to get across to the higher ups in your company. You need to come across with not only proof of concept, but proof that your idea is indeed profitable. Furthermore, your idea needs to be consistently profitable in the future and not need too much maintenance to maintain profitability. How can you convince your boss, or rather, your investor to spend their dollars on your idea? 

 

mindofavc

All entrepreneurs, company owners, and investors are seeking the holy grail of investment: traction. Traction is a source of influence, a measure of success, and, most importantly, the golden ticket to favorable capital raises. The definition of traction is market uptake. That is, traction refers to the customer progress rather than company development. As disciples of the lean startup approach, we live and breathe traction. The new buzz term Micro-Traction is a way in which you can prove yourself early to investors and reduce the risks when building a larger network of customers.  

Think like a VC

Take a break for a second from your normal life and think like a Venture Capitalist. Venture capitalists are investors who either provide capital for a start up ventures or support small companies that wish to grow but may not have the means to. What are their goals? Members of the VC community are looking to make money. They need to assume a lot of risk in a calculated manner. To do this, they use both metrics AND soft data points to help them determine where to invest. Experienced VCs are comfortable with saying “no.” They hear many terrible ideas on a daily basis by people who cannot deliver, and they must stay honest to the data to maximize profit.

After thinking like a VC, get back to your normal life. Now you realize that it is your priority to gain trust and credibility as fast as possible.  

The VC Rule of Thumb

Bear in mind; investors will actively invest when the company/platform has reached 1M Users/ $1M Gross Monthly Income (GMI), and they acknowledge that the platform will scale. Therefore, solely reaching 1M Users/$1M of GMI is NOT sufficient unless it is paired with platform scalability. To reiterate, it is not enough to have attained $1M; you must also show that the road taken to reach that amount did not have frequent pitfalls and that the path ahead looks stable as well.

Showing Traction

Traction is measurable through Quantitative Market Demand: the act of determining that there is indeed enough happening in the market place. Traction has two important aspects: It proves demand and it scales.

What is a ‘Scalable’ method?

Scalable methods display slow but consistent rises in growth and are often high-risk practices. Non-Scalable methods show short, sharp, and even erratic developments in growth; these are typically low-risk methods.

milestones-that-get-investor-interest-traction-22-638

Some examples of Non-Scalable practices include temporary user/employee incentives, social media updates, blogging, and PR ‘stunts’ because they exemplify short-term profit instead of long-term. These Non-Scalable practices increase traffic, but the profit is only temporary. The attention you receive does not always continue to rise. Think of a Facebook update. A bunch of people may see it, and it will get a natural boost in site traffic for its first week. But in the subsequent week, however, the post will probably move down the timeline, thus reducing the site traffic.

True Scaling practices

Include Long Term Incentives/Rewards, Paid Acquisition (Advertisements, Paid Affiliates, etc.), Virality (Through Social Media), SEO (Search Engine Optimization), and Sales. We consider something to be scaled when it is receiving general customer love of the product.

untitled-designMicro-Traction

  • Micro-Traction is a mini campaign to prove scalability. When approaching an investor, you should remember that they are not interested in random surges of growth.
  • An investor wants to see continuous growth. They like LINES with precise trajectories, not aimless DOTS.
  • With Micro-Traction, we analyze the performance of a platform within a small time frame (typically 2-5 months).
  • screen-shot-2017-07-26-at-11-57-23-amThe goal is to display a continuous growth of 5% to 10%, week-over-week, based on a small initial revenue. This calms the investor’s concern of not reaching the ‘rule of thumb’ numbers [1M Users/ $1M GMI]. At this point, the investor is looking purely at the scalability aspect of the product instead of the Monthly Recurring Revenue.

Final Notes:

It is important to show as much evidence of traction as possible to prove the viability of your concept, app, or product. Remember, Non-Scaling practices are necessary for initial cash income / new users, but they are not long-term practices.

If you want to read more about Micro-Traction and Scaling, check out https://www.erickoester.com/

Still have more questions about how Micro-Traction and how it can verify your app’s success? Email us at info@bytelion.com or leave us a comment!