Header tag

Monday, 30 November 2015

Don't Make Me Think = Don't Make Me Read?

We all know (because we've all been told) that online selling must follow the eternal (pre 1990) mantra that 'less is more'.  Less clutter, less text and less mess means less confusion equals more clarity equals more sales.  Yet in the offline world, shop shelves are stacked with 23 different brands of toothpaste, 32 different types of shampoo, and aisles and aisles of goods.  And if you think the bricks-and-mortar model is dead, and you'd prefer a modern comparison:  why are Amazon's warehouse shelves so full of so many different types of identical products?  And why do they have so many web pages?


Ignoring that argument, we know less is more because if there's "more" then people will have to think about the product they're buying. And we know thinking is bad because there's a book about online usability called "Don't make me think," and in this era of online publishing and blogging, you must surely be a respected authority on a subject if you can get a book published.  We may not have read your book, but we've heard of it, and we know the title.  [Steve Krug is a respected authority, and was even before he wrote his book].

But could you imagine if this less-is-more attitude was taken a step further in the offline world?


Imagine going to a bricks-and-mortar store, reaching the checkout with your selection, and then making eye contact with the checkout assistant. He (or she) looks away, grabs your shopping off you; scans the barcodes and runs up the total, then looks at you. You look back. He points to the total displayed on the cash register. You reach for your credit card. He waves his hand towards the card machine.


You put your card in the machine. He does whatever it is they do on the cash register to make the magical words “Enter your PIN” appear. There’s brief delay, the words “Transaction approved” appear in black on green on the dot-matrix screen, the assistant hands you your receipt and without any further delay turns to face the next customer.

Delightful, isn’t it? After all, you bought your items and paid for it successfully, didn’t you?  And did you have to think?  Perhaps you would have preferred to use one of those self-service checkouts, complete with 'unexpected item in the bagging area'.

This is the epitome of decluttered pages, where removing anything and everything that isn’t part of the main purchase experience is the absolute aim and surely conversion improvements will follow.  As online analysts, we've trained our managers and superiors to think that less is more, that clutter is bad and that we should just get people to press the button and buy the stuff. However, I believe that kind of thinking is out-of-date and needs to be revisited.

Our visitors are intelligent people.  They are not all high-speed 'I'd buy this even quicker if you got out of my way' purchasers.  Some of them actually want to read about your product - its unique selling point, its benefits, why it's not the cheapest product you offer.  They want to view the specifications (Is it waterproof?  Is it dishwasher safe?) and they won't buy the product unless you reassure them that it's the one they want.  We can reduce our product specifications to icons (yes, it's ultra secure, and it's got central locking and built-in satnav) but if your icon isn't either well-known or intuitive, then you made things worse by removing the words "with a built-in satnav" and replacing them with a picture of ... well... a wifi point?  Have we have started to think (subconsciously) that we should just show glossy pictures of our products and that this would be enough?
 


Is text bad?  And is more text worse?  I don't think so - after all, you're reading this, and despite my best efforts, it's pretty text-heavy with only a couple of images thrown in to break up all these words.  I'm making some pretty heavy demands on you (to read this much text, paragraphed but largely unformatted), but you've stuck with me this far.  I know online selling is different from online reading, but if you've managed to read this much, then it's fair to assume you can read some sales copy on a web page for a product that you are genuinely interested in.

So, is less more?  I am calling for a more balanced approach towards website content. We need to understand that it isn't simply about "less" and "more".  It's about the right content in the right place, at the right time to support a visitor's intentions (which may be 'to buy the product' or may be 'to find the best one for me'.)  And having said this much, I'll stop.





Friday, 23 October 2015

Numbers 1,2,3,4,5 - 101 to 200

After recent posts, here's the second instalment of 'produce each number from 1 to 200 using 1,2,3,4,5 and basic maths functions'.  Here's the second half - from 101 to 200.

101 = (53*2) + (1+4)
102 = 51 * 2 * (4-3)
103 = 123 - (4 * 5)
104 = (25 * 4) + 1 + 3
105 = (4+3) * (2+1) * 5
106 = (54 * 2) - (3-1)
107 = (13 * 5) + 42
108 = (5^3 - 21) + 4
109 = 134 - 25
110 = (53 * 2) + (4*1)
111 = 135 - 24
112 = 132 - (4*5)
113 = (41 * 3) - (5*2)
114 = (54 + 3) * 2 * 1
115 = ((3 * 4 * 2) -1) *5
116 = (23 + 5 +1) *4
117 = (24 * 5) - (3*1)
118 = 125 - (3+4)
119 = 23 * 5 + (4 * 1)
120 = 1 * 2 * 3 * 4 * 5
121 = (2 * 3 * 4 * 5) + 1
122 = 154 -32
123 = 123 * (5 - 4)
124 = 134 - (2 * 5)
125 = (4^(5-1) / 2) - 3
126 = 125 + (4-3)
127 = 1 * 5^3 + (4-2)
128 = (35 * 4) - 12
129 = 153 - 24
130 = 5^3 + 4 + (2-1)
131 = (25 * 4) + 31
132 = (3! * 15) + 42
133 = (45 * 3) - (1 * 2)
134 = (2 * 5 * 13) + 4
135 = (45 * 3) * (2-1)
136 = ((45 + 1) * 3) -2
137 = (35 * 4) - (1 +2)
138 = (4^3 + 5) * 1 * 2
139 = 4! * 3! - (5 * (2-1))
140 = ((45 + 2) * 3) -1
141 = 135 + 4 + 2
142 = (52 * 3) - 14
143 = 135 +  (4 * 2)
144 = 142 + (5-3)
145 = 152 - (4 + 3)
146 = (4! * 3!) + 5 - (1+2)
147 = 153 - (4 + 2)
148 = (35 + 2) * 1 * 4
149 = (12 * 3 * 4) + 5
150 = 15 * (4 + (3*2))
151 = 145 + (3 * 2)
152 = (3^4 - 5) * 1 * 2
153 = (53 - 2) * (4-1) = 1! + 2! + 3! + 4! + 5!
154 = (5! + 34) * (2-1)
155 = 153 + (4-2)
156 = 1 * 4! * (5 + 3/2)
157 = (31 * 5) + (4/2)
158 = (2 * 3^4) - (5-1)
159 = 213 - 54
160 = 154 + (3 * 2)
161 = 153 + (4 * 2)
162 = 54 * 3 * (2-1)
163 = ((51 + 4) * 3) - 2
164 = 152 +  (4 * 3)
165 = (34 + (2-1)) * 5
166 = 5^3 + (42 -1)
167 = (34 * 5) + (1 * 2)
168 = 213 - 45
169 = 13^2 * (5-4)
170 = (4! * (5+2)) +  (3-1)
171 = (51 +2 + 4) * 3
172 = (45 -2) * (3 +1)
173 = (34 * 5) + 1 + 2
174 = 4! * 5 * (2-1)
175 = (3+4) * 25 * 1
176 = ((5! * 3/2) - 4) * 1
177 = 153 + 24
178 = 5! + (1 + 4!) * 2) + 3
179 = (3^2 * 4 * 5) -1
180 = 5 * 4 * 3^2 * 1
181 = (5 * 4 * 3^2) + 1
182 = 152 + 3! + 4!
183 = (54 * 3) + 21
184 = (5! * 3/2) + (4*1)
185 = 5! + 4^3 + (2-1)
186 = (5! + 4) * 3/2 * 1
187 = ((4^3) * (2+1)) - 5
188 = (32 * (5+1)) -4
189 = 31.5 * (4+2)
190 = (4! * (5+3)) - (1*2)
191 = (5 * 34) + 21
192 = 24 * (5+3) * 1
193 = 4! * (5*3) + 1
194 = (43 * 5) - 21
195 = (51 * 4) - 3^2
196 = (4 + 3)^2 * (5-1)
197 = ((52 -3) * 4) - 1
198 = (51 * 4) - (3*2)
199 = (51 * 4) - (3+2)
200 = (1 + 3 +4) * 25

I posted my results for 1-100 and my intention to post 101-200 on the freemathhelp forum (which I strongly recommend for any maths or logic problem or puzzle), along with a challenge to improve my answers with more elegant ones.  For example, using only basic maths function (no powers), and possibly answers which use the digits 1,2,3,4,5 in order.  One of the regular contributors there, Denis, took up my challenge and has produced solutions for 1-200 using the digits in correct order.  I had enough difficulty doing this with the digits in any order (occasionally stumbling on elegant solutions), but he's got the full set.  He's kindly shared his full solution with me, and permitted me to share it (after all, that's what problem solvers do), and that will be next time.











Tuesday, 29 September 2015

Numbers 1,2,3,4,5 from 1 to 200

Since pure and applied Maths are constantly expanding, it seems only fair that I should expand my tiny contribution to the field of puzzle solving.  My recent Maths posts have looked at the puzzle of making the numbers from 1 to 200 using only the four digits 1, 2, 3 and 4 and I've been very grateful for the support of the Maths community in solving this puzzle.  (1-100), (101-150), (151-200)

Extending this then, I set my mind to seeing if this can be done with the digits 1-5.  In some ways it's easier, in other ways it is more tricky. I've managed to solve for 1-200 (single-handedly, which suggests it's an easier task).  There is less need to employ factorials, and if I recall correctly, I've completed my solution without any decimals. 

Note
It is of course possible to take the four-number solution for (n-5) and attach a +5 at the end of the expression.  Or alternatively, any number between 121 and 320 can be achieved easily by adding 5! to the four-number solution. I have avoided these short-cuts (with one exception where I could not find an alternative - 178).

Here is part 1, going from 1 to 100:

1 = 1 * ((5+2)/(4+3))
2 = 1 + ((5+2)/(4+3))
3 = 3 * ((1+5)/(4+2))
4 = 4 * (1*5)/(2+3))
5 = 5 * ((4+1)/(2+3))
6 = (14*3) / (2+5)
7 = 35 / ((4+2) - 1)
8 = 32 / ((5+4) -1)
9 = (34+2) / (5-1)
10 = (1 + 24 + 5) / 3
11 = (15 - 4) * (3-2)
12 = 45/3 - (1+2)
13 = (4^2 - 5) + (3-1)
14 = (32/4) + 5 + 1
15 = (51-32) - 4
16 = (52 - 4) / (3 * 1)
17 = 25 - (4 + 3 + 1)
18 = 54/3 * (2-1)
19 = (54 + 1 + 2) / 3
20 = (42/3) + 5 + 1
21 = (54/3) + 1 + 2
22 = 32 - (1 + 5 + 4)
23 = (45 - 23) + 1
24 = 54/2 - (1*3)
25 = (52 + 4) -31
26 = (14 * (3/2)) + 5
27 = (53 -1) / (4-2)
28 = (54+2) / (3-1)
29 = (35-(4+2)) * 1
30 = (45 * 2)/(1 * 3)
31 = 5^2 + 4 + (2*1)
32 = (51+4) - 23
33 = 24 + 1+ 5 + 3
34 = 2^5 + 1 + (4-3)
35 = (152/4) -3
36 = (54+3) -21
37 = (5+1)^2 + (4-3)
38 = (132/4) + 5
39 = 1* 4^3 - 5^2
40 = 5! / ((12+3) / (1+4))
41 = (52+3) - 14
42 = (4*5*2) + (3-1)
43 = (125+4) /3
44 = (45*1) + (3-2)
45 = (54 - 3^2) * 1
46 = ((5*4) + (3*1)) * 2
47 = (35+14) -2
48 = (45+3) * (2-1)
49 = ((5+4+1)-3)^2
50 = (25*4)/(3-1)
51 = 34 + 15 + 2
52 = (4*5*1)+32
53 = (34*2) - 15
54 = 3^2 + 45 * 1
55 = (15*4) - (3+2)
56 = (2*4) * (5 + (3-1))
57 = (13*5) - (2*4)
58 = (25+4) * (3-1)
59 = (3*4*5) - (2-1)
60 = 1 + 24 + 35
61 = (1* 4^3) - (5-2)
62 = 13*4 + (2*5)
63 = (34 * 2) - (5*1)
64 = 3^4 - (15 + 2)
65 = (54 + 13) -2
66 = (35 * 2) - (4 *1)
67 = (24*3) - (5*1)
68 = (42+31) - 5
69 = 132 - 54
70 = (25 * 3) - (1*4)
71 = (43 * 2) -15
72 = (34*2) + (5-1)
73 = 3^4 - (5+2+1)
74 = 4^3 + (1 + 5 + 2)
75 = (35*2) + 1 + 4
76 = ((35 + 4) -1) * 2
77 = (3+4) * ((5*2) +1)
78 = (25 * 3) + (4-1)
79 = ((5^2) * 3))+(4*1)
80 = (2*41) - (5-3)
81 = (5+4) * 3^2 * 1
82 = 134 - 52
83 = (4^2 * 5) + (3*1)
84 = (35 * 2) + 14
85 = (5! - 32) - (4-1)
86 = (21 * 4) + (5-3)
87 = 54 + 31 + 2
88 = (45 * 2) - (3-1)
89 = (13 * 5) + 24
90 = (41 + 52) - 3
91 = 13 * ((5+4)-2)
92 = (45 * 2) + (3-1)
93 = (14 * 5) + 23
94 = (45 * 2) + 1 + 3
95 = (51 * 2) - (3+4)
96 = (45 + 3) * 1 * 2
97 = (25 * 4) - (3 * 1)
98 = (41 * 3) - 25
99 = (21 * 4) + (3 * 5)
100 = ((53 - 4) + 1) * 2

Next time: 101 - 200. 





Thursday, 3 September 2015

Numbers 1,2,3,4 from 151 to 200

After my previous posts on using the digits 1,2,3,4 and mathematical operators (which, by the way, have become increasingly creative and powerful) to create the numbers 1-50, then 51-100 and 101 to 150, I'd like to present a team effort on the numbers from 151 to 200.  I didn't think it was possible.  In fact, I very much doubt that the authors of the maths textbook that posed the original idea thought it would be possible.  Nonetheless, here it is:  use the digits 1,2,3,4 and any mathematical operators you care to name to produce the totals from 151 to 200.

Credit to Denis from the freemathhelp forum for his work on this, providing the vast majority of the results and taking the problem way beyond its original scope.  Major credit also to Skipjack for providing the solutions marked with an asterisk.

To clarify, r(.1) = repeating decimal.

151: (4! + 3!) / .2 + 1
152: (1 + 4)! + 32
153: 34 / 2 / r(.1)
154: 2^4 / .1 - 3!
155: 31 * 2 / .4
156:4! * 3! + 12
157: 314 / 2
158: 3!! * .2 + 14
159: 3!! / 4 - 21
160: 32 * (1 + 4)
161: 3^4 * 2 - 1
162: 3^4 * 2 * 1
163: 3^4 * 2 + 1
164: (3! - 2) * 41
165: 4! + 3! + 21
*166: 4! * (3! + 1) - 2
167: 13^2 - SQRT(4)
168: 14 * 3! * 2
169: 13^(4 - 2)
170: 34 / .2 * 1
171: 13^2 + SQRT(4)
172 = .1^(-2) + 3 * 4!
173: 13^2 + 4
*174: 3! * (4! + 1 / .2)
175: 3!! / 4 - 1 / .2
*176: 4! / .1 - 2^3!
177: 3!! / 4 - 1 - 2
178: 3!! / 4 - 1 * 2
179: 3!! / 4 + 1 - 2
180: 3!! / 4 * (2 - 1)
181: 3!! / 4 - 1 + 2
182: 3!! / 4 + 1 * 2
183: 3!! / 4 + 1 + 2
184: 3!! * .2 + 4 / .1
185: 3!! * .2 + 41
186: (2 + 4) * 31
*187: (4! - 3) / r(.1) - 2
188 = (.1^(-2) - 3!) * SQRT(4)
189: 213 - 4!
190: 14^2 - 3!
191: 4! * 2^3 - 1
192: 3!! / 4 + 12
193: 14^2 - 3
194: 4 / .1 / .2 - 3!
195 = (4! - 2) / r(.1) - 3
*196: 4 * (3! + 1)^2
197: 4 / .1 / .2 - 3
198 = (3! * 4 - 2) / r(.1)
199: 14^2 + 3
200: (2 + 3) * 4 / .1

Monday, 17 August 2015

What happens if your test wins?

Online testing can be difficult, and getting a winner can be especially hard.  But what happens when your test wins?  Do you have a plan in place?


When a test loses, we tend to analyse the results more carefully than when it wins - to quote Wikipedia's entry on loss aversion and prospect theory, "Losses hurt more than gains feel good."  And if a test loses, there's no immediate action required (apart from switching the test off).  But if it wins, then there'll be the follow-up questions "Why did it win?" (occasionally) and "Can we implement it?" (almost 100% of the time).


The easiest way to implement a test winner is to use your testing tool to simply transfer 100% of traffic to the winning recipe, and a number of web optimisation professionals that I've spoken to use this process.  It's straightforward, However, there are a number of potential drawbacks to this, which you may need to consider:

-If you're using the testing tool to support a winning implementation, you can't use that testing code for further tests.
-In order to display the winner, you'll be relying on a server call to and from the testing tool server (which may slow down page load time), 
-If your contract with your test provider means that you're billed on server calls, you'll be incurring a fee each time the page loads (probably not significant compared to your total revenue and income, but something you may need to consider).

If these are significant issues for you to consider - and to be fair, they may not be important for you - then you'll need to have another route to getting your win implemented.  A good personal network within your company will certainly  help at this stage, as will some understanding of how your site is put together.  You don't need to be completely conversant in HTML, AJAX and JavaScript (although a basic understanding will certainly help you make valid contributions to discussions around implementation - and testing generally) but being able to see how your test win could be implemented will certainly help.

Here are some potentially easy implementations:

Swapping images - if you can show that lifestyle images work better than product-on-a-white-background - is easy enough, and can be implemented in an ongoing way.

Headlines - and text changes - should be straightforward, for hardcoded sites (who uses them?) and those that pull in content from a server-side include.
I know I've said this before (so I apologise, slightly) but CTAs are a great opportunity for implementable test wins.

Making changes or additions that can be incorporated into a template change and rolled out across the site - providing your test win should be implemented globally - is doable.

More complex implementations include redesigning pages - moving content around may be doable (again, this depends on the page template, so beware).

However, adding in new snippets of code on specific pages or totally redesigning a page; creating exceptions for specific pages is trickier, and is likely to cause your HTML/JS development team a headache.  

Don't forget: apart from avoiding negative changes to your site, and informing future design,  the return on investment of your testing program is only going to come from implemented winners.  If implementing your winner is going to take your development team three months to code, then that resource cost will have to be weighed against the revenue and conversion lifts from the implementation.  There's nothing wrong with so-called "simple" tests - you can build momentum that way - and when you start achieving wins, you can scale up and start asking for more development resource. 

Similar posts I've written about online testing

Getting an online testing program off the ground
Building Momentum in Online testing
How many of your tests win?

Tuesday, 11 August 2015

"A/B and MVT doesn't work"

A few months ago, I wrote about my experience of how modern power-tools just don't work, and how my power-drill wasn't working as well as other people said it would.  Well, today, I've just read that A/B and multivariate testing does not work on e-Commerce sites.  And I think it's true.  After all, I read it online, so it must be true.  And it matches with another recent experience I had:  it seems my car is broken.

I've had my car for a number of years - it's a very nice car and I was fortunate enough to have it from new.  It seems to drive well, but I've found that there are a number of fundamental issues with it.

The speedometer doesn't work.  The speed readout (both digital and analogue) agree with each other to about 1%, but the maximum speed on the speedo is 150 mph, and I've never managed to achieve those speeds. I took it for a drive recently, and even though my maximum speed was 60 mph, which I achieved for a short while, it still took me 30 mins to travel 20 miles.  No - the speedometer is just plain useless.

The miles per gallon calculation on the dashboard display is inaccurate, and certainly doesn't match the driver's guide (yes, I read the driver's guide).  It keeps changing all the time - what's that all about?  Even the 'average' fuel efficiency figure changes.  Seriously?  Another important part of my car is not working properly.  The dealer says that the figures are based on "average use" (whatever that is), and over a long period of time it will average out, but I'm not prepared to wait that long.  I want to see my driving data match the actual data all the time.

Wing mirror showing rear view.
The rear-view- and wing-mirrors only show me where I've just been, and - worse still - the image is reversed (transposed left to right, horizontally).  Honestly, just how am I supposed to make sense of the image - or see where I'm going - by looking in them?

I have my own satnav - it's a mid-range TomTom model, so it's good and reliable - but when I use it in my car, the satnav predicted arrival time is wrong.  Worse still, the satnav (which has full maps of Europe) won't integrate with the car's engine and drive it for me, so I am stuck with still having to actually drive the car myself.  And did I mention that the speed readout on the satnav doesn't match the car's speedometer?

I have driven the car in heavy traffic and along long stretches of motorways; it's covered country lanes and suburban housing estates - but it's only occasionally performed as well as it's supposed to in the manual, and it only rarely displays MPG figures that match my own forecasts and predictions.

To be honest, the only things that really work as I expect them to are the odometer (mileometer) and the clock.

I've tried monitoring engine temperature (the engine is cold when it starts in winter and is generally warmer in summer); oil pressure (unaffected); brake pad usage (it goes up when I travel through busier streets) and so on, but none of these metrics have been particularly useful at helping me drive better, faster or further.

I've attempted to forecast my future mileage, fuel efficiency and average speed based on the distances I covered yesterday, last week and last month.  It's almost impossible - it seems that it varies day by day.  Having said that, we went on a family holiday round North Wales last August, and I know we're not going this year, so I can expect a decrease in my average mileage for this year.  And my fuel efficiency will be lower because I won't be driving as many of the long, steady dual-carriageway runs that I did last year.  But these are just estimates really, based only on actual events that happened last year but won't happen this year.

My car is on a three-year lease, and the lease expires next summer.  I will probably swap it for a different car, but I'd like to know how that car's fuel efficiency and speed performance will compare with my current one.  Not just what the rear view mirrors look like, or the maximum speed on the speedometer, or even what the driver's manual says. 

Perhaps I should continue to drive as I usually do for the next 6-12 months, and ask someone to drive around, following me, in my potential purchase.  Then, next summer, maybe we can compare their actual performances and choose between keeping my car or swapping it?  Who knows?

I've used car performance as an analogy to online testing before:
How long to run an A/B test for? (2013)
Who holds the steering wheel? (2011)

Friday, 3 July 2015

Numbers 1,2,3,4 from 100 to 150

Following on from last month's post about achieving the numbers from 1 to 50 (and then from 1 to 100) using just the digits 1,2,3,4 and the maths operators + - / *  and powers and factorials, I've gone a step further (and possibly a step too far) - from 101 to 150.  This is proving far more difficult - as you would expect - and so far I've only managed around 30 of the 50.  If the numbers below are blank, it's because I haven't solved them yet :-)

Major thanks to Denis and to lookagain from the Free Math Help Forum for their many solutions and for helping me fill the gaps that I had.  Denis's solutions are in purple, lookagain's are indicated in blue.  You'll see that in two cases, we've had to use the FLOOR function (i.e. the result of an operation is rounded down to the nearest integer) - we're trying to avoid using this where possible.  If you have any better solutions, please let me know!

101 = (4! / .3) + 21

102 = 3! * (21-4)

103 =
4.1.2 + 3



104 = (4! + 2) * (3+1)
105 = 21 * [3 + SQRT(4)]
106 = (3+2)! - 14
107 = 4!.213
108 = 4 * (3 ^ (2 + 1))
109 4!1.23!
110 = (31 + 4!) * 2
111= (1+4)! - 3^2
112 = (1+3!) *4^2
113 = (4! / .2) -1 - 3!
114 = (1+4)! – (3 * 2)
115 = (1+4)! – (3 + 2)
116 = (3+2)! – (1 * 4)
117 = (3+2)! – (4 - 1)
118 = 124 - 3!
119 = (4+1)! – (3 - 2)
120 = (4+1)! * (3 - 2)
121 = (4+1)! + (3 - 2)
122 = (3! * 21) – 4
123 = (42 – 1) * 3
124 = (3+2)! + (1 * 4)
125 = (1+4)! + 3 + 2
126 = 42 * 3 * 1
127 = (42 * 3) + 1
128 = 1 *(2 ^ (3+4))
129 = (42 + 1) * 3
130 = (3! * 21) + 4
131 = 1+4!.2+3!
132 = (31 + 2) * 4
133 = 4! / .2  + 13
134 = (3+2)! + 14
135 = (21+4!) * 3
136 = 132 + 4
137 = FLOOR (412/3)
138 = (24 - 1) * 3!
139 = 142 - 3  
140 = (1 + 3 + 4!) / .2
141 = (3! * 4!) – (2 + 1)
142 = (3! * 4!) – (2 * 1)
143 = (3! * 4!)  – (2 - 1)
144 = (3 * 4) ^ (2 * 1) = (3 * 2)! / (4 + 1)
145 = (13^2) - 4!
146 = (3! * 4!) + (2 * 1)
147 = (3! * 4!) + 2 + 1
148 = 142 + 3!
149 = (4! + 3!) /0.2  - 1
150 = 3! * (21 + 4)